openstack實例存儲分區的構建方案
對於在openstack的實例中做存儲,不管是做cinder還是swift首先就是要解決分區問題。今天在openstack的實例中構建swift存儲是就就遇到這樣的問題。對於分區我們可以使用一下的幾種方案:
構建共享存儲,或者做iscsi存儲服務器等
使用實例自帶的硬盤進行分區
使用迴環設備作爲服務器的存儲設備
在本地的服務器中構建swift使用openstack的雲硬盤將其掛載至所需的實例中。(還未做測試,只是一種方案)
所用的文件系統官方推薦使用xfs。
接下來就是具體的實施過程:
第一條命令:if=/dev/zero表示空輸入,即自動填充0;of= /srv/swift-disk表示輸出到指定文件;bs=1024表示同時設置讀入/輸出的塊大小(字節),即每次讀入/輸出1024字節的數據塊;count=0表示拷貝0個塊,塊大小由bs指定;seek=15000000從輸出文件開頭跳過15000000個塊後再開始複製。第一條命令的結果是創建了一個15000000*1024字節大小的文件(約15GB,未自動填充0),爲創建迴環設備做準備,這裏我的實例總共爲30G,因此分這麼大。用戶可以根據自己的實際情況進行設定。
第二條命令:.xfs表示創建的是XFS格式的迴環設備;-i size=1024,當數據小於1024KB時,寫入inode中,當數據大於1024KB時,寫入block中,默認值爲256KB;還可以考慮設置 -l size=128m,可顯著提升XFS文件系統刪除文件、拷貝文件等操作的速度,但需要大內存的支持,默認值的是10m。第二條命令的結果是在上述文件的基礎上創建了XFS迴環設備。
1. 創建存儲文件夾。
# mkdir /srv/
2.在所創建的存儲文件夾中創建我們上面所說的XFS文件格式,來構建迴環設備。
# dd if=/dev/zero of=/srv/swift-disk bs=1024 count=0 seek=15000000 # mkfs.xfs -f -i size=1024 /srv/swift-disk
3.將所創建好的迴環設備寫入開機掛載當中,使其進行開機自動掛載。
#vi /etc/fstab #/srv/swift-disk /srv/node/sdb1 xfs loop,noatime,nodiratime,nobarrier,logbufs=8 0 0
4.創建迴環設備的掛載點,並對其進行掛載。
# mkdir -p /srv/node/sda4 # mount /srv/node/sda4
5.添加掛載文件的所屬用戶和所屬組爲root
# chown -R root:root /srv/node
這裏需要說的一點就是dd命令。關鍵是要對dd命令進行學習。