線上書籍

Home

自建 samba + ZFS (snhpshot快照/任意還原點)檔案伺服器

建raidz1指令
zpool create vic1 raidz1 sdb sdc

建raidz2指令
zpool create vic1 raidz2 sdb sdc sdd


多顆硬碟簡便指令
zpool create -f vic1 raidz2 sd{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p}
但不建議你這樣用,因為硬碟代號常會跳動,請改用下面的指令

範例:使用16顆硬碟來建raidz2

這16顆硬碟我們要用它的wwn號來建立,但由於我們要建16顆硬碟,一個個查wwn號 copy和貼上 有點費時,因此就用了點小技巧

①.先列出清單
ls -l /dev/disk/by-id/ > list.txt
②.刪除分割區代號
主要查找 -part 此字串,整行刪掉
sed -in '/-part/d' list.txt
③.使用vim編輯
vim list.txt
刪掉ata和使用 ctrl+v 來刪掉前面的字串
④.使用sort排序
cat list.txt |sort -t ' ' -k 3 > list2.txt
⑤.再用vim進去修改
vim list2.txt
最後結果
/dev/disk/by-id/wwn-0x5000c500931909f1 -> ../../sda /dev/disk/by-id/wwn-0x5000c50093190d00 -> ../../sdb /dev/disk/by-id/wwn-0x5000c50093191702 -> ../../sdc /dev/disk/by-id/wwn-0x5000c5009316c6f7 -> ../../sdd /dev/disk/by-id/wwn-0x5000c50093190a06 -> ../../sde /dev/disk/by-id/wwn-0x5000c50093190a10 -> ../../sdf /dev/disk/by-id/wwn-0x5000c5009316ca57 -> ../../sdg /dev/disk/by-id/wwn-0x5000c500931910f4 -> ../../sdh /dev/disk/by-id/wwn-0x5000c50093196c9b -> ../../sdi /dev/disk/by-id/wwn-0x5000c5009316c877 -> ../../sdj /dev/disk/by-id/wwn-0x5000c50093190678 -> ../../sdk /dev/disk/by-id/wwn-0x5000c50093190aa1 -> ../../sdl /dev/disk/by-id/wwn-0x5000c50093190b00 -> ../../sdm /dev/disk/by-id/wwn-0x5000c50093190664 -> ../../sdn /dev/disk/by-id/wwn-0x5000c5009316d32b -> ../../sdo /dev/disk/by-id/wwn-0x5000c50093190ec5 -> ../../sdp
上面的內容,進vim把後面的 ...給刪掉即可
最後要執行的指令如下,16顆硬碟分兩個群組
zpool create vic1 raidz2 /dev/disk/by-id/wwn-0x5000c500931909f1 /dev/disk/by-id/wwn-0x5000c50093190d00 /dev/disk/by-id/wwn-0x5000c50093191702 /dev/disk/by-id/wwn-0x5000c5009316c6f7 /dev/disk/by-id/wwn-0x5000c50093190a06 /dev/disk/by-id/wwn-0x5000c50093190a10 /dev/disk/by-id/wwn-0x5000c5009316ca57 /dev/disk/by-id/wwn-0x5000c500931910f4 zpool add vic1 raidz2 /dev/disk/by-id/wwn-0x5000c50093196c9b /dev/disk/by-id/wwn-0x5000c5009316c877 /dev/disk/by-id/wwn-0x5000c50093190678 /dev/disk/by-id/wwn-0x5000c50093190aa1 /dev/disk/by-id/wwn-0x5000c50093190b00 /dev/disk/by-id/wwn-0x5000c50093190664 /dev/disk/by-id/wwn-0x5000c5009316d32b /dev/disk/by-id/wwn-0x5000c50093190ec5


若要加SSD for cache用,指令範例
zpool add vic1 cache sdx
另外拿一顆硬碟當spare
zpool add vic1 spare sdx


參考資料:raidz擴充容量zfs extend disk


初學者看過來:
當你在用了ZFS一段時間之後,你可能會發現底下這兩個指令都可以建立資料夾
zfs create vic1/folder1
mkdir /vic1/folder1
這兩個指令都可以建 folder1 資料夾,看起來和使用上好象沒有什麼差別?
簡要說明如下:
mkdir 是linux底下的指令,它所建的資料夾沒有zfs的許多功能可用
zfs create 所建的資料夾是一個資料集(中文翻譯常沒有統一,因此請記它的英文Dataset),你可針對這個資料集做很多zfs特有功能的細部設定,如拍快照、壓縮、重覆資料刪除。