web-dev-qa-db-ja.com

BTRFSファイルシステムUUIDの変更

Clonezillaを使用してBTRFSファイルシステムのバックアップを作成し、それらのバックアップの1つを2013-11-29.sda3.imgという名前のファイルに復元しました。

このバックアップからいくつかのファイルを取得する必要がありますが、問題があります。バックアップはこのマシンのものなので、UUIDが/のUUIDと一致するため、バックアップをファイルシステムのどこにもマウントできません。

バックアップボリュームのUUIDを変更する方法はありますか?私が理解しているように、BTRFSはファイルシステムのすべてのブロックにUUID情報を保存するため、目的が複雑になります。しかし、これを変更する方法はありますか?時間がかかると思いますが、気になりません。私の主な関心事はサーバーをオンラインに保つことです。バックアップはかなり大きいため、別のマシンへの転送にはかなり時間がかかります。

私のオプションは何ですか?

14
Naftuli Kay

現時点ではそれを行う方法はありません。実際、ボリュームUUIDはチャンクツリーの各 node で使用されます。また、チャンク/デバイスのヘッダーがハッシュされていないと想定して、そこで変更する必要があります。 BTRFSは、この種のバックアップを可能にする設計ではありませんでした。

これは本当に悲しいことですが、それを処理する最も簡単な方法は、別のコンピューターを使用することです。

可能であれば、この方法でデータのバックアップを停止することをお勧めします。

  1. パーティションが全体として重要な場合は、dd/clonezillaを使用してバックアップしてください。バックアップを復元する必要がある場合は、パーティション全体を一度に復元します。この種のハイブリッドバックアップは行わないでください。特にパーティションblocレベルで保存しました。したがって、ブロックレベルでそれを復元する必要があります。それ以外の場合は、スプーンを使用して肉を切ります。ご存じのとおり、このソリューションは汎用性がないため、通常は使用されません。

  2. データが重要な場合は、rsyncまたは同様のツールを使用して別のディスクにバックアップします。データにはいつでもアクセスでき、必要なものを正確にバックアップし、でバックアップしますfileレベルなど.

BTRFSにはいくつかの(現在は制限されています) バックアップ機能 があることに注意してください。 BTRFSの動きは速く、将来的にはより多くのバックアップ機能が出てくると思います。

ああ、あなたはすでに警告されています;) Clonezillaの自動バックアップとGPG暗号化

ところで、暗号化は、パーティションベースの暗号化にLUKSを使用するか、ファイルベースの暗号化にEnFSまたはEncryptFSを使用すると、ファイルに簡単に適用できます。

0
user21228

通常のbtrfs-toolsの最新バージョンの一部であるプログラムbtrfstuneを使用すると、オフラインファイルシステムのUUIDを変更できます。たとえば、パーティションが/dev/sda1、次のコマンドを使用して、新しいランダムなUUIDを生成します。

btrfstune -u /dev/sda1

使用する値を指定するには、大文字の-Uの後に(有効な)UUID文字列を続けます。次に例を示します。

Sudo btrfstune -U e0c5b943-1c02-44a2-bbaf-87ebda5e363b /dev/sdaX
23
deviantfan