ディスク障害発生時のLVM2の動作を理解していますか?

ディスク障害発生時のLVM2の動作を理解していますか?

次のコマンドを使用して、5x4TB設定のLVM2グループがあります。

pvcreate /dev/sd{b,c,d,e,f}
vgcreate vg0 /dev/sd{b,c,d,e,f}
lvcreate -l 100%FREE -n lvol1 vg0

これでこのモンスターを作ったので、これについていくつかの質問があります。基本構成では線形になりますが、/dev/sdb失敗するとどうなりますか?

  • データ全体に別れを告げる必要がありますか/dev/sdb、またはLVMが最初のバイトを埋めるのではなく、デバイス全体にファイルを配置しますか?

  • どのファイルがどのデバイスにあるのか、どうすればわかりますか?ディスクを紛失した場合は、可能であれば回復できるようにデータが失われた場所を知りたいです。

メモ:

  • フォローするGentoo LVM作成マニュアル
  • 私はRAIDx(そして私の考えではLVM)がバックアップを提供しないことを十分に理解しています。せいぜいディスクエラーに対する回復力だけを追加できるだけです。私は(ソフトウェア)RAID5とディスクエラーの経験があります。幸いなことに、一度に1つずつエラーが発生しました。しかし、私はLVMを使った経験がないので、このような質問をするようになりました。

ベストアンサー1

lvdisplay --maps特定のLVまたは特定の範囲に対応する物理的な範囲がどこにあるかを示します。pvdisplay --maps同じ情報が太陽電池中心の観点から提示される。

たとえば、pvdisplay --maps失敗したPVが特定のLVの論理範囲1000 ... 4000を含むようにマークされ、そのVGの範囲サイズが4MiBの場合、PVが完全に失敗すると大きな問題が発生します。アクセスできないLV。 「穴」は、LVの開始点から4000MiB点から始まり、LVの開始点で16000MiB点まで続く。

一般に、この場合、LV全体を復元するのが最も簡単です。これにより、すべてのファイルが一貫した状態であることを確認できます。たとえば、ファイルAにファイルBのコンテンツへの参照が含まれている場合、破損した領域にファイルが1つしかない場合でも、バックアップから両方のファイルを復元できます。

ただし、必要な場合(つまり、利用可能なバックアップがなく、現在深刻な問題に直面している場合)、LVに欠けている部品があっても、LVを使用または有効にして残りの項目を復元lvchangeするvgchangeためにインストールできます。--activationmode partialこれをしなければならないただデータ復旧目的で。

あなたの場合、/dev/sdbこれはボリュームグループの最初のPVになるので、LVの最初の部分も保持します。これはおそらくそのLVの多くの重要なファイルシステムメタデータが終わる場所なので、そこにはfsckまだあります。あなた。 Frost Schutzが言ったように、photorec残りのLVで断片化されていないファイルを見つけることは可能です。しかし、それに頼るのは悪い戦略です。

完全な復元に必要な時間だけでなく、バ​​ックアップも考慮する必要があります。ディスク障害後にLV全体を復元するのに時間がかかりすぎる場合は、この状況を回避するためにシステムに冗長性を追加する必要があります。一般に、これはより多くのディスクを確保し、ある種のRAIDアレイにデータを格納することを意味します。

ただし、RAIDアレイを設定してもバックアップすることを忘れないでください。 RAIDを使用すると、ディスクエラーをより簡単に処理できますが、ユーザー/システム管理者が「このような」場合にはまったく役に立ちません。RAIDはバックアップではありません。

おすすめ記事