[가상화] KVM (virt-manager) 설치 가이드

2025. 5. 26. 21:34·깐돌의 클라우드 도구함
728x90

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 하이퍼바이저와 관련 유틸리티를 한 번에 설치할 수 있도록 해줍니다. 이 명령은 필요한 모든 종속성을 자동으로 해결하여 설치 과정을 간소화합니다.

RHEL 8 가상화 시작하기 (Red Hat 공식 문서)

 

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 서비스가 정상적으로 실행 중인 것입니다.

Libvirt 개발 가이드 (Libvirt 공식 문서)

 

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를 사용하는 것이 편리합니다.

X.Org Server 공식 웹사이트

마무리

이 가이드에서는 RHEL 8.4 환경에서 KVM(Kernel-based Virtual Machine)과 virt-manager를 설치하고 구성하는 방법을 상세히 설명했습니다. KVM 패키지 설치부터 libvirtd 서비스 활성화, 시스템 가상화 준비 상태 확인, 그리고 원격에서 virt-manager GUI를 사용하기 위한 X11 패키지 설치까지의 모든 단계를 다루었습니다. 이 가이드를 통해 RHEL 서버에 안정적인 가상화 환경을 구축하고 가상 머신을 효율적으로 관리할 수 있기를 바랍니다.

728x90
반응형

'깐돌의 클라우드 도구함' 카테고리의 다른 글

[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
'깐돌의 클라우드 도구함' 카테고리의 다른 글
  • [Linux] 로그인 배너 설정 가이드
  • [컨테이너] RHOCP4 클러스터에서 노드를 효과적으로 관리하는 방법
  • [모니터링] Grafana와 Prometheus 연동 가이드
  • [모니터링] Prometheus 설치 및 Node Exporter 연동 방법 (실습 기반)
깐돌씨
깐돌씨
하루하루를 기록하는 공간. 일상에서 얻은 영감, 좋아하는 취미, 그리고 클라우드 업무 팁까지 함께 나눕니다.
  • 깐돌씨
    조용한 깐돌이네
    깐돌씨
  • 전체
    오늘
    어제
    • 분류 전체보기 (95) N
      • 깐돌일기 (22) N
      • 취미탐험대 (18) N
      • 깐돌의 클라우드 도구함 (55) N
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    RHEL8
    공모주분석
    KVM
    kickstart
    private registry
    rhel
    리눅스 가상화
    신규상장주
    리눅스
    공모주청약
    Docker
    rhocp
    리눅스 서버
    에스엔시스
    서버 관리
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
깐돌씨
[가상화] KVM (virt-manager) 설치 가이드
상단으로

티스토리툴바