有关上下文,请参阅我的回答: 将逻辑卷从一个卷组移动到另一个卷组。
我尝试真正使用这个食谱。请参阅文字记录 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.
我在网上没有找到任何有关此问题的信息,但我也认为我不太可能是世界上第一个遇到此问题的人。请注意,本例中的两个卷组位于不同的 md RAID 设备上。这是当前布局的样子。
然后我把debian
VG合并到newdebian
VG里了。
这是一个尴尬的处境 -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
操作。