QEMU를 사용한 VM 제작
5204 단어 Linux
이 글은 2013/08/11momoto.github.io에 기고한 내용을 Qita로 옮긴 것이다
QEMU를 사용하여 가상 머신을 생성하는 단계의 레코드입니다.호스트 측에 가상화 기능이 있는지 확인한 후 QEMU를 사용하여 고객 OS를 구축합니다.
1. 가상화 기능 확인
호스트인 GNU/Linux 시스템에서 CPU의 하드웨어 가상화 지원 기능과 Linux KVM 지원을 확인합니다.
하드웨어 지원 확인
lscpu의 가상화(Virtualization) 행이나
/proc/cpuinfoのflags
행에서 하드웨어 가상화 지원 기능(Hardware-Assisted Virtualization)을 확인합니다.이 기능은 CPU 공급업체마다 설치가 다르기 때문에 Intel 제품이라면 VT-x를, AMD 제품이면 AMD-V를 확인한다.lscpu
$ lscpu | grep -Ei "(vt-x|amd-v)"
仮想化: AMD-V
/proc/cpuinfo
에서는 VT-x의 동작 모드인 VMX 또는 AMD-V의 Secure virtual machine(svm)를 확인합니다.cpuinfo
$ grep -E "(vmx|svm)" /proc/cpuinfo
flags : ... svm ... svm_lock ...
커널 지원 확인
Linux KVM 커널 모듈이 활성화되어 있는지 확인합니다.
/proc/config.gz
또는 lsmod
에서 확인합니다.config.gz
$ zgrep -E "KVM|VIRTUALIZATION" /proc/config.gz
CONFIG_KVM_GUEST=y
CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQ_ROUTING=y
CONFIG_HAVE_KVM_EVENTFD=y
CONFIG_KVM_APIC_ARCHITECTURE=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
CONFIG_KVM_MMU_AUDIT=y
CONFIG_KVM_DEVICE_ASSIGNMENT=y
lsmod$ lsmod | grep kvm
kvm_amd 52151 0
kvm 376394 1 kvm_amd
또한 사용자는 /dev/kvm
에 액세스할 수 있는 권한이 필요합니다.Arch Linux에 kvm 그룹이 준비되어 있으므로 수퍼서버를 사용하는 사용자를 그룹에 추가합니다.gpasswd
$ sudo gpasswd -a $(whoami) kvm
2. 고객 OS 구축
가상 디스크 이미지 생성
qemu-img
를 사용하여 고객 OS의 디스크 이미지를 만듭니다.디스크 이미지의 파일 형식, 파일 이름 및 크기를 선택합니다.qcow2
는 QEMU에서 사용하는 이미지 파일 형식입니다.qemu-img
$ qemu-img create -f qcow2 ~/Workspace/CentOS-6.4-x86_64-netinstall.qcow2 8G
Formatting '/home/guest/Workspace/CentOS-6.4-x86_64-netinstall.qcow2', fmt=qcow2 size=8589934592 encryption=off cluster_size=65536 lazy_refcounts=off
고객 OS 설치
qemu-system-<architecture>
를 사용하여 가상 시스템을 시작하여 고객 OS를 설치합니다.이 옵션은 OS를 설치하는 방법에 따라 적절한 옵션을 선택해야 합니다.설치 미디어를 CentOS-6.4-x86_64-netinstall.iso
로 옵티컬 드라이브에서 부팅하려면 -boot order=d
및 -cdrom <file>
를 선택합니다.qemu-system-x86_64
$ qemu-system-x86_64 \
-enable-kvm \
-m 512 \
-boot order=d \
-cdrom ~/Downloads/CentOS-6.4-x86_64-netinstall.iso \
~/Workspace/CentOS-6.4-x86_64-netinstall.qcow2
failed to initialize KVM: Device or resource busy
중 먼저 권장하지 않은 경우 호스트 측에서 다른 수퍼유저가 시작되었는지 확인하십시오Trying to unpack rootfs image as initramfs
의 가동이 멈춘 상황에서 방문자 OS에 필요한 메모리가 부족한 것 같습니다.QEMU-m
옵션의 값을 높여 보십시오.qemu-system-x86_64
$ qemu-system-x86_64 \
-enable-kvm \
-m 512 \
~/Workspace/CentOS-6.4-x86_64-netinstall.qcow2
참고 자료
Reference
이 문제에 관하여(QEMU를 사용한 VM 제작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/momoto/items/b7e2a2b28f91c4cb5cec텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)