Manjaro/Archlinux에 KVM/QEMU를 설치하는 방법
컨텐츠 정보
- 1,199 조회
본문
이 페이지에서
- QEMU란 무엇입니까?
KVM은 Kernel-based Virtual Machine의 약자로 Linux 커널 모듈 기반의 가상화 기술 솔루션입니다. KVM은 하드웨어 가상화 확장 Intel VT 또는 AMD-V를 지원하는 Linux x86 시스템에서 실행되는 오픈 소스 소프트웨어 솔루션입니다. KVM 커널 모듈은 버전 2.6.20부터 Linux 커널에 제공되었으며 FreeBSD 및 Illumos와 같은 다른 운영 체제에 로드 가능한 커널 모듈로 포팅되었습니다.
KVM 기술은 Linux 시스템을 호스트 시스템이라고 하는 하이퍼바이저 가상화로 전환합니다. 호스트 머신에서 VM(가상 머신)이라는 격리된 여러 시스템을 생성할 수 있습니다. 각 가상 머신에는 자체 시스템(Linux, Windows 또는 BSD일 수 있음)이 있으며 메모리, CPU, 네트워크 카드, 디스크, 그래픽 등과 같은 개인용 가상화 하드웨어도 있습니다.
QEMU란?
QEMU 또는 Quick Emulator는 하드웨어 가상화를 위한 오픈 소스 시스템 에뮬레이터 및 가상화 프로그램입니다. 일반적으로 가상 머신을 실행하기 위해 KVM 커널 모듈과 함께 가상화기로 사용됩니다. 게스트 머신/가상 머신의 뛰어난 성능을 달성하기 위해 Intel VT 또는 AMD-V와 같은 하드웨어 가상화 확장을 활용합니다. QEMU/KVM 가상화는 주로 데이터 센터에서 하이퍼바이저로 사용됩니다.
이 가이드에서는 Manjaro/Archlinux 머신에서 KVM/QEMU 가상화를 설정하는 방법을 배웁니다. 또한 GUI 응용 프로그램 "virt-manager"(가상 머신 관리를 위한 데스크톱 사용자 인터페이스)를 사용하여 첫 번째 가상 머신을 생성하는 방법을 배웁니다.
전제 조건
- x86 또는 64비트 아키텍처를 사용하는 Manjaro/Archlinux.n
- 가상화를 지원하는 CPU/프로세서(Intel VT 또는 AMD-V).n
- sudo 루트 권한이 있는 루트가 아닌 사용자.n
시스템 아키텍처 및 CPU 가상화 지원 확인
먼저 컴퓨터 아키텍처와 Intel CPU용 가상화 가속 Intel VT 및 AMD CPU용 AMD-v의 하드웨어 지원을 확인하십시오.
1. 다음 명령을 실행하여 시스템의 시스템 아키텍처를 확인합니다.
uname -m
다음과 같은 결과가 표시됩니다.
Linux machine1 5.4.134-1 #1 SMP PREEMPT Tue Jul 06 08:10:03 UTC 2021 x86_64 GNU/Linux
알 수 있듯이 현재 "x86_64" 또는 "64비트" 아키텍처와 커널 버전 "5.4"의 Linux 시스템을 사용하고 있습니다.
2. 다음으로 다음 명령을 실행하여 하드웨어 가상화 지원을 확인합니다.
sudo lscpu | grep Virtualization
Intel 프로세서의 경우 아래와 유사한 출력이 표시됩니다.
Virtualization: VT-x
그리고 AMD 프로세서의 경우 아래에 유사한 출력이 있습니다.
Virtualization: AMD-V
3. 선택적으로 다음 명령을 사용하여 컴퓨터에서 중첩 가상화를 활성화할 수 있습니다.
sudo modprobe -r kvm_intel sudo modprobe kvm_intel nested=1
그런 다음 다음 명령을 실행하여 중첩된 가상화를 확인합니다.
cat /sys/module/kvm_intel/parameters/nested
"Y" 또는 "1"과 같은 출력이 표시되면 기능 중첩 가상화가 활성화되었음을 의미합니다. 그렇지 않으면 "No such file or directory"라는 오류 메시지가 표시됩니다.
QEMU 및 Virt-Manager 패키지 설치
1. qemu 및 virt-manager 패키지를 설치하려면 아래 명령을 실행하십시오.
sudo pacman -S qemu virt-manager libvirt virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat ebtables libguestfs
manjaro 시스템의 경우 iptables와 ebtables 사이에 패키지 충돌이 있습니다. "y"를 입력하여 기본 iptables 패키지를 제거하고 "ebtables" 및 "nftables"로 교체합니다.
다음은 반드시 알아야 할 필수 패키지입니다.
- qemu: 오픈 소스 머신 에뮬레이터 및 가상화 프로그램입니다.n
- virt-manager; 가상 머신을 관리하기 위한 GUI 애플리케이션.n
- libvirt: KVM, QEMU 등과 같은 가상화 엔진을 제어하기 위한 API입니다.n
- dnsmasq: 경량 DNS 전달자 및 DHCP 서버.
- bridge-utils: Linux 이더넷 브리지 구성을 위한 유틸리티입니다.n
- libguestfs: 가상 머신(VM) 디스크 이미지를 수정하기 위한 도구 세트입니다.n
2. 그런 다음 다음 명령을 사용하여 libvirtd 서비스를 시작하고 활성화합니다.
sudo systemctl enable --now libvirtd
아래와 비슷한 출력을 얻을 수 있습니다.
Created symlink /etc/systemd/system/multi-user.target.wants/libvirtd.service → /usr/lib/systemd/system/libvirtd.service. Created symlink /etc/systemd/system/sockets.target.wants/virtlockd.socket → /usr/lib/systemd/system/virtlockd.socket. Created symlink /etc/systemd/system/sockets.target.wants/virtlogd.socket → /usr/lib/systemd/system/virtlogd.socket. Created symlink /etc/systemd/system/sockets.target.wants/libvirtd.socket → /usr/lib/systemd/system/libvirtd.socket. Created symlink /etc/systemd/system/sockets.target.wants/libvirtd-ro.socket → /usr/lib/systemd/system/libvirtd-ro.socket.
3. 이후 다음 명령어를 실행하여 libvirtd 서비스 상태를 확인합니다.
sudo systemctl status libvirtd
그리고 아래와 유사한 출력이 표시되어야 합니다. 표시된 대로 libvritd 서비스가 활성화되어 실행 중입니다.
? libvirtd.service - Virtualization daemon Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2021-07-23 10:33:25 UTC; 6s ago TriggeredBy: ? libvirtd-ro.socket ? libvirtd.socket ? libvirtd-admin.socket Docs: man:libvirtd(8) https://libvirt.org Main PID: 16828 (libvirtd) Tasks: 19 (limit: 32768) Memory: 16.4M CPU: 226ms CGroup: /system.slice/libvirtd.service ??16828 /usr/bin/libvirtd --timeout 120
루트가 아닌 사용자가 KVM/QEMU 가상화를 사용하도록 허용
기본적으로 "root" 사용자만 가상 머신을 만들고 관리할 수 있습니다. 루트가 아닌 사용자가 가상 머신을 만들고 관리할 수 있도록 하려면 아래의 libvirtd 구성을 따라야 합니다.
1. 다음 명령을 실행하여 libvirtd 구성을 편집합니다.
sudo nano /etc/libvirt/libvirtd.conf
"unix_sock_group" 옵션의 주석을 제거하고 그룹 이름을 "libvirt"로 입력하십시오.
# Set the UNIX domain socket group ownership. This can be used to # allow a 'trusted' set of users access to management capabilities # without becoming root. # # This setting is not required or honoured if using systemd socket # activation. # # This is restricted to 'root' by default. unix_sock_group = "libvirt"
그런 다음 "unix_sock_rw_perms" 옵션의 주석을 제거하고 권한을 기본값인 "0770"으로 둡니다.
# Set the UNIX socket permissions for the R/W socket. This is used # for full management of VMs # # This setting is not required or honoured if using systemd socket # activation. # # Default allows only root. If PolicyKit is enabled on the socket, # the default will change to allow everyone (eg, 0777) # # If not using PolicyKit and setting group ownership for access # control, then you may want to relax this too. unix_sock_rw_perms = "0770"
Ctrl+x 버튼을 눌러 구성을 저장하고 y를 입력한 다음 Enter 키를 누릅니다.
2. 다음으로 다음 명령을 사용하여 사용자를 "libvirt" 그룹에 추가합니다.
sudo usermod -a -G libvirt username
3. 그런 다음 libvirtd 서비스를 다시 시작하여 새 구성을 적용합니다.
sudo systemctl restart libvirtd
이제 "libvirt" 그룹 내의 모든 사용자는 가상 머신을 만들고 구성할 수 있습니다.
virt-manager로 QEMU/KVM 설치 확인
이제 애플리케이션 메뉴에서 "virt-manager" 애플리케이션을 엽니다.
1. virt-manager 애플리케이션에서 "Edit -> Connection Details" 메뉴를 클릭합니다.
{이미지:0}
2. 개요 탭에서 virt-manager가 qemu:///system에 자동으로 연결되는 것을 볼 수 있습니다.
{이미지:1}
3. "가상 네트워크" 탭으로 이동하면 "기본" 네트워크 구성이 표시됩니다.
- 인터페이스: virbr0
- 부팅 시 자동 시작: 예
- IP 주소: 192.168.122.0/24
- 범위 DHCP IP 주소: 192.168.122.2 - 192.168.122.254
- 네트워크 유형: NATn
{이미지:2}
4. 이제 "스토리지" 탭으로 이동하면 "기본" 풀 스토리지 구성이 표시됩니다.
- 유형: 파일 시스템 디렉토리n
- 크기: 디스크에 따라 다름
- 위치: /var/lib/libvirt/images
- 부팅 시 자동 시작: 예
모든 가상 머신 이미지는 이 기본 스토리지인 "/var/lib/libvirt/images" 디렉토리에서 사용할 수 있습니다.
{이미지:3}
5. 그런 다음 "+" 버튼을 클릭하여 ISO 이미지 파일용 새 풀 저장소를 만듭니다. 모든 ISO 파일 운영 체제는 이 풀에서 사용할 수 있습니다.
아래와 같이 스토리지 구성을 따르십시오.
- 이름: ISO
- 유형: dir: 파일 시스템 디렉토리n
- 대상 경로: /path/directory/to/your/iso/
{이미지:4}
프로세스를 완료하려면 "마침" 버튼을 클릭하십시오. 그러면 새 가상 머신을 만들 준비가 된 것입니다.
virt-manager를 사용하여 새 가상 머신 생성
1. virt-manager 애플리케이션에서 "+" 버튼을 클릭하여 새 가상 머신을 생성합니다.
{이미지:5}
2. 설치에 ISO 이미지를 사용하려면 "로컬 설치 미디어"를 선택하고 계속하려면 "앞으로" 버튼을 클릭하십시오.
{이미지:6}
3. "찾아보기" 버튼을 클릭하여 ISO 파일을 선택합니다.
{이미지:7}
이제 풀 저장소 "ISO"를 선택하고 설치를 위한 iso 파일을 선택한 다음(이 예에서는 "Debian 10") "볼륨 선택"을 클릭합니다.
{이미지:8}
"설치 미디어/소스에서 자동으로 검색" 옵션을 선택 취소하고 설치하려는 운영 체제(이 예에서는 "Debian 10")를 입력한 다음 "앞으로" 버튼을 다시 클릭하여 계속합니다.
{이미지:9}
4. 가상 머신의 메모리 및 CPU 양을 선택한 다음 "앞으로"를 클릭합니다.
{이미지:10}
5. 가상 머신의 디스크 크기를 선택하고 "앞으로"를 클릭합니다.
{이미지:11}
6. 구성을 다시 확인하고 "마침" 버튼을 클릭하여 설치합니다.
{이미지:12}
7. 이제 가상 머신이 QEMU/KVM 가상화와 함께 실행되고 있으며 os 설치를 계속할 수 있습니다.
{이미지:13}
결론
축하합니다! Manjaro/Archlinux 시스템에서 QEMU/KVM 가상화를 설정하는 방법을 배웠습니다. 또한 가상 머신을 생성하기 위해 virt-manager 애플리케이션을 사용하는 방법. 이제 원하는 운영 체제로 가상 머신을 만들 수 있습니다. 다른 Linux 배포판, Windows 또는 BSD 제품군 OS를 사용할 수 있습니다.
관련자료
-
이전
-
다음















