ZFS操作說明
限制zfs記憶體使用量
zfs status
zpool import —取得zpool資訊
zpool import zpool名稱 —回復zpool儲存池
zpool list —看有無zfs
zpool get freeing zpool名稱 --檢查已經釋放的zpool空間
cat /proc/spl/kstat/zfs/arcstats --檢視運行參數
/etc/modprobe.d/zfs.conf
options zfs zfs_arc_max=4299967296 --限制最高4GB(zfs建議至少4GB)
zfs set user quota@username=10gb --使用者配額(none則移除配額,groupquota為群組配額)
zfs get quota --列出配額
zfs set reservation=10G --zpool保留空間(none移除保留)
zfs get reservation --檢視保留空間
補充:因為zpool destroy並不會同步馬上釋放,所以可以用這個指令先看已經釋放了多少
zpool create pool名稱 /dev/sda(要加入的硬碟) —新增zpool
zpool create zpool名稱 mirror /dev/sda /dev/sdb —建立鏡射zpool
zpool add zpool名稱 raidz ada2s1 ada2s2 ada2s3 ada2s4(加入的硬碟)
補充:Raidz1 約等同 Raid5 允許一個HD掛
Raidz2 約等同 Raid6 允許兩個HD掛,但至少要4顆HD
Raidz3 允許三個HD掛
-o ashift=12 設定參數
-m 指定路徑
zfs create -o compression=on zpool名稱 --建立zpool 並實行壓縮
zfs create -o compression=lz4 zpool名稱 --建立zpool 並實行lz4壓縮
zfs set compression=on tank(儲存池名稱) —設定現有zpool的壓縮
zfs set compression=lz4 tank(儲存池名稱)—設定現有的zpool lz4壓縮(建議)
zpool destroy pool名稱 —取消zpool(不會做確認)
補充:若有快照需先刪除快照,否則需加 -r 強制刪除
zpool offline zpool名稱 ada2s2 —硬碟下線
zpool replace zpool名稱 ada2s2(舊的) ada3s1(新的) —更換新硬碟
zpool detach zpool名稱 /dev/sda —卸載硬碟
zpool attach zpool名稱 /dev/sdb(原有) /dev/sda(新硬碟) —加入新裝置(變Raid1)
zpool status —詳細狀態檢視
zpool clear -F zpool名稱 --修復zpool
zfs set compression=on zpool名稱 —對Zpool使用壓縮
zfs set compression=lz4 zpool名稱 —對Zpool使用lz4壓縮
zpool upgrade tank —更新zpool版本
zfs get compression —檢視壓縮狀況
zfs get compressratio—壓縮比(越高越好)
zfs rename (原名稱) (新名稱)
補充:ubuntu 需要先umount該區後才能更名
zfs diff ---檔案比較
zfs snapshot zpool名稱@快照名稱 --建立快照(可用-r對子資料建立快照)
zfs destroy zpool名稱 --移除快照
zfs rename zpool原名稱 zpool新名稱 --更改快照名稱(可用-r對通常@後名稱做修改)
zfs rollback 快照名稱 --使用快照還原
zfs rollback 檔案路徑@快照名稱 --還原特定檔案或資料
zfs send zpoolA@快照名稱|zfs receive zpoolB(將zpoolA的快照內容轉至zpoolB,加-i作漸近式快照)
zfs send zpoolA@快照名稱 > zpoolB(將zpoolA的快照資料轉至zpoolB)
zfs list --列出所有檔案(沒有快照,可用 -t all全部列出或-t snapshot 僅列出快照)
#清除超級塊:(加-f強制執行)
zpool labelclear
#取得儲存池資訊:
zpool get all zpool名稱
#列出硬碟詳細列表:
zpool list -v
#設定自動擴展容量:
zpool set autoexpand=on zpool名稱
#增加L2ARC讀取快取:(使用remove做移除)
zpool add -f zpool名稱 cache /dev/disk/by-id/
#增加ZIL寫入快取:
zpool add zpool名稱 log /dev/disk/by-id/
#重新更新zpool.cache File
zpool set cachefile=/etc/zfs/zpool.cache zpool名稱
#查看 zpool 使用狀況
zpool iostat -v
#對 zpool 加上 Metadata 的 Special Device 加速讀取效能的方式
zpool add zpool名稱 special mirror /dev/nvme0n1 /dev/nvme1n1
· 說明:Metadata 是指 ZFS 儲存檔案系統資訊的資料, 由於讀取和寫入頻率較高,因此對系統效能有較大的影響。所以在一般 HDD 的 ZFS 加上 SSD 當 Special Device 就可以提高整體存取效能。不過需要注意的是 Special Device 如果損壞, 整個 zpool 就會毀損, 因此會將 special device 用兩個實體的 SSD 進行 mirror 保護來確保安全。另外 spool 設上 special device 是無法復原回沒有設定的狀態, 因此設定前要審慎。
· 語法 : zpool add <pool> special mirror <device1> <device2>
· Exp. 對 pbs-zpool 加上 /dev/nvme0n1 與 /dev/nvme1n1 當 special device
zpool iostat -v zpool名稱 —可以檢視實際寫入狀況
zfs scrub zpool名稱 —錯誤檢察
備註:如果要中止請加-s
容量擴充
逐步將新的大容量硬碟換上做同步後執行
zpool online -e pool-00 adaX adaX 即可
zfs新增使用swap
zfs create -V swap空間 zfs名稱/swap
zfs set checksum=off zfs名稱/swap
zfs set 自定義名稱:swap=on zfs名稱/swap
ll /dev/zvol/zfs名稱/ #檢查是否設定完成
mkswap -f /dev/zvol/zfs名稱/swap
swapon /dev/zvol/zfs名稱/swap
vim /etc/fstab
/dev/zvol/zfs名稱/swap none swap sw 0 0
限制zfs記憶體使用量
nano /etc/modprobe.d/zfs.conf
4GB:
options zfs zfs_arc_max=4294967296
6GB:
options zfs zfs_arc_max=6442450944
update-initramfs -u -k all
No Comments