光是建立ZFS pool是不夠的,如果要能使用rsync來定期備份unRaid Array,就必須對ZFS pool進行一些優化
今天實作各種優化 ZFS pool 、以及硬碟損壞修復陣列的方法
#ZFS pool 名稱 == testZFS
zfs set compression=lz4 testZFS
檔案系統壓縮中,ZFS預設可支援lz4/zle/gzip格式,它們之間的比較:
壓縮比gzip > zle > lz4
效能 lz4 > zle >gzip
畢竟ZFS磁碟陣列是在root模式底下建立的,這樣就會產生權限問題,我們可以適度調整權限來限制一般使用者讀取
mkdir /mnt/zfs/data
使用chmod讓一般使用者無法讀取
chmod 750 /mnt/zfs/data
建立ZFS資料夾
建立一般資料夾無法透過ZFS指令做參數調整
這時我們就要建立ZFS資料夾,來單獨管理,並且基本參數也會跟原來的zpool一樣
zfs create testZFS/test
設置參數
zfs create -o compression=gzip testZFS/test #調整壓縮格式
假如出現zfs已存在error,可以使用以下指令刪除ZFS資料夾
zfs destroy testZFS/test
ZFS也可建立快照,透過此功能可還原不小心刪除的資料
zfs snapshot testZFS@snapshot01 #testZFS為ZFS路徑、snapshot01為快照名稱
還原也是相似的指令
zfs rollback testZFS@snapshot01
當前建立鏡像陣列假如其中一顆壞掉了,應用以下指令可以輕鬆回復資料
利用以下指令查詢zpool狀態:
TIPS:不建議從DASHBOARD查詢,有時候第三方plugin會不給力
zpool status
假如 status:DEGRADED,說明陣列損壞,需要修復
記下提示損壞硬碟的disk-id後關機,換上新硬碟再開機
->
進入shell
再利用之前談過的找disk-id的方法找到新硬碟
ls /dev/disk/by-id
為ZFS Array替換新硬碟
zpool replace testZFS old-disk-id new-disk-id #disk-id自行替換
這樣就完工拉