ZFS増分転送の問題:IV設定GUIDがありません。

ZFS増分転送の問題:IV設定GUIDがありません。

今まで、特に問題なくZFSを使用してきましたが、今日は非常に奇妙なエラーが発生しました。私は基本的に次のようにデルタ転送(ハードドライブ暗号化)を実行しています。

$ sudo zfs send -w -v -i  "#myoldsnap" "mylocalzfspool/encrypted_home@mynewsnap" | sudo zfs recv myexternalpool/backup/Laptop -F
send from mylocalzfspool/encrypted_home#myoldsnap to mylocalzfspool/encrypted_home@mynewsnap estimated size is 13.8G
total estimated size is 13.8G
cannot receive incremental stream: IV set guid missing. See errata 4 at https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-ER.

しかし、#myoldsnap、に置き換えると@myoldsnap(たとえば、ブックマークの代わりにスナップショットを使用している場合)動作します...しかし、後でスペースを節約するためにスナップショットを削除する必要があるため、ブックマークを使用することをお勧めします。

役に立つ場合は、外部ディスクに古いスナップショットがあり、ローカルディスクにブックマークがあるという証拠は次のとおりです。

$ sudo zfs list -t snapshot -o name
NAME
mylocalzfspool/encrypted_home@myoldsnap
mylocalzfspool/encrypted_home@mynewsnap
[...]
myexternalpool/backup/Laptop@myoldsnap


$ sudo zfs list -t bookmark 
NAME                                                                                 USED  AVAIL     REFER  MOUNTPOINT
mylocalzfspool/encrypted_home#myoldsnap                            -      -         -  -
mylocalzfspool/encrypted_home#mynewsnap                                     -      -         -  -

ブックマークでなぜ失敗するのかご存知ですか?一般的に問題はあまりありません。その間、外部プールに別のボリュームを作成し、暗号化をサポートしていない以前のバージョンを使用してZFSを一度開いてみましたが、エラーが発生しました...しかしそれはすべてです。考えてみましょう。

ベストアンサー1

この投稿が古くなっていることを知っていますが、今日この問題が発生して結果を追加したかったです。

私の場合、ブックマークを送信すると誤ったストリームが生成されたことがわかりました。zstreamdumpソースからこれを確認できます。

zfs send -w -i  "#oldsnap" "tank/home@newsnap" | zstreamdump | grep from_ivset_guid
        from_ivset_guid = 0x0

ただし、スナップショットは正しい「IV set guid」値を生成します。

zfs send -w -i  "@oldsnap" "tank/home@newsnap" | zstreamdump | grep from_ivset_guid
        from_ivset_guid = 0x968b62ce478cf1

ソースUbuntuはターゲットバージョンより少し古いので試してみましたが、apt upgradeどちらのzpool upgrade tank方法も状況を改善できませんでした。

ただし、システムのアップグレード後にブックマークを削除して再作成すると、問題は解決しました。

おすすめ記事