単一のVGと複数のミラー化LVを備えたLinux(fedora 30)システムがあります。 LVを2つのPVにミラーリングしましたが、PVの1つが失敗しました。とにかく2TB PVから4TB PVに移行したかったので、新しいPVを追加し、すべてのLVを3つのミラー(m = 2)にキャストしました。今私のLVはすべて安全にミラーリングされているので、破損したドライブを削除します。しかし、「lvconvert -m1 LVNAME PV2REMOVE」はこれがうまくいかないと言います。おそらく「vgreduce --removemissing」を考慮する必要があります。
もちろん、これは何もせず、「--force」オプションを使用して読み取った内容によれば、すべてのLVが削除されます。
lvs -a -o +デバイス| tr -s '\t ' ''
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices
NAS VG2TB rwi-aor-r- 200.00g 100.00 NAS_rimage_0(0),NAS_rimage_1(0)
[NAS_rimage_0] VG2TB vwi-aor-r- 200.00g
[NAS_rimage_1] VG2TB iwi-aor--- 200.00g /dev/sdb1(392715)
[NAS_rmeta_0] VG2TB ewi-aor-r- 4.00m
[NAS_rmeta_1] VG2TB ewi-aor--- 4.00m /dev/sdb1(392714)
PythonNAS VG2TB rwi-aor-r- 100.00g 100.00 PythonNAS_rimage_0(0),PythonNAS_rimage_1(0),PythonNAS_rimage_2(0)
[PythonNAS_rimage_0] VG2TB vwi-aor-r- 100.00g
[PythonNAS_rimage_1] VG2TB vwi-aor-r- 100.00g
[PythonNAS_rimage_2] VG2TB iwi-aor--- 100.00g /dev/sdb1(341512)
[PythonNAS_rmeta_0] VG2TB ewi-aor-r- 4.00m
[PythonNAS_rmeta_1] VG2TB ewi-aor-r- 4.00m
[PythonNAS_rmeta_2] VG2TB ewi-aor--- 4.00m /dev/sdb1(341511)
lv_VM_Data VG2TB rwi-a-r-r- 200.00g 100.00 lv_VM_Data_rimage_0(0),lv_VM_Data_rimage_1(0),lv_VM_Data_rimage_2(0)
[lv_VM_Data_rimage_0] VG2TB vwi-aor-r- 200.00g
[lv_VM_Data_rimage_1] VG2TB vwi-aor-r- 200.00g
[lv_VM_Data_rimage_2] VG2TB iwi-aor--- 200.00g /dev/sdb1(290311)
[lv_VM_Data_rmeta_0] VG2TB ewi-aor-r- 4.00m
[lv_VM_Data_rmeta_1] VG2TB ewi-aor-r- 4.00m
[lv_VM_Data_rmeta_2] VG2TB ewi-aor--- 4.00m /dev/sdb1(290310)
lv_VM_Root VG2TB rwi-aor-r- 60.00g 100.00 lv_VM_Root_rimage_0(0),lv_VM_Root_rimage_1(0),lv_VM_Root_rimage_2(0)
[lv_VM_Root_rimage_0] VG2TB vwi-aor-r- 60.00g
[lv_VM_Root_rimage_1] VG2TB vwi-aor-r- 60.00g
[lv_VM_Root_rimage_2] VG2TB iwi-aor--- 60.00g /dev/sdb1(367113)
[lv_VM_Root_rmeta_0] VG2TB ewi-aor-r- 4.00m
[lv_VM_Root_rmeta_1] VG2TB ewi-aor-r- 4.00m
[lv_VM_Root_rmeta_2] VG2TB ewi-aor--- 4.00m /dev/sdb1(367112)
答え1
いったい別のPVを削除するには?
LVMが知っている限り、データの唯一の最新コピーは開いているようです/dev/sdb1
。他のすべてのコピーは仮想なので同期する必要があります。したがって、lvchange --refresh <LV>
最初にアクセス可能なすべてのPVを同期する必要があるかもしれません。
他のPVがシステムに表示されなくなった場合(つまり、完全に機能していないか引っ張られた場合)、VGに新しいPVを追加して実行しますlvconvert --repair <name of LV> [new PV]
。 LVMがまだ不良ディスクを検出した場合、コマンドはですlvconvert --replace <old PV> <name of LV> [new PV]
。
他のUnixバリアントのLVMに精通している場合は、LinuxのLVMエクスポート/インポートロジックが非常に異なる動作をすることに注意してください。 Linuxでは、他のUnixの「インポート」は通常、新しいデバイスが検出されたり手動で実行されたりすると自動的に発生し、非常に安全vgscan
ですvgscan
。いかなる種類の競合が検出されても、そのデバイスのアクティブLVM構成のどの部分も上書きされません。クラッシュの問題の場合は、何が間違っているのかを知らせ、もう一度やり直す前に問題を解決したいと思いますvgscan
。
Linux LVMの「エクスポート」操作は、実際には「このVGの自動および手動のアクティブ化を防ぐ:他のVGと競合することが確認された場合、エクスポートしたVGを無視します」と似ています。 「インポート」操作は単に属性を削除します。したがって、LVM VGを含むディスクセットを別のホストに移動する準備をするときに便利ですが、それ以上の考えほど有用ではない可能性があります。