文脈については私の答えを見てください。 あるボリュームグループから別のボリュームグループへの論理ボリュームの移動。
私はこのレシピを実際に活用しようとします。成績表を見る 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 status
LVMバージョン2.02.171以前では、丸めのため100%が報告される可能性があり、デバイスが完全に同期されないため、出力を使用する方が安全です。
この方法でのみ上記のlvconvert --splitmirrors
タスクを正常に実行できます。