背景:
私は少し控えめな性格だったので、dd
これまでファイルシステム全体をバックアップしていました。主な欠点は、これらのフルバックアップがメモリを過剰に使用することです(残念ながら、利用可能なブロックもあります)。
質問
これで、ファイルシステム内のファイルのみをバックアップし、必要に応じてファイルシステムを再作成できます。データは簡単に抽出できますが(たとえばを通じてrsync -a
)、
いくつかのエラーがあるかどうかを知りたいです。ケース私は無視するどこ例えばファイルに割り当てられたinode番号は重要ですか?
特に、/
ルートファイルシステムとその上のシステムをバックアップするコンテキストではそうです。/home/
ファイルシステムについてはあまり心配しませんが、/
ルートファイルシステムが復元され、inodeが突然変更されると、奇妙なことが起こる可能性があると予想するほど想像力が豊富です。
良い答えには、inode番号が重要で最終的に問題を引き起こす可能性がある状況の最も完全なリストを含める必要があります。
修正する いくつかの実験では、次の事実を示しています。ハードリンク(自然に同じインデックスノードを参照する場合)少し注意が必要な場合があります。同じinodeを再割り当てする必要があるかどうかはわかりません。
幸いなことに、Ubuntu 12.04のハードリンク数は約10個のファイルにすぎません(したがって、スクリプトを介して記録し、必要に応じて変更することができ、rsync -a
inode番号は気にしません)。
はい 私が重要だと思うケースの1つはSELinuxセキュリティモジュールはデフォルトで inode 番号を使用します。これはすでに1つのケースですが、たぶん別のケースがあるかもしれません。
アップデート2
ただrsync -aH
。mkfs.ext4 /dev/sdX -U oldfsUUID
幸いなことに、Ubuntu 12.04の設定ではinodeが重要ではないようです。私はこれが何も証明していないことを知っています。それでも問題のケースリストを含む答えが欲しいです。すでに申し上げましたが、selinux
これ以外にももっとあるようで、ご存知の方が良い回答をいただく可能性が高いです。
答え1
inode番号は通常のアプリケーションでは重要ではありません。一部はinode番号がほとんど使用されないため、一部はアプリケーションがinode番号に依存している場合、バックアップと復元のサイクル後に動作が停止するためです。したがって、バックアップシステムはinode番号を復元しないため、アプリケーションはinode番号に依存しないため、バックアップシステムはinode番号を復元する必要はありません。
ほとんどのバックアップ方法はinode番号でさえ回復できません。カーネルのファイルシステムドライバはファイルを生成するために利用可能なinodeを使用するため、アプリケーションがこれを制限する方法はありません。
一部のファイルシステムには inode 番号さえありません。
アプリケーションがinode番号を使用する理由の1つは、両方のパスが同じファイルを参照しているかどうかをテストすることです。ある時点のデバイス番号とinode番号を比較します。これを行うには、デバイス番号とinode番号が時間の経過とともに一定に保たれる必要はありません。バックアッププログラム自体は、ハードリンクを検出するためにこれを行います。
指定されたinode番号を持つファイルを開くことができないか、指定されたinode番号を持つファイルへのパスを取得できません(デフォルトのブロックデバイスにアクセスする必要があるデバッグツールを除く)。ほとんどのファイルシステムでは、パスはinodeを指していますが、inodeにはファイルを含むディレクトリへのポインタが含まれていないため、ファイルシステム全体を移動しないとこれを達成できません。また、ファイルを削除することもできます(たとえば、ハードリンクの数がゼロになる可能性があり、コンテンツが削除され、そのinodeが解放される前に閉じるのを待つことがあります)。
SELinux は inode 番号ではなく inode を使用してコンテキストを追跡します。 SELinux コンテキストは、他のすべてと同様にパスを使用して保存されます。
rsync -AHX
安全で一般的なバックアップ方法です。
inode番号付けを使用するアプリケーションを考えることができます。一部のバージョン盗賊は、今日でもまだ使用されているCursesライブラリに触発された最初のフルスクリーンターミナルベースのゲームの1つです。保存ファイルのランダムコピーを防ぐために、保存ファイルにinode番号を保存します。私は「深刻な」アプリケーションでこれを行うのを見たことがありません。