總體流程:
初始化擦除磁盤 -> 建立磁盤池配置文件 -> warpdrive掛磁盤池
具體步驟:
1、準備兩塊磁盤(如dev/sdb1、dev/sdc1),用wipefs命令擦除磁盤。
wipefs -a /dev/sdb1
wipefs -a /dev/sdc1
如果擦除失敗則可用dd命令暴力初始化,但在用dd命令之前請務必將兩塊磁盤unmount掉,否則你的磁盤會瞬間爆炸,直接到64Z空間的大小。umount掉dev/sdb1、dev/sdc1後,執行下列命令:
dd if=/dev/zero of=/dev/sdb1 bs=512 count=2048
dd if=/dev/zero of=/dev/sdc1 bs=512 count=2048
2、建立磁盤池配置文件
# gold.yml文件
"name": "gold"
"driverName" : "devicemapper"
"thinPool":
"fileSystem" : "ext4"
"type" : "Linear"
"devices":
- "/dev/sdb1"
# silver.yml文件
"name": "silver"
"driverName" : "devicemapper"
"thinPool":
"fileSystem" : "ext4"
"type" : "Linear"
"devices":
- "/dev/sdc1"
目前建議配置存儲池驅動:devicemapper 。它支持xfs和ext4兩種文件系統。在type屬性裏我們可以選擇磁盤池存儲格式,有Linear,Stripe,SoftRaid1,SoftRaid5。
Linear格式寫入單塊磁 盤,效率較高,最少需要一塊磁盤;
Stripe要求配置多塊盤,寫入效率高 但是安全性低,最少需要兩塊磁盤;
SoftRaid1代表Raid1方式,安全性高但是空間利用率低,最少需要兩塊磁盤;
SoftRaid5代表Raid5方式,可保證數據安全性,同時確保一定的空間利用率,最少需要三塊磁盤。
因爲我們這裏是配兩個磁盤池,每個磁盤池僅有一塊磁盤,故直接指定存儲格式爲Liner即可。
3、執行配置命令。
warpdrive pool create -f {gold.yml路徑}
warpdrive pool create -f {silver.yml路徑}
如果只有一塊磁盤,且無法umount的時候
如果我們僅有一塊磁盤,但想配兩塊磁盤池,則可通過fdisk將磁盤分爲爲兩個區,再掛載,具體操作:
先將當前分區刪除,這樣整個磁盤空間就全騰出來了,接着new兩個分區,保存。
格式化新建的兩個分區/dev/sdc1、/dev/sdc2。
加下來再正常操作即可。
報create pv /dev/sdx failed:exit status5錯:
報錯如下:
原因:磁盤沒有完全被擦除。
解決方案:dd命令
dd if=/dev/zero of=/dev/sdc1 bs=512 count=2048
dd if=/dev/zero of=/dev/sdc2 bs=512 count=2048
之後就會顯示配置成功了。