zfs_重點

zfs set mountpoint=/目錄 tank #設定儲存池掛載點
zfs mount -a #掛載所有ZFS磁區:

zfs set sync=disabled zsysvol/share #測試過讀寫速度最快
zfs set sync=always zsysvol/share #Samba 很慢
zfs set sync=standard zsysvol/share

zfs clone zsysvol/share@today zsysvol/sharetoday # clone 快照為新的dataset,注意 快照不能刪
zfs list -r zsysvol/sharetoday
# 請參考 https://docs.freebsd.org/zh-tw/books/handbook/zfs/
zfs get origin zsysvol/sharetoday #查看原始 zfs clone 祖的資料集
zfs promote zsysvol/sharetoday #提升 clone 副本為獨立資料集

zfs rename zsysvol/oldname zsysvol/newname #zfs dateset 更名

zfs set primarycache=none rpool #關閉ARC快取:

zpool add zsysvol cache da0s1 #加入cache
zpool remove zsysvol da0s1 #移除cache
zpool set autoexpand=on tank #設定自動擴展容量
zpool get fragmentation #取得碎片化狀態
zpool labelclear #清除超級塊:

zfs rollback zsysvol/vm/pve-1@test #回滾快照: 選填 -r 遞迴子目錄

zfs create -o compression=on tank(儲存池名稱) # 壓縮打開
zfs create -o compression=lz4 tank(儲存池名稱) #新建儲存池並開啟lz4 壓縮功能(建議使用-但會慢適用大儲存池)
zfs set compression=lz4 tank(儲存池名稱) #設定現有儲存池為lz4壓縮
zfs get compression #查詢現有儲存池的壓縮方式
zfs get compressratio #查看壓縮率(越大越好,基本1.00x)
註:Proxmox 大部分的pool 皆可以開啟lz4壓縮功能唯獨 rpool/swap 請使用zle壓縮加速勿使用lz4

如果遇到cannot create ‘tank(儲存池名稱)‘: pool must be upgraded to set this property or value ,則為需要更新zpool 版本使用以下指令更新:
zpool upgrade tank
後即可可用

zfs 備份 -檔案方式
1.zfs snapshot zsysvol/share@today_bak1 #必做第一步
2.zfs send zsysvol/share@today_bak1 >/backup/backup1 #這裡指的是該快照中內含的所有資料,並非只有上次快照到該快照間的變更。
回置方法 zfs receive zsysvol/share_new< /backup/backup1 #會自動建立 zsysvol/share_new dataset_資料集

zfs 備份 -dataset to dataset
1.zfs snapshot zsysvol/share@today_bak1 #必做第一步
2.zfs send -v sysvol/share@today_bak1 | zfs receive backup/share@today_bak1#將資料從一個儲存池複製到另一個,傳輸完成後可以直接使用接收儲存池上的資料。一個資料集只可以被複製到另一個空的資料集。

zfs 備份 - 漸進式
1.zfs snapshot zsysvol/share@today_bak1 #必做第一步
2.zfs send -v -i sysvol/share@today_bak1 | zfs receive backup/share #使用 zfs send -i 並指定要用來產生漸進備份串流的快照,串流中只會含有做過更改的資料。這個動作只在接收端已經有初始快照時才可用。
zfs list -t all |grep share
backup/share 底下會出現 zsysvol/share@today_bak1
#若指定 -P,會一併複製資料集的屬性,這包含壓縮 (Compression) 設定,配額 (Quota) 及掛載點 (Mount point)。若指定 -R,會複製所有指定資料集的子資料集,及這些子資料集的所有屬性。可將傳送與接收自動化來定期使用第二個儲存池做備份

複製虛擬機虛擬磁碟檔 (zfs)
1.zfs snapshot vmimage/vm-109-disk-0@copy #先快照
2.zfs send -Rv vmimage/vm-109-disk-0@copy | zfs receive -F vmimage/vm-111-disk-0 #利用 Send 和 receive copy
3.zfs destroy vmimage/vm-109-disk-0@copy ; zfs destroy vmimage/vm-111-disk-0@copy #destroy 刪掉 2邊 快照

本篇發表於 proxmox。將永久鍊結加入書籤。

發表迴響

您的電子郵件位址並不會被公開。 必要欄位標記為 *

*

您可以使用這些 HTML 標籤與屬性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>