LVMを初めて使用するが失敗したディスク/PVを削除するためのベストプラクティスが何であるかはまだわかりませんか?例:仮想プールがありますmy_volume_group/my_lv
。 RAIDコントローラからディスク(/ dev / sde)を削除しましたが、lvmに次の警告が表示されました。
WARNING: Couldn't find device with uuid QHOWyk-Ofjr-jnqU-iF7i-YqSJ-BeI4-UpqeI7.
WARNING: VG my_volume_group is missing PV QHOWyk-Ofjr-jnqU-iF7i-YqSJ-BeI4-UpqeI7 (last written to [unknown]).
私は試した:
vgreduce --removemissing --force my_volume_group
Logical volume my_volume_group/res0_00000 is used by another device.
その後、そのノードからres0リソースを削除して再試行します。
vgreduce --removemissing --force my_volume_group
Cannot activate my_volume_group/my_lv_tdata: pool incomplete.
Failed to suspend my_volume_group/my_lv with queued messages.
Failed to update pool my_volume_group/my_lv.
今、私はこの状況からどのように外れるのかわかりません。
答え1
明らかに、まだシンプール論理ボリュームの重要な部分である/dev/sde
1つ以上のブロックが含まれています。ディスクを元に戻すことはできますか?my_volume_group/my_lv_tdata
my_volume_group/my_lv
その後、動作し、vgchange -ay my_volume_group
成功した場合は、別のPVを使用してpvmove /dev/sde
残りのデータsde
をmy_volume_group
。成功すると、pvs
出力のPSizeフィールドとPFreeフィールドは/dev/sde
同じでなければなりません。これは使用されていない部分を示しているため、/dev/sde
データを失うことなく削除を開始できます。
RAIDコントローラがあると言われました。ここでは、RAID構成の証拠を見ることはできません。/dev/sde
単一の物理ディスクの場合、コントローラのRAID機能は使用されていないように見え、単一のディスク障害に対する保護はありません。それでは、RAIDはどこにあるべきですか?
あるいは、/dev/sde
もともとはRAID 1またはRAID 5グループでしたが、以前に1つのディスクにすでにエラーが発生したため、これ以上耐えられなかった可能性があります。最初のエラーが目立たない場合は、RAID状態監視がないことです。この機能がないと、各RAIDセットの最初のディスク障害が検出できる症状がまったくない可能性があるため、実際に必要です。
以前のディスクが/dev/sde
完全に失敗すると、ボリュームグループは仮想プールLVでデータ損失の脆弱性を持つようになりましたmy_lv
。良いバックアップがある場合は、そのバックアップを削除してmy_lv
再作成してからバックアップからデータを復元するのが、おそらく最も簡単で簡単な方法です。
Linux ストレージ機能は、順序に関係なく互いに積み重ねることができます。これは強力な機能ですが、最初は混乱する可能性があります。新しいものを設定するときは、スタックの一番下から始めて一度に1層ずつ作成し、何かを削除するときは一番上から始めて一度に1層ずつ解体する必要があります。
(スタックの途中でレイヤーを取り出すと、現在サポートされていない上位レイヤーは通常消えます。現在インストールされていない、または使用中でない場合ただし、このショートカットを使用する前に、ストレージの構成に精通している必要があります。無上のレイヤーが実際に使用されている場合、カーネルは非常に不幸になります。 )