[QEMU] 가상 머신

Alexandria·2024년 3월 1일

QEMU

목록 보기
1/3
post-thumbnail

1. 설치

가상화 지원여부를 확인해본다.

cpu 정보에서 vmx 혹은 svm가 포함된 flags의 개수를 구해보는 것으로 알 수 있다.

가상화가 지원된다면 cpu 코어수 만큼 나올것이다.

# egrep -c '(vmx|svm)' /proc/cpuinfo
# 4

qemu kvm을 설치해본다.

qemu는 하드웨어 환경을 소프트웨어적으로 구현한 에뮬레이터이다.

에뮬레이터는 속도가 상대적으로 느리기 때문에 KVM(Kernel-based Virtual Machine)과 같이 사용된다.

KVM은 리눅스 커널을 기반으로 전가상화방식을 지원하는 하이퍼바이저이다.

# apt -y install qemu-kvm
# kvm --version
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.24)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

2. 가상 머신 생성

qemu를 이용하여 가상 머신을 생성해본다.

우선 OS가 설치될 디스크를 생성해본다.

# qemu-img create -f qcow2 disk.qcow2 30G
Formatting 'disk.qcow2', fmt=qcow2 size=32212254720 cluster_size=65536 lazy_refcounts=off refcount_bits=16

생성된 디스크 정보를 확인해본다.

# qemu-img info disk.qcow2
image: disk.qcow2
file format: qcow2
virtual size: 30 GiB (32212254720 bytes)
disk size: 196 KiB
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false

virtio와 windows 이미지를

다운받은 후 부팅한다.

virtio(Virtual I/O)는 Guest와 Host간 성능을 향상시키기 위한 인터페이스이다.

# qemu-system-x86_64 -enable-kvm -cpu host -smp 2 -m 2G -drive file=disk.qcow2,format=qcow2 -drive file=windows.iso,media=cdrom -boot order=d -drive file=virtio-win-0.1.225.iso,media=cdrom -net user,hostfwd=tcp::3389-:3389 -net nic -vga std -vnc 0.0.0.0:0

VNC를 통해 접속해본다.

Guest OS를 설치 후 RDP를 오픈한다.

포트포워딩(hostfwd)을 설정하였기 때문에 접속할 수 있다.

# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:5900            0.0.0.0:*               LISTEN      9491/qemu-system-x8
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      849/systemd-resolve
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      914/sshd: /usr/sbin
tcp        0      0 0.0.0.0:3389            0.0.0.0:*               LISTEN      9491/qemu-system-x8
tcp6       0      0 :::22                   :::*                    LISTEN      914/sshd: /usr/sbin

cdrom에 virtio를 넣었으니 설치해 볼 수 있다.

3. 가상 머신 실행

가상 머신의 부팅 정보가 디스크에 기록되었기 때문에 cdrom은 필요가 없어졌다.

디스크의 정보를 확인해보면 사이즈가 증가함을 알 수 있다.

# qemu-img info disk.qcow2
image: disk.qcow2
file format: qcow2
virtual size: 30 GiB (32212254720 bytes)
disk size: 10.4 GiB
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false

디스크를 통해 부팅한다.

# qemu-system-x86_64 -enable-kvm -cpu host -smp 2 -m 2G -drive file=disk.qcow2,format=qcow2 -boot order=c -net user,hostfwd=tcp::3389-:3389 -net nic -vga std -vnc 0.0.0.0:0 -nodefaults
profile
IT 도서관

0개의 댓글