EndeavourOS, Manjaro 등 Arch 계열 Linux에 QEMU+KVM, libvirt, Virt-Manager 가상머신 설치
QEMU, KVM, libvirt, Virt-Manager는 가상화 솔루션을 구축하는 핵심 구성요소로, 각각 다른 역할을 담당하지만 상호 협력하여 강력한 가상화 기능을 제공합니다.
QEMU는 오픈소스 범용 하드웨어 에뮬레이터이자 가상머신 관리자입니다. 순수 에뮬레이터로 실행할 수도 있고(성능이 낮음), KVM과 결합하여 하드웨어 가속 가상화를 제공할 수도 있습니다(성능이 높으며 베어메탈에 근접).
KVM은 Linux 커널의 모듈로, Linux 커널 위에서 직접 실행되며 하드웨어 가상화 기술을 활용하여 네이티브 하드웨어에 가까운 성능을 달성할 수 있습니다.
libvirt는 가상화 플랫폼(QEMU/KVM, Xen, VMware, Hyper-V 등)을 관리하기 위한 오픈소스 API 및 도구 세트입니다.
Virt-Manager는 그래픽 인터페이스 기반의 관리 도구로, 직접 가상머신을 관리하지 않고 libvirt가 제공하는 가상머신을 관리하는 데 사용됩니다. 주로 명령줄에 익숙하지 않은 사용자를 위해 편리한 그래픽 인터페이스를 제공합니다.
KVM은 Linux 커널에 내장되어 있으며, QEMU와 통합하여 고성능 가상화를 구현합니다. libvirt는 QEMU의 복잡성을 단순화하고 명령줄 기반의 관리 기능을 제공하며 가상화 관리의 핵심 도구입니다. Virt-Manager는 libvirt의 그래픽 인터페이스로, GUI 그래픽 인터페이스가 필요한 사용자가 보다 편리하게 가상머신을 관리할 수 있도록 합니다.
가상머신 실행에 필요한 구성요소 설치
yay -S qemu virt-manager virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat ebtables swtpm
sudo systemctl enable libvirtd.servicesudo systemctl start libvirtd.service
sudo usermod -aG libvirt $USER-
qemu는 범용 오픈소스 가상머신 및 에뮬레이터입니다. 하나의 운영체제에서 다른 운영체제를 실행할 수 있으며, 전체 시스템 가상화와 프로세스 에뮬레이션을 지원합니다.
-
virt-manager는 그래픽 기반 가상머신 관리 도구로, 가상머신의 생성, 관리 및 모니터링을 간소화합니다.
-
virt-viewer는 경량 원격 뷰어 도구로, 가상머신의 그래픽 콘솔에 연결할 수 있습니다(SPICE 또는 VNC 프로토콜 사용).
-
dnsmasq는 경량 DNS 및 DHCP 서버입니다. Libvirt는 이를 사용하여 가상머신에 NAT 네트워크 연결을 제공합니다(기본 설정).
-
vde2는 가상 스위치로, 가상 네트워크 환경을 만드는 데 사용됩니다. 선택 도구이며, 주로 고급 가상 네트워크 구성에 사용되고 복잡한 네트워크 토폴로지가 필요한 사용자에게 적합합니다.
-
bridge-utils는 브리지 네트워크 관리 도구를 제공하며, 가상머신의 네트워크 인터페이스를 물리적 네트워크 인터페이스에 브리징하는 데 사용됩니다. 가상머신이 외부 네트워크에 직접 접근해야 하는 경우(브리지 모드) 필수입니다.
-
openbsd-netcat은 네트워크 디버깅 및 데이터 전송 도구로, TCP 및 UDP 프로토콜을 지원합니다. Libvirt는 일부 네트워크 관련 작업(예: 원격 호스트 간 데이터 전송)에 이를 사용합니다.
-
ebtables는 Linux 커널의 브리지 필터 테이블을 관리하는 사용자 공간 도구입니다. 브리지 네트워크에서 가상머신의 네트워크 트래픽 규칙을 관리할 때 사용됩니다.
-
swtpm은 소프트웨어 에뮬레이션 TPM으로, 물리적 하드웨어 지원 없이 가상머신에서 TPM 기능을 사용할 수 있게 합니다. Windows 11 또는 TPM이 필요한 다른 애플리케이션 시나리오를 지원합니다.
QEMU, virt-manager에서 클립보드 공유, 파일 드래그 앤 드롭 기능 구현
yay -S spice-vdagent qemu-guest-agentsudo pacman -S spice-vdagent qemu-guest-agent- spice-vdagent는 주로 사용자 경험을 향상시키는 데 사용되며, 클립보드 공유, 파일 드래그 앤 드롭 등의 기능을 제공합니다.
- qemu-guest-agent는 가상머신과 호스트 간의 관리 및 통신 기능을 제공하여, 가상머신이 보다 효율적인 작업과 관리를 수행할 수 있게 합니다.
설치 완료 후, virt-manager(Linux 호스트 측)에서 가상머신을 설정해야 합니다.
- 디스플레이 프로토콜 Spice Spice 서버 - 유형: Spice 서버

- 하드웨어 추가(두 개): 채널: 이름 com.redhat.spice.0 선택 채널: 이름 org.qemu.guest_agent.0 선택


가상머신 내(게스트, 설치된 가상머신 시스템)에서 Spice Guest Tools 소프트웨어를 설치하여 클립보드 공유, 파일 드래그 앤 드롭 등의 기능을 지원합니다.
실행 시 “도메인 시작 오류: 필수 작업이 유효하지 않음: 네트워크 ‘default’가 활성화되지 않음”이 표시되면 default 네트워크를 시작해야 합니다.
default 네트워크 시작
sudo virsh net-start default부팅 시 자동 시작 설정
sudo virsh net-autostart default