1 頁 (共 1 頁)

zfs

發表於 : 2017-10-05 21:03:46
yehlu
https://www.freebsd.org/doc/zh_TW/books ... start.html

先前的例子已經建立了 storage 儲存池 (zpool),現在這個例子會在該儲存池中建立一個新的檔案系統,名稱為 home:

# zfs create storage/home
可以設定開啟壓縮及保留目錄及檔案額外備份的功能:

# zfs set copies=2 storage/home
# zfs set compression=gzip storage/home
要讓這個空間作為使用者的新家目錄位置,需複製使用者資料到這個目錄並建立適合的符號連結 (Symbolic link):

# cp -rp /home/* /storage/home
# rm -rf /home /usr/home
# ln -s /storage/home /home
# ln -s /storage/home /usr/home
現在使用者的資料會儲存在新建立的 /storage/home,可以加入新使用者並登入該使用者來測試。

試著建立檔案系統快照 (Snapshot),稍後可用來還原 (Rollback):

# zfs snapshot storage/home@08-30-08
快照只可以使用整個檔案系統製作,無法使用各別目錄或檔案。

@ 字元用來區隔檔案系統名稱 (File system) 或磁碟區 (Volume) 名稱,若有重要的目錄意外被刪除,檔案系統可以備份然後還原到先前目錄還存在時的快照 (Snapshot):

# zfs rollback storage/home@08-30-08
要列出所有可用的快照,可在檔案系統的 .zfs/snapshot 目錄執行 ls,舉例來說,要查看先前已做的快照:

# ls /storage/home/.zfs/snapshot
也可以寫一個 Script 來對使用者資料做例行性的快照,但隨著時間快照可能消耗大量的磁碟空間。先前的快照可以使用指令移除:

# zfs destroy storage/home@08-30-08
在測試之後,便可讓 /storage/home 成為真正的 /home 使用此指令:

# zfs set mountpoint=/home storage/home
執行 df 興 mount 來確認系統現在是否以把檔案系統做為真正的 /home:

# mount
/dev/ad0s1a on / (ufs, local)
devfs on /dev (devfs, local)
/dev/ad0s1d on /usr (ufs, local, soft-updates)
storage on /storage (zfs, local)
storage/home on /home (zfs, local)
# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s1a 2026030 235240 1628708 13% /
devfs 1 1 0 100% /dev
/dev/ad0s1d 54098308 1032826 48737618 2% /usr
storage 26320512 0 26320512 0% /storage
storage/home 26320512 0 26320512 0% /home
這個動作完成 RAID-Z 最後的設定,有關已建立的檔案系統每日狀態更新可以做為 periodic(8) 的一部份在每天晚上執行。加入此行到 /etc/periodic.conf:

daily_status_zfs_enable="YES"