[FreeBSD] ZFS 快照(snapshot)

如果數據集(dataset)存在快照(snapshot),則不能銷毀該數據集。
如果已從快照創建克隆(Clone),則必須先銷毀克隆,才能銷毀快照。

  • 建立快照
    創建 tank/home/ahrens 的快照,其名稱為 friday。

    # zfs snapshot poolname/home/ahrens@friday
    # zfs snapshot zroot@20210922

    -r 選項可為所有後代文件系統創建快照。

    # zfs snapshot -r tank/home@now
    # zfs list -t snapshot
  • 檢查dataset
    #zfs list
  • 讓snapshot可讀
    # zfs set snapdir=visible poolname

    會出現/poolname/.zfs

  • 備份快照
    1. 將備份的 snapshot 放在本機的其他 zfs 區域:

    # zfs send mypool@backup1 > /backup/backup1 '會傳輸在快照 backup1 中所有的資料到儲存池 backup (備份以封存檔案儲存)
    # zfs send -v zroot@20210922 | zfs receive SSD/zroot_backup  '會在 SSD 的目錄新增 zroot_backup 的目錄來備份 zroot@20210922
    # zfs send -v zroot/ROOT/default@20210922 | zfs receive SSD/zroot_backup
    # df -h
    Filesystem                 Size    Used   Avail Capacity  Mounted on
    zroot                      9.6G    805M    8.8G     8%    /
    Seagate_3T                 2.7T     32k    2.7T     0%    /Seagate_3T
    Seagate_3T/zroot_backup    2.7T    805M    2.7T     0%    /Seagate_3T/zroot_backup
    # zfs list -t snapshot
    NAME                           USED  AVAIL  REFER  MOUNTPOINT
    Seagate_3T/zroot_backup@root    27K      -   805M  -
    zroot@root                     186K      -   805M  -

    2. 遠端備份:
    先讓 S HOST 使用rsa key登入D HOST

    # zfs send poolname@date | ssh (destination IP) zfs receive poolname/backup

    可用 netstat 1 觀察 D host狀況

  • 壓縮快照
    zfs 也提供將 snapshot 壓縮的功能:

    # zfs send pool/fs@snap | gzip > backupfile.gz
    # zfs send zroot@20210922 | gzip > /Backup/zroot_snap_20210922.gz
  • 增量備份
    # zfs send -i poolname@snap1 poolname@snap2 | ssh host2 zfs recv poolname/backup

    第一個參數是較早的快照,第二個參數是較晚的快照。在這種情況下,poolname/backup dataset必須存在,增量接收才能成功

  • 倒回快照 # zfs rollback
  • 刪除快照 # zfs destroy 快照名稱
  • # zfs list -H -o name -t snapshot | xargs -n1 zfs destroy '刪除所有的快照

參考資料:Oracle Solaris ZFS 管理指南
FreeBSD: Z 檔案系統 (ZFS)

Please follow and like us:

0 comments on “[FreeBSD] ZFS 快照(snapshot)

1 Pings/Trackbacks 於 "[FreeBSD] ZFS 快照(snapshot)"

發表迴響

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