1. 概要
「zfs」は、スナップショットをとることができます。
これは、便利ではありますが、逆に、スナップショットでないと、他のマシンへバックアップをとることはできません。
2. リスト
現在のスナップショットをリストするには。
zfs list -t snapshot
実は、一度もスナップショットを作成したことのないマシンでも。
NAME USED AVAIL REFER MOUNTPOINT
zroot/ROOT/default@2024-06-06-14:44:45-0 87.6M - 3.07G -
てな感じで表示されました。
これは、たぶん、「FreeBSD」で、自動的に作成されているものと思われます。
3. 作成
スナップショットは、下記の要領で作成します。
zfs snapshot マウントポイント?プール?@スナップショット名
用語として、マウントポイントちゅうのが正しいのか、プールというのが正しいのか、まだよくわかっていません(2024年7月3日)。
「df」コマンドで見るとこんな感じで。
$ df -H
Filesystem Size Used Avail Capacity Mounted on
zroot/ROOT/default 138G 5.7G 132G 4% /
devfs 1.0k 0B 1.0k 0% /dev
zroot/tmp 132G 3.8M 132G 0% /tmp
zroot/var/log 132G 258k 132G 0% /var/log
zroot/usr/ports 134G 1.8G 132G 1% /usr/ports
zroot 132G 98k 132G 0% /zroot
zroot/home 132G 98k 132G 0% /home
zroot/var/crash 132G 98k 132G 0% /var/crash
zroot/usr/src 133G 893M 132G 1% /usr/src
zroot/var/mail 132G 131k 132G 0% /var/mail
zroot/var/tmp 132G 98k 132G 0% /var/tmp
zroot/var/audit 132G 98k 132G 0% /var/audit
zroot/home/hogehoge 132G 111M 132G 0% /home/hogehoge
これを、「zfs list」で見るとこんな感じ。
$ zfs list
NAME USED AVAIL REFER MOUNTPOINT
zroot 8.08G 123G 96K /zroot
zroot/ROOT 5.43G 123G 96K none
zroot/ROOT/240606-144445 8K 123G 3.07G /
zroot/ROOT/default 5.43G 123G 5.35G /
zroot/home 106M 123G 96K /home
zroot/home/hogehoge 106M 123G 106M /home/hogehoge
zroot/tmp 3.66M 123G 3.66M /tmp
zroot/usr 2.54G 123G 96K /usr
zroot/usr/ports 1.71G 123G 1.71G /usr/ports
zroot/usr/src 852M 123G 852M /usr/src
zroot/var 764K 123G 96K /var
zroot/var/audit 96K 123G 96K /var/audit
zroot/var/crash 96K 123G 96K /var/crash
zroot/var/log 252K 123G 252K /var/log
zroot/var/mail 128K 123G 128K /var/mail
zroot/var/tmp 96K 123G 96K /var/tmp
こう見ると、「zroot/ROOT/default」ちゅうところにほぼ全部詰め込まれているように見えます。
ちゅうことで、下記のようにスナップショットを作成してみました。
zfs snapshot zroot/ROOT/default@snapshot
作成直後にリストしてみると。
$ zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
zroot/ROOT/default@2024-06-06-14:44:45-0 87.6M - 3.07G -
zroot/ROOT/default@snapshot 0B - 5.35G -
う~んと、作成直後なので、差分がないため「USED」が「0B」で、参照が「5.35GB」ちゅうことなのかな?
後で、マウントしてわかったのですが、全員の親玉は。
zroot
であり、結局このスナップショットを作成しても、その子供のスナップショットは、作成されないのでした。
4. まとめて作成
まとめて、作成するには、「-r」というオプションを使用します。
「-r」を使うと、作成するものの配下もまとめてスナップショットを作成します。
$ df -H
Filesystem Size Used Avail Capacity Mounted on
zroot/ROOT/default 140G 9.8G 131G 7% /
devfs 1.0k 0B 1.0k 0% /dev
zroot/tmp 131G 156k 131G 0% /tmp
zroot/var/log 131G 49M 131G 0% /var/log
zroot 131G 98k 131G 0% /zroot
zroot/home 131G 98k 131G 0% /home
zroot/home/hogehoge 131G 49M 131G 0% /home/hogehoge
てな状況で。
zfs snapshot -r zroot@snapshot
とやると。
$ zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
zroot@snapshot 0B - 96K -
zroot/ROOT@snapshot 0B - 96K -
zroot/ROOT/default@snapshot 360K - 9.16G -
zroot/home@snapshot 0B - 96K -
zroot/home/hogehoge@snapshot 0B - 46.5M -
zroot/tmp@snapshot 0B - 152K -
zroot/var@snapshot 0B - 96K -
zroot/var/log@snapshot 80K - 46.7M -
てなことになります。
5. 参考サイト
本ページは、下記のサイトを参考にさせていただきました。
「スナップショット · How to ZFS」