「複数宣言されたブロックの複製」に「はい」と答えるべきですか?? ” e2fsckを実行するとき?

「複数宣言されたブロックの複製」に「はい」と答えるべきですか?? ” e2fsckを実行するとき?

走っている間

e2fsck -cck /dev/mapper/xxx

システムからメッセージを表示します。

 has 487 multiply-claimed block(s), shared with 84 file(s): 
 ... (inode #221446306, mod time Tue Feb 20 19:48:38 2018) 
 ... (inode #221446305, mod time Tue Feb 20 19:48:32 2018) 
 ... (inode #221446304, mod time Tue Feb 20 19:48:38 2018) 
 ... (inode #221446303, mod time Tue Feb 20 19:48:12 2018) 
 ... (inode #221446302, mod time Tue Feb 20 19:59:04 2018) 
 ... (inode #221446300, mod time Tue Feb 20 19:47:52 2018) 
Clone multiply-claimed blocks<y>?

引き続き「はい」と答えると、どのような結果が発生しますか?データが完全に失われますか?続けて「いいえ」と言うとどうなりますか?

ベストアンサー1

複数宣言ブロックは複数のファイルで使用されるブロックなので、使用しないでください。これにより、影響を受けるブロックの1つでこれらのファイルの1つを変更すると、そのブロックを共有するファイルにも変更が表示されますが、これは望ましくありません。 (ハードリンクは異なる場合なので、ここには表示されません。)

ここにデータ損失がある場合、それが起こった、簡単に元に戻すことはできませんが、状況が悪化する可能性があります。

この質問に「いいえ」と答えると、fsckファイルシステムは一貫性のないままです。 「はい」と答えると、fsck共有ブロックがコピーされ、個々のファイルに再配布される可能性があります。関連ファイルは84個で、各ブロックは83回コピーされます。予期したとおり、ファイルの変更は個々のファイルに制限されるため、将来のデータ損失を防ぐことができます。しかし、ブロックを複製するには、現在使用されていないように見えますが、アーカイブしたいデータを含む可能性がある他のブロックのデータを上書きすることを含めることができます。

したがって、従来のデータ復旧のアドバイスが適用されます。ファイルシステムからデータを回復する必要があると思われる場合は、そのデータを別のディスクにコピーしてその中のデータを回復してください。ここで必要なシナリオは次のとおりです。ファイルAとBは一時的に分離されていましたが、どこかで破損した後、ファイルBはファイルAとブロックを共有します。ファイルBの前のブロックを上書きすることがないと、データはまだ存在しますがアクセスできなくなります。このブロックを上書きすることがない場合は復元できます(おそらくかなりの努力が必要です)。ただし、一度上書きすると、ここでは消え、ファイルAから共有ブロックを複製すると、古いデータを上書きできます。

要約すると、バックアップがあるか、データを簡単に復元できることがわかっている場合は、「はい」と答えてください。そうでない場合は、停止してfsckファイルシステムを別の場所にコピーしてからfsck再度実行し、システムのバックアップが必要で実行中の場合(そしてコピーからデータを復元する必要がある場合)、「はい」と答えます。データが重要で復元が必要な場合は、ファイルシステムを別の場所にコピーしますが、元のファイルシステムはそのままにしてください。システムをバックアップして実行する必要がある場合は、別のコピーを作成して実行してからシステムを実行してくださいfsck

おすすめ記事