外付けハードドライブにバックアップを実行しようとしています。ローカルドライブと外部ドライブの両方がBTRFSファイルシステムを使用します。これを行うには、まずホームディレクトリの読み取り専用スナップショットを作成します。
# btrfs subvolume snapshot -r /home /.snapshots/home/BACKUP
以下はバックアップドライブへの送受信です。
# btrfs send /.snapshots/home/BACKUP | btrfs receive /.backup/home
私は次のような結果を得ます。
At subvol /.snapshots/home/BACKUP
At subvol BACKUP
ERROR: failed to clone extents to matt/.local/share/Anki2/Matt/collection.anki2: Invalid argument
1分後にエラーが発生します。いくつかの異なるスナップショットを試しましたが、それぞれ同じエラーが発生しました。さらに、どのスナップショットでもファイルが見つかりません。ある種のディスク破損エラーである可能性があると考え、USB OSイメージで起動して実行しました。
# btrfs check --repair /dev/mapper/...
マウント解除されたファイルシステムから。ここにエラーはありません。ファイルシステムで再起動した後、バックアップを再試行しましたが、同じエラーが発生しました。この問題の原因は何ですか?
編集する
Emmanuel Rosaのコメントに基づいて試しました。
# btrfs scrub start -B /
エラーなしで終了します。点滅しても問題はまだ存在します。
編集2
私はこれが何が間違っているのかわかりません。結局、ローカルファイルを削除して再び機能しました。
編集3
ファイルを削除すると問題は一時的に解決されますが、新しいファイルが生成され、同じエラーが発生することが多いため、実際には解決されません。 sqliteファイルは特に問題があるようです。
答え1
これはLinuxカーネルのバグであるように見え、修正されました。今回提出してください。投稿しましたが見つかりました。btrfsメーリングリストに関する質問。カーネルをアップグレードすると問題が解決しました。