RHEL 8.4에서 KVM (virt-manager) 설치 가이드
이 가이드는 Red Hat Enterprise Linux (RHEL) 8.4 환경에서 KVM(Kernel-based Virtual Machine) 및 virt-manager를 설치하고 구성하는 방법을 설명합니다. KVM은 Linux 커널에 내장된 가상화 기술이며, virt-manager는 이를 관리하기 위한 편리한 그래픽 사용자 인터페이스(GUI) 도구입니다.
KVM 하이퍼바이저는 커널 기반 가상 머신(KVM) 모듈과 virtio 및 vfio와 같은 가상화 커널 드라이버를 포함합니다. 이러한 구성 요소는 호스트 시스템의 Linux 커널이 사용자 공간 소프트웨어에 가상화를 위한 리소스를 제공하도록 합니다.
사용자 공간 수준에서 QEMU 에뮬레이터는 게스트 운영 체제가 실행될 수 있는 완전한 가상화된 하드웨어 플랫폼을 시뮬레이션하고 리소스가 호스트에 할당되고 게스트에게 제공되는 방식을 관리합니다.
또한 libvirt 소프트웨어 제품군은 관리 및 통신 계층 역할을 하여 QEMU와 더 쉽게 상호 작용하고 보안 규칙을 적용하며 VM을 구성 및 실행하기 위한 여러 추가 도구를 제공합니다.
아래 그림은 RHEL 8 가상화 아키텍처의 개요를 보여줍니다.
1. KVM 패키지 설치
KVM 패키지는 RHEL 8의 AppStream 저장소를 통해 배포됩니다. 다음 명령어를 실행하여 RHEL 8 서버에 KVM 관련 패키지를 설치합니다.
[root@hk-tb ~]# dnf install -y @virt
@virt
그룹 패키지는 KVM 하이퍼바이저와 관련 유틸리티를 한 번에 설치할 수 있도록 해줍니다. 이 명령은 필요한 모든 종속성을 자동으로 해결하여 설치 과정을 간소화합니다.
2. VM 관리에 필요한 패키지 설치
KVM 코어 패키지 외에도 가상 머신(VM)을 효율적으로 관리하기 위한 추가적인 패키지들을 설치해야 합니다. 여기에는 virt-manager
와 같은 GUI 도구와 다양한 명령줄 유틸리티가 포함됩니다.
[root@hk-tb ~]# dnf install -y libvirt-devel virt-top libguestfs-tools virt-manager virt-install
libvirt-devel
: libvirt 라이브러리 개발용 파일 (필요한 경우).virt-top
: 가상 머신별 리소스 사용량을 실시간으로 모니터링하는 도구.libguestfs-tools
: 가상 머신 이미지에 접근하고 수정하는 데 유용한 도구 모음.virt-manager
: KVM, Xen, LXC 등을 관리하는 GUI 기반 가상 머신 관리자.virt-install
: 명령줄에서 가상 머신을 생성하는 도구.
이 패키지들을 설치하면 KVM 환경에서 VM을 생성, 관리, 모니터링하는 데 필요한 모든 도구를 갖추게 됩니다.
3. libvirtd 시스템 서비스 활성화 및 시작
KVM 가상화의 핵심 데몬인 libvirtd
는 기본적으로 자동으로 시작되지 않습니다. 따라서 이 서비스를 활성화하고 즉시 시작해야 KVM 가상화 환경이 정상적으로 작동합니다. 다음 명령어를 사용하여 libvirtd
서비스를 관리합니다.
[root@hk-tb ~]# systemctl enable libvirtd --now
systemctl enable libvirtd
는 시스템 부팅 시 libvirtd
서비스가 자동으로 시작되도록 설정하며, --now
옵션은 명령어를 실행하는 즉시 서비스를 시작합니다.
서비스가 정상적으로 시작되었는지 확인하려면 다음 명령어를 사용합니다.
[root@hk-tb ~]# systemctl status libvirtd
● libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-10-07 14:10:56 KST; 1s ago
Docs: man:libvirtd(8)
https://libvirt.org
Main PID: 19637 (libvirtd)
Tasks: 19 (limit: 32768)
Memory: 20.9M
CGroup: /system.slice/libvirtd.service
├─19637 /usr/sbin/libvirtd --timeout 120
├─19751 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
└─19753 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
Active: active (running)
이라는 메시지가 보이면 libvirtd
서비스가 정상적으로 실행 중인 것입니다.
4. 시스템 가상화 준비 상태 확인
KVM 환경이 제대로 설정되었는지 확인하기 위해 virt-host-validate
명령어를 사용할 수 있습니다. 이 명령어는 호스트 시스템의 가상화 지원 여부 및 구성 상태를 점검하여 보고합니다.
[root@hk-tb ~]# virt-host-validate
setlocale: No such file or directory
QEMU: Checking for hardware virtualization : PASS
QEMU: Checking if device /dev/kvm exists : PASS
QEMU: Checking if device /dev/kvm is accessible : PASS
QEMU: Checking if device /dev/vhost-net exists : PASS
QEMU: Checking if device /dev/net/tun exists : PASS
QEMU: Checking for cgroup 'cpu' controller support : PASS
QEMU: Checking for cgroup 'cpuacct' controller support : PASS
QEMU: Checking for cgroup 'cpuset' controller support : PASS
QEMU: Checking for cgroup 'memory' controller support : PASS
QEMU: Checking for cgroup 'devices' controller support : PASS
QEMU: Checking for cgroup 'blkio' controller support : PASS
QEMU: Checking for device assignment IOMMU support : PASS
QEMU: Checking if IOMMU is enabled by kernel : WARN (IOMMU appears to be disabled in kernel. Add intel_iommu=on to kernel cmdline arguments)
QEMU: Checking for secure guest support : WARN (Unknown if this platform has Secure Guest support)
대부분의 항목이 PASS
로 표시되면 KVM 가상화 환경이 기본적으로 잘 설정된 것입니다. WARN
메시지는 권장 사항 또는 추가적인 최적화가 필요한 부분을 나타냅니다. 예를 들어, 위 출력에서는 IOMMU가 커널에서 비활성화되어 있다는 경고가 나타났는데, 이는 장치 패스스루와 같은 고급 가상화 기능을 사용하지 않는다면 큰 문제는 되지 않습니다.
5. X11 패키지 설치: virt-manager GUI 사용을 위한 그래픽 환경 설정
virt-manager
는 GUI 도구이므로, 원격에서 SSH로 접속하여 사용하려면 X11 포워딩을 위한 관련 패키지가 호스트 서버에 설치되어 있어야 합니다. 만약 X11 패키지가 설치되어 있지 않으면 다음과 같은 에러가 발생할 수 있습니다.
hkjeon@MacBook-Pro ~ % ssh root@xx.xx.xx.4 -Y
[root@hk-tb ~]# virt-manager
[root@hk-tb ~]# Unable to init server: Could not connect: Connection refused
Unable to init server: Could not connect: Connection refused
Unable to init server: Could not connect: Connection refused
(virt-manager:21405): Gtk-WARNING **: 15:11:55.606: cannot open display:
이 문제를 해결하고 XQuartz (macOS) 또는 Xming (Windows)과 같은 X11 클라이언트를 통해 virt-manager
GUI를 띄우려면, KVM 호스트 서버에 X11 관련 패키지를 설치해야 합니다.
[root@hk-tb ~]# dnf install xterm xorg-x11-xauth xorg-x11-fonts-* xorg-x11-utils -y
이 패키지들을 설치하면 SSH 접속 시 -Y
(또는 -X
) 옵션을 사용하여 X11 포워딩을 활성화하고, virt-manager
명령어를 실행하면 GUI 창이 로컬 머신에 표시될 것입니다.
SSH 접속 시 -Y
옵션은 X11 신뢰할 수 있는 포워딩을 활성화하며, -X
보다 더 넓은 권한을 가집니다. 일반적으로 -Y
를 사용하는 것이 편리합니다.
마무리
이 가이드에서는 RHEL 8.4 환경에서 KVM(Kernel-based Virtual Machine)과 virt-manager
를 설치하고 구성하는 방법을 상세히 설명했습니다. KVM 패키지 설치부터 libvirtd
서비스 활성화, 시스템 가상화 준비 상태 확인, 그리고 원격에서 virt-manager
GUI를 사용하기 위한 X11 패키지 설치까지의 모든 단계를 다루었습니다. 이 가이드를 통해 RHEL 서버에 안정적인 가상화 환경을 구축하고 가상 머신을 효율적으로 관리할 수 있기를 바랍니다.
'깐돌의 클라우드 도구함' 카테고리의 다른 글
[Linux] 로그인 배너 설정 가이드 (0) | 2025.05.27 |
---|---|
[컨테이너] RHOCP4 클러스터에서 노드를 효과적으로 관리하는 방법 (0) | 2025.05.26 |
[모니터링] Grafana와 Prometheus 연동 가이드 (0) | 2025.05.26 |
[모니터링] Prometheus 설치 및 Node Exporter 연동 방법 (실습 기반) (0) | 2025.05.23 |
[자동화] Ansible YAML 파일 보안 암호화 실습 (0) | 2025.05.23 |