1. 概要
2025年6月22日に、「zfs」フォーマットの「FreeBSD 14.2 RELEASE」をバックアップしたときの記録です。
2. 状況
シングルディスクで、おまかせでフォーマットした状態で、下記のようになっています。
df
Filesystem Size Used Avail Capacity Mounted on
zroot/ROOT/default 883G 377G 506G 43% /
devfs 1.0k 0B 1.0k 0% /dev
/dev/gpt/efiboot0 273M 1.4M 271M 1% /boot/efi
zroot 506G 98k 506G 0% /zroot
zroot/var/log 509G 3.0G 506G 1% /var/log
zroot/home 506G 98k 506G 0% /home
zroot/tmp 518G 12G 506G 2% /tmp
zroot/home/user_name 506G 617M 506G 0% /home/user_name
3. スナップショット作成
下記のスクリプトでスナップショットをとります。
#!/bin/sh
export today=`date "+%Y%m%d"`
zfs snapshot -r zroot@$today
スナップショットは、こうなりました。
zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
zroot@20250622 0B - 96K -
zroot/ROOT@20250622 0B - 96K -
zroot/ROOT/default@20250622 0B - 351G -
zroot/home@20250622 0B - 96K -
zroot/home/user_name@20250622 0B - 588M -
zroot/tmp@20250622 0B - 11.6G -
zroot/var@20250622 0B - 96K -
zroot/var/log@20250622 0B - 2.76G -
4. バックアップ
バックアップ用に、ディレクトリを作成しておきます。
mkdir -pv /mnt/zfs
mkdir -pv //usbmnt
ひとつは、バックアップ先の「USB」ディスクです。
マウントしておきます。
mount.exfat -o rw /dev/da0p2 //usbmnt
FUSE exfat 1.4.0 (libfuse2)
スナップショットをひとつずつマウントして、バックアップしていきます。
実際には不要のものもあります。
zroot@20250622 0B - 96K - 不要
zroot/ROOT@20250622 0B - 96K - 不要
zroot/ROOT/default@20250622 8.59M - 351G - 大量✓
zroot/home@20250622 0B - 96K - 不要
zroot/home/user_name@20250622 0B - 588M - 必要✓
zroot/tmp@20250622 0B - 11.6G - あるけど不要
zroot/var@20250622 0B - 96K - 不要
zroot/var/log@20250622 420K - 2.76G - あるけど不要
これに基づいて。
mount -t zfs zroot/home/user_name@20250622 /mnt/zfs
tar -cyf //usbmnt/home.user_name.20250622.tar.bz2 /mnt/zfs
umount /mnt/zfs
次が大物。
mount -t zfs zroot/ROOT/default@20250622 /mnt/zfs
tar -cyf //usbmnt/root.20250622.tar.bz2 /mnt/zfs
umount /mnt/zfs
まぁ、これで、数時間?10時間以上かかったような気がしますが、バックアップがとれました。
5. 大問題
しかし、この後に大問題が・・・。
どの時点でそのようになったのか、わからないのですが。
下記の 2 つのディレクトリがディレクトリごとなくなってしまったのです。
/usr/ports
/var/tmp
なんか、やっちゃっただわね。
この手順の前に、スナップショットをごっそり削除しちゃったのが問題だったのかもしれない。