맥락에 대해서는 내 답변을 참조하십시오. 한 볼륨 그룹에서 다른 볼륨 그룹으로 논리 볼륨 이동.
나는 이 레시피를 실제로 활용하려고 노력한다. 성적표 보기 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를 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
작업을 성공적으로 실행할 수 있습니다.