私はZFSでFreeBSDホストを実行しています。
zfs send
を使用して、リモートホストに一連の増分ZFSスナップショットイメージを保存しているとしましょう。
zfs send -i zpool/data/foo@04hoursago zpool/data/foo@10hoursago > /nfs/backups/foo.zfs
または、FTPサーバーを介してストリームを送信することもできます。
% ftp backup
ftp> put "| zfs send -i zpool/data/foo@04hoursago zpool/data/foo@10hoursago" /backups/foo.zfs
このリモートイメージを検証したいと思います。この画像に含まれているスナップショットのリストを印刷するか、オプションでチェックサムまたはその他のメタデータを抽出して、画像が有効であり、期待どおりのスナップショットが含まれていることを確認します。
画像ファイルをクエリして、中身を確認するにはどうすればよいですか?
zfs receive
(-nv
およびverbose
)フラグを使用してno-op
を試し、イメージ内のスナップショットを一覧表示しましたが、ライブシステムでは機能しない可能性があります。
# zfs receive -nv zpool < /nfs/backups/foo.zfs
cannot receive new filesystem stream: destination 'zpool' exists
must specify -F to overwrite it
# zfs receive -nv -F zpool < /nfs/backups/foo.zfs
cannot receive new filesystem stream: destination has snapshots (eg. zpool@09hoursago)
must destroy them to overwrite it
ZFSの最新バージョンでは、zstreamdump
という名前のコマンドが提供されています。このコマンドは、zfs send
を使用して作成された ストリームから人間が読める情報を提供 (または画像)できます。
これは、コマンドラインを使用した例です。
Host # zstreamdump < foo.zfs
BEGIN record
...
toname = zpool/data/foo@04hoursago
END checksum = 123123123123123123/123123123123123123/asdasdasdasdasd/zxczxczxczxczxc
...
Total write size = 54784 (0xd600)
FTPの例:
ftp> get /backups/foo.zfs "| zstreamdump"
BEGIN record
hdrtype = 1
...
toname = zpool/data/foo@04hoursago
END checksum = 123123123123123123/123123123123123123/asdasdasdasdasd/zxczxczxczxczxc
...
これにより、実際のスナップショットの名前とそのスナップショットのチェックサムがわかります。もちろん、その情報は別のレイヤーに存在するため、スナップショット内のファイルのリストは表示されません。
私は実際にzfs send -i
を使用して作成された増分スナップショットでこれを試していませんが、これは私が望むものかもしれません。
-nv
アプローチの問題は、-n
で受信したときに中間ファイルシステムが作成されないため、no-opフラグなしで機能している間は毎回失敗することだと思います(ただし、完全なファイルシステムには時間がかかる場合があります)。残念ながら、オンラインのほとんどのドキュメント/ブログはこのフラグを使用していないため、あなた(および私)のようにこのエラーが発生することはありません。
Solaris Internals ZFS Best Practices Guide からの警告の言葉も:
ZFS送信ストリームをファイルまたはテープに保存し、そのファイルが破損した場合、それを受信できなくなり、データを回復できなくなります。ただし、ネバダ州のビルド125では、zstreamdump(1m)コマンドを追加して、ZFSスナップショットの送信ストリームを確認しています。 RFE6736794も参照してください。
特に大規模なデータセットの場合、これは3つのことを意味します。
zfs list -r
とzfs diff
を見逃します。-v
スイッチは期待どおりに機能し、簡単に解析できます。