LVM2 RAID 1 ミラーを分割しようとすると同期状態エラーを確認できません

LVM2 RAID 1 ミラーを分割しようとすると同期状態エラーを確認できません

文脈については私の答えを見てください。 あるボリュームグループから別のボリュームグループへの論理ボリュームの移動

私はこのレシピを実際に活用しようとします。成績表を見る https://gist.github.com/anonymous/1611380eafd0c738ef0f8ad09e0f0ab0

まだ十分にテストしていないようです。これを私のシステムに適用しようとすると、次のエラーが発生します。

root@orwell:/tmp# lvconvert --type raid1 --mirrors 1 /dev/newdebian/debian_boot /dev/md2
  Logical volume newdebian/debian_boot successfully converted.

root@orwell:/tmp# lvconvert --splitmirrors 1 --name debian_boot_copy /dev/newdebian/debian_boot

  Unable to determine sync status of newdebian/debian_boot.
  Unable to split newdebian/debian_boot while it is not in-sync.

オンラインでこの問題に関する情報が見つかりませんでしたが、この問題が発生した人が世界で初めてではないようです。この例の 2 つのボリュームグループは、異なる md RAID デバイスにあります。これが現在のレイアウトの様子です。

debianその後、VGをVGにマージしましたnewdebian

これは厄介な状況です。debianこの問題が解決されるまで、VGで通常のインストールを使用できないことがあります。

root@orwell:/tmp# lvs -a -o name,copy_percent,devices newdebian
  LV                     Cpy%Sync Devices                                        
  acl                             /dev/md1(80472)                                
  boot                            /dev/md2(35761)                                
  data                            /dev/md1(95835)                                
  debian_boot                     debian_boot_rimage_0(0),debian_boot_rimage_1(0)
  [debian_boot_rimage_0]          /dev/md1(0)                                    
  [debian_boot_rimage_1]          /dev/md2(36000)                                
  [debian_boot_rmeta_0]           /dev/md1(117666)                               
  [debian_boot_rmeta_1]           /dev/md2(35999)                                
  debian_home                     /dev/md1(12158)                                
  debian_root                     /dev/md1(238)                                  
  home                            /dev/md2(11920)                                
  postgres                        /dev/md1(105563)                               
  root                            /dev/md2(0)                                    
  swap                            /dev/md1(35999)                                
  swap                            /dev/md1(113243)                               
  vboxshare                       /dev/md1(117410)                               
  video                           /dev/md1(42072)                                
  video                           /dev/md1(83035)                                
  windows                         /dev/md1(36952)                                
  windows                         /dev/md1(80475)                                
  windows                         /dev/md1(114338)                               
  windows10                       /dev/md1(100955)                               
  windows10                       /dev/md1(115618)  

現在は線形に再変換しました。

 root@orwell:/tmp# lvconvert --type linear /dev/newdebian/debian_boot
  Unable to determine sync status of newdebian/debian_boot.
  Logical volume newdebian/debian_boot successfully converted.

しかし、もちろん問題が何であるかを知りたいです。

ベストアンサー1

以下は、LVが非アクティブのようです。

root@orwell:/tmp# lvconvert --splitmirrors 1 --name debian_boot_copy /dev/newdebian/debian_boot

  Unable to determine sync status of newdebian/debian_boot.
  Unable to split newdebian/debian_boot while it is not in-sync.

2.02.172を確認しましたが、これはLVが非アクティブのときに表示される結果です。

分割依存は、RAIDが同期されている場合にのみ許可されます。 LVMは、デバイスが非アクティブのときにデバイスが同期されたかどうかを確認できません。

まず、チートを試みる前にデバイスを有効にする必要があります。

lvchange -ay newdebian/debian_boot

その後、同期を待ちます。 LVMにはこれを行うポーリングコマンドがないため、しばらく待ってから直接確認するか、スクリプトを作成する必要があります。

注:dmsetup statusLVMバージョン2.02.171以前では、丸めのため100%が報告される可能性があり、デバイスが完全に同期されないため、出力を使用する方が安全です。

この方法でのみ上記のlvconvert --splitmirrorsタスクを正常に実行できます。

おすすめ記事