今まで、特に問題なく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
方法も状況を改善できませんでした。
ただし、システムのアップグレード後にブックマークを削除して再作成すると、問題は解決しました。