LVM, LV 디스크를 백업 디스크 이미지로 교체

LVM, LV 디스크를 백업 디스크 이미지로 교체

그래서 저는 최근 Virsh KVM에서 사용하는 디스크와 함께 LVM 스토리지 풀에서 여러 LV(논리 볼륨)를 실행하는 서버를 물려받았습니다.

문제는 디스크 중 하나가 최근에 손상되었고 그 이후로 백업 이미지를 사용하여 호스팅해 왔지만 자동 백업이 실행 중이기 때문에 해당 이미지를 LVM 스토리지 풀로 반환하고 그대로 다시 호스팅하고 싶습니다. .

기존 LV의 출력으로 원시 파일을 가져오는 방법을 찾고 싶습니다. 하지만 무엇을 해야할지 모르겠습니다.

LV 저장소 사진과 LV 디스크로 다시 변환하고 싶은 이미지를 첨부했는데 어떻게 해야할지 모르겠습니다.

LV 정보

드라이브 매퍼 정보

원본 이미지가 LV 디스크를 대체합니다.

답변1

"디스크 중 하나가 최근에 손상되었습니다"라고 말하면 VM의 가상 디스크 또는 LV를 호스팅하는 물리적 디스크를 의미합니까? 물리적 디스크가 손상되면 안정적으로 계속 사용할 수 없으므로 교체해야 할 수도 있습니다. 이 작업을 수행했습니까? 이 작업을 수행하려면 아래를 참조하세요.

파일 크기로 볼 때, 귀하의 /backup/rdnsrv2이미지는 LV 전체의 완전한 이미지인 것 같습니다.

실제 LV에 다시 쓰려면 다음을 수행할 수 있습니다.

dd if=/backup/rdnsrv2 of=/dev/VG-sda/rdnsrv2 bs=1024k

심지어:

cat /backup/rdnsrv2 > /dev/VG-sda/rdnsrv2

VG의 이름은 /dev/sda물리적 디스크와 연결되어 있음을 나타냅니다. 이는 불필요한 제한 사항입니다. VG와 그 안에 있는 LV도 여러 물리적 디스크에 걸쳐 있을 수 있습니다. LV를 사용하는 동안 LVM 데이터를 한 디스크에서 다른 디스크로 이동할 수도 있습니다. 예를 들어, 현재 디스크를 다른 디스크로 교체하려면 /dev/sda(이라고 가정 /dev/sdX) 다음을 수행합니다.

  • 먼저 새 파티션이 /dev/sdX일치합니다 sda. 이는 분명히 호스트 시스템의 현재 부팅 디스크이므로 세 개의 파티션을 생성해야 합니다.

  • 부팅 파일 시스템 초기화 및 내용 복사 - 시스템이 실제로 부팅되거나 커널/부트 로더 업데이트를 설치할 때만 사용되므로 이 작업 /boot/efi을 수행할 수 있습니다. /boot부팅할 수 없는 디스크에서는 이 단계를 건너뛸 수 있습니다.

    mkfs.vfat -F 32 /dev/sdX1
    mount /dev/sdX1 /mnt
    cp -a /boot/efi/* /mnt/
    umount /mnt
    umount /boot/efi
    mkfs.<appropriate type> /dev/sdX2
    mount /dev/sdX2 /mnt
    cp -a /boot/* /mnt/
    umount /mnt
    umount /boot
    lsblk -o +uuid /dev/sdX # note the UUIDs of sdX1 and sdX2
    <exit /etc/fstab to update the UUIDs of /boot/efi and /boot>
    systemctl daemon-reload
    mount /boot
    mount /boot/efi
    <verify that sdX1 is now at /boot/efi and sdX2 at /boot>
    grub-install /dev/sdX # ensures GRUB is up to date and EFI boot variable points to the correct disk
  • LVM 데이터 마이그레이션(LV가 사용 중인 경우에도):
    pvcreate /dev/sdX3 
    vgextend VG-sda /dev/sdX3
    pvmove /dev/sda3 

이렇게 하면 모든 LVM 데이터가 동일한 VG의 다른 PV pvmove /dev/sda3에서 마이그레이션됩니다 (= 다른 대안이 없으므로 안으로). 모든 것을 이동할 수 없으면 가능한 모든 것을 이동한 다음 중지합니다./dev/sda3/dev/sdX3

  • 분해 및 제거 /dev/sda:
    vgreduce VG-sda /dev/sda3 
    # this will harmlessly fail if there is still LV data on sda3

    lsblk /dev/sda   
    # verify no mounted filesystems and no LVs in use

    echo 1 > /sys/block/sda/device/delete   
    # /dev/sda* device nodes will vanish!
    # /dev/sda is now ready for hot-unplugging

관련 정보