6장. 가상 머신을 Q35 머신 유형으로 변환
RHEL 10에서는 i440fx
머신 유형이 더 이상 사용되지 않으며 향후 주요 RHEL 버전에서 제거됩니다. 또한 q35
시스템 유형을 사용하면 AHCI(Advanced Host Controller Interface) 및 vIOMMU(가상 Input-output memory management unit) 에뮬레이션과 같은 i440fx
와 비교하여 추가 이점이 있습니다.
따라서 Red Hat은 대신 q35
를 사용하도록 i440fx
를 사용하는 VM(가상 머신)을 변환하는 것이 좋습니다. 아직 정의하지 않은 VM 구성을 변환할 수도 있습니다.
고려 사항
VM의 시스템 유형 변경은 물리적 시스템의 마더보드를 변경하는 것과 유사합니다. 결과적으로 i440fx
에서 q35
로 VM의 시스템 유형을 변환하면 경우에 따라 게스트 운영 체제의 기능에 문제가 발생할 수 있습니다.
사전 요구 사항
RHEL 10 호스트의 VM에서
i440fx
시스템 유형을 사용하고 있습니다. 이를 확인하려면 다음 명령을 사용합니다.virsh dumpxml <vm-name> | grep machine
# virsh dumpxml <vm-name> | grep machine <type arch='x86_64' machine='pc-i440fx-10.0.0'>hvm</type>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VM의 원래 구성을 백업하여 필요한 경우 변환 및 재해 복구에 사용할 수 있습니다.
virsh dumpxml <vm-name> > <vm-name>-backup.xml
# virsh dumpxml <vm-name> > <vm-name>-backup.xml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
정의되지 않은 VM의 절차
Q35를 사용하도록 VM의 구성을 조정합니다. 소스 구성으로 이전에 생성한 백업 파일을 사용합니다.
cat <vm-name>-backup.xml | virt-xml --edit --convert-to-q35 > <vm-name-q35>.xml
# cat <vm-name>-backup.xml | virt-xml --edit --convert-to-q35 > <vm-name-q35>.xml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VM을 정의합니다.
virsh define <vm-name-q35>.xml
# virsh define <vm-name-q35>.xml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
정의된 VM의 절차
Q35를 사용하도록 VM의 구성을 조정합니다.
virt-xml <vm-name> --edit --convert-to-q35
# virt-xml <vm-name> --edit --convert-to-q35
Copy to Clipboard Copied! Toggle word wrap Toggle overflow VM이 실행 중이면 종료합니다.
virsh shutdown <vm-name>
# virsh shutdown <vm-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
VM의 시스템 유형을 표시합니다.
virsh dumpxml <vm-name> | grep machine
# virsh dumpxml <vm-name> | grep machine <type arch='x86_64' machine='q35'>hvm</type>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - VM을 시작하고 게스트 운영 체제에 로그인할 수 있는지 확인합니다.
문제 해결
- Windows 게스트 운영 체제를 사용하고 VM에서 변환 후 부팅 장치를 찾을 수 없는 경우 안전 모드로 부팅한 다음 VM을 재부팅합니다.
머신 유형을 변경하면 VM이 작동하지 않는 경우 백업 구성을 기반으로 새 VM을 정의합니다.
virsh define <vm-name>-backup.xml
# virsh define <vm-name>-backup.xml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow