kvm 디스크의 부분 이미지

kvm 디스크의 부분 이미지

저는 Linux 시스템을 KVM 호스트로 실행하고 있으며 이전 PC의 물리적 디스크를 실행하는 가상 머신을 생성했습니다(--import 사용). 디스크에는 여러 운영 체제를 이중 부팅하기 위한 여러 파티션, 스크래치 파티션 및 일부 비디오 데이터가 있습니다. 제가 정말로 가상화하고 싶은 것은 이 디스크의 Linux 시스템입니다. 전체 디스크를 이미지화하는 방법을 이해하고 있다고 생각하지만 실제로 필요한 것은 MBR, 스크래치 영역, / 및 /boot를 저장할 파티션뿐입니다. 가상화를 위해 특정 파티션만 이미지로 "추출"하는 방법이 있습니까? 관심 있는 파티션을 임시로 빈 디스크에 복사하고 grub을 설치한 후 가상화할 생각입니다. 하지만 내가 원하는 것을 달성하는 더 쉬운 방법이 있을까요?

감사합니다,

볼프강

답변1

기존 PC 시스템이 포함된 디스크가 KVM 호스트에 물리적으로 연결되어 있다고 가정하면 다음을 수행할 수 있습니다.

  1. 적절한 크기의 디스크 이미지 파일과 좋은 복구 CD가 포함된 ISO를 사용하여 가상 머신을 사용 virsh하거나 생성합니다(저는virt-manager크론질라또는갈라진이런 일을 위해. 어떤 좋은 "실시간" 시스템이라도 가능합니다. 최고아니요배포판의 설치 프로그램 ISO를 사용하세요.

    하다아니요물리적 하드 디스크가 VM에 연결되지 않았습니다.

  2. ISO 이미지를 사용하여 시스템을 부팅합니다. 필요에 따라 가상 디스크(가상 머신 내부)를 /dev/vda분할하고 포맷합니다 . /target(및 다른 파티션이 있는 경우 아래에 /target) 로 마운트합니다 .

  3. KVM 호스트에서 명령을 사용하여 기존 시스템이 포함된 물리적 디스크를 VM에 연결합니다 virsh attach-disk. 질문에 대략적인 명령줄을 제공하기에는 세부 정보가 충분하지 않지만 virsh help attach-disk옵션 요약을 얻으려면 실행하세요. 결국 다음과 같이 보일 것입니다.

    virsh attach-disk vmname /dev/sdX /dev/vdb --targetbus sata

    /dev/sdX물리적 디스크는 어디에 있고, /dev/vdb가상 머신에 표시되는 장치는 어디에 있으며, 대상 버스는 sata, scsi 또는 심지어 virtio가 될 것입니다.

  4. 가상 머신으로 돌아가서 가상화하려는 운영 체제 파티션 /source과 해당 파티션 아래의 다른 파티션을 마운트합니다. mount -o ro /dev/vdbN /target/XXXXX오타/오류를 방지 하려면 모두 읽기 전용으로 설치하세요 .

  5. rsync -a /source/ /target(테일게이팅이 중요 /합니다 /source/)

  6. umount아래의 모든 것 /source. 더 이상 필요하지 않습니다.

  7. for i in proc dev sys dev/pts ; do mount -o bind /$i /target/$i done

    이렇게 하면 모든 시스템 의사 파일 시스템 뿐만 아니라 또는 grub-install와 같은 다른 도구 에 필요한 모든 시스템 의사 파일 시스템 도 보장됩니다 .lsblkblkidchroot

  8. chroot /target

  9. /etc/fstab새 블록 장치 이름(또는 레이블 또는 UUID)을 사용하도록 마운트 항목을 조정하려면 편집하세요 .

    여기에서 네트워크 구성과 같은 다른 사항을 변경하거나 나중에 기본 시스템이 실행될 때까지 이러한 사항을 남겨 둘 수도 있습니다. 처음에 일이 제대로 진행되지 않아 다시 시도해야 하는 경우를 대비해 주요 변경 사항의 사본을 보관하는 것이 좋습니다. 또는 변경한 내용을 적어 다시 시작해야 할 경우 수행해야 할 작업을 알 수 있습니다.

  10. grub-install /dev/vda

  11. exit # chroot를 종료하고 복구 CD 이미지의 쉘로 돌아갑니다.

  12. for i in proc dev/pts dev proc sys; do umount /target/$i ; done

  13. umount아래의 모든 것/target

  14. KVM 호스트에서는 분리된 추가 디스크를 사용합니다 virsh detach-disk.

이제 가상 머신을 다시 시작할 수 있습니다. ISO 이미지 가상 "CD-ROM" 대신 하드 디스크에서 부팅하도록 지시해야 할 수도 있습니다.

관련 정보