LVM pvmove를 실행 취소할 수 있습니까?

LVM pvmove를 실행 취소할 수 있습니까?

2개의 추가 드라이브가 있는 소프트웨어 RAID1을 사용하도록 2x3TB LVM 설정을 변환하려고 합니다. 다음 사항이 안전한지, 다양한 단계에서 복구할 수 있는 방법이 있는지 알고 싶습니다.

그래서 vg_media 볼륨 그룹을 구성하는 /dev/sdb1 및 /dev/sdc1이 있습니다.

디스크 /dev/sdd 및 /dev/sde를 추가하고 있지만 먼저 성능이 저하된 RAID를 설정합니다.

그래서 이것이 내 계획입니다.

# use parted to create GPT partitions on /dev/sdd and /dev/sde

mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdd1 missing
mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sde1 missing

mdadm --detail --scan >> /etc/mdadm/mdadm.conf

pvcreate /dev/md0
pvcreate /dev/md1

vgextend vg_media /dev/md0
vgextend vg_media /dev/md1

pvmove /dev/sdb1 /dev/md0
pvmove /dev/sdc1 /dev/md1

vgreduce vg_media /dev/sdb1
vgreduce vg_media /dev/sdc1

내가 이해한 바에 따르면 pvmove는 실제로 모든 것을 복사한 다음 일부 메타데이터를 업데이트하여 새로운 물리적 위치를 사용합니다.

다운그레이드된 RAID에 문제가 있는 경우 pvmove를 실행 취소하고 /dev/sdb1 및 /dev/sdc1의 데이터를 다시 가져올 수 있는지 궁금합니다.

이 시점에서 모든 것이 괜찮은 것으로 확인되면 다음을 수행하여 RAID를 완료하겠습니다.

pvremove /dev/sdb1
pvremove /dev/sdc1

sfdisk -d /dev/sdd | sfdisk /dev/sdb
sfdisk -d /dev/sde | sfdisk /dev/sdc

mdadm --manage /dev/md0 --add /dev/sdb1
mdadm --manage /dev/md1 --add /dev/sdc1

답변1

mdadm --detail --scan >> /etc/mdadm/mdadm.conf

이는 mdadm.conf의 좋은 시작점이지만 너무 장황한 경우가 많습니다. UUID만으로도 충분합니다.

MAILADDR your@address
ARRAY /dev/md0 UUID=d8b8b4e5:e47b2e45:2093cd36:f654020d

내가 이해한 바에 따르면 pvmove는 실제로 모든 것을 복사한 다음 일부 메타데이터를 업데이트하여 새로운 물리적 위치를 사용합니다.

작은 RAID-1 미러와 같습니다. 이동된 각 세그먼트에 대해 새 위치에서 동기화가 시작되고 완전히 동기화되면 이전 위치가 삭제됩니다. 이렇게 하면 현재 재배치 중인 세그먼트에서 발생하는 모든 쓰기도 올바르게 처리됩니다.

다운그레이드된 RAID에 문제가 있는 경우 pvmove를 실행 취소하고 /dev/sdb1 및 /dev/sdc1의 데이터를 다시 가져올 수 있는지 궁금합니다.

"뭔가 잘못되었습니다"라는 말의 의미에 따라 다릅니다. pvmove 이미지는 완전히 일시적이며 다시 돌아갈 중복이 없습니다. 새 PV가 완전히 실패하면 일부 데이터가 손실됩니다.

vgcfgrestore읽기 전용 모드에서 pvmove를 실행하는 경우 이전 버전 만 사용할 수 있지만 vgcfgbackup(이동을 시작하기 전에 백업 생성) pvmove 자체가 다른 항목과 겹치는 작업을 수행하지 않는 경우에만 해당됩니다(이전 데이터를 덮어씁니다). 이것도 효과적이다. 의 과정.

이 작업을 시작하기 전에 모든 디스크에 대해 장기간 스마트 자체 테스트를 실행하고 기타 관련 스마트 데이터를 살펴보면 큰 문제가 발생할지 여부를 미리 알 수 있습니다.

대안: (반드시 더 나은 것은 아닙니다)

오프라인/복구 시스템에서 이 작업을 수행할 수 있는 경우 두 디스크를 모두 RAID에 dd(rescue)하면 됩니다. 그러나 이 경우에는 크기 문제(RAID 장치가 PV 크기보다 작아서는 안 됨)와 중복된 UUID 문제를 처리해야 합니다.

아무것도 복사하지 않고 원본 PV 위에 RAID 레이어를 배치한 다음 새 디스크를 RAID에 추가하기만 하면 됩니다. 이는 파티션 끝에 있는 메타데이터를 사용하여 수행할 수 있습니다 0.90( 1.0먼저 PV를 약간 줄여야 할 수 있음). 또는 LV 메타데이터를 편집하여 처음 몇 개의 물리적 범위를 확보하여 파티션 시작 부분에 mdadm 메타데이터를 위한 공간을 확보함으로써 수행할 수 있습니다. 분할. 그러나 이를 위해서는 LVM 및 MD 메타데이터 레이아웃을 완전히 이해해야 합니다.

관련 정보