RHEL 8에서 KVM 가상 머신(VM) 생성: virsh 명령어 활용 가이드
RHEL 8 환경에서 KVM 가상 머신을 생성하는 방법은 다양합니다. virt-manager
GUI를 이용하거나, 강력한 명령줄 도구인 virsh
명령어를 통해 자동화된 방식으로 VM을 생성할 수 있습니다. 이 가이드에서는 virsh
명령어를 사용하여 ISO 이미지로 일반적인 GUI 설치, 터미널 텍스트 설치, 그리고 기존 qcow2
이미지를 통한 VM 생성 방법을 샘플과 함께 설명합니다.
목차
- ISO 이미지를 사용하여 Virt-manager GUI로 설치: 일반적인 VM 생성 방법
- ISO 이미지를 사용하여 터미널 콘솔로 설치: 비대화형(텍스트) 설치 방법
- QCOW2 파일을 통한 VM 생성: 기존 이미지 활용
1. ISO 이미지를 사용하여 Virt-manager GUI로 설치할 때 (일반적인 방법)
이 방법은 VM을 생성하고 설치 과정에서 Virt-manager GUI를 통해 그래픽 환경으로 상호작용하는 가장 일반적인 방식입니다. virt-install
명령어를 사용하여 VM을 생성하며, --graphics=vnc
옵션을 통해 VNC 접속을 활성화합니다.
virt-install \
--name test-gui \
--ram 2048 \
--vcpus 2 \
--disk path=/var/lib/libvirt/images/test-gui.qcow2,size=20 \
--os-variant rhel8.4 \
--os-type linux \
--network bridge=br-mgmt \
--graphics vnc \
--console pty,target_type=serial \
--location /root/os-images/rhel-8.4-x86_64-dvd.iso
--name test-gui
: 생성할 VM의 이름을test-gui
로 지정합니다.--ram 2048
: VM에 할당할 RAM 크기를 2048MB (2GB)로 설정합니다.--vcpus 2
: VM에 할당할 가상 CPU 코어 수를 2개로 설정합니다.--disk path=/var/lib/libvirt/images/test-gui.qcow2,size=20
: VM의 가상 디스크 경로와 크기를 지정합니다. 여기서는/var/lib/libvirt/images/test-gui.qcow2
경로에 20GB 크기의 QCOW2 포맷 디스크를 생성합니다.--os-variant rhel8.4
: 설치할 OS의 변형을rhel8.4
로 지정합니다. 이는 virt-install이 OS에 최적화된 설정을 적용하는 데 도움을 줍니다.--os-type linux
: OS 유형이 Linux임을 명시합니다.--network bridge=br-mgmt
: VM을br-mgmt
라는 이름의 브릿지 네트워크에 연결합니다. 호스트 시스템에 해당 브릿지가 미리 구성되어 있어야 합니다.--graphics vnc
: VM 설치 및 실행 시 VNC 그래픽 콘솔을 사용하도록 설정합니다. 이를 통해 Virt-manager 또는 VNC 클라이언트를 통해 VM의 GUI 화면을 볼 수 있습니다.--console pty,target_type=serial
: 시리얼 콘솔을 활성화하여 터미널을 통한 접근을 가능하게 합니다.--location /root/os-images/rhel-8.4-x86_64-dvd.iso
: OS 설치에 사용할 ISO 이미지 파일의 경로를 지정합니다.
이 명령어를 실행하면 VM이 생성되고, Virt-manager GUI에 새로운 VM이 나타나며 VNC 콘솔을 통해 OS 설치 과정을 그래픽 환경에서 진행할 수 있습니다. VM 설치 후 재부팅 또는 전원 종료를 하지 않는 이상 터미널이 유지됩니다.
2. ISO 이미지를 사용하여 터미널 콘솔로 설치하는 방법
이 방법은 GUI 없이 순수하게 터미널 텍스트 모드에서 OS 설치를 진행할 때 유용합니다. 주로 자동화된 설치 스크립트나 Kickstart 설치 시 사용됩니다. 중요한 점은 이 방식으로 설치할 경우 기본적으로 VM에 Display VNC Hardware가 추가되지 않아 Virt-manager에서 해당 VM의 GUI를 볼 수 없습니다.
virt-install \
--name test-text \
--ram 2048 \
--vcpus 2 \
--disk path=/var/lib/libvirt/images/test-text.qcow2,size=20 \
--os-variant rhel8.4 \
--os-type linux \
--network bridge=br-mgmt \
--graphics none \
--console pty,target_type=serial \
--location /root/os-images/rhel-8.4-x86_64-dvd.iso \
--extra-args 'console=ttyS0,115200n8 serial'
--graphics none
: 그래픽 콘솔을 사용하지 않도록 설정합니다.--extra-args 'console=ttyS0,115200n8 serial'
: 커널 부팅 인자를 추가하여 시리얼 콘솔을 통해 OS 설치 과정의 텍스트 출력을 표시하도록 지시합니다.
이 명령어를 실행하면 SSH 터미널에서 VM에 시리얼 콘솔로 접속하여 설치하는 것과 동일하게 텍스트로 설치를 진행할 수 있습니다. 설치 완료 후 VM의 GUI를 보고 싶다면, Virt-manager에서 해당 VM의 하드웨어 설정을 편집하여 Display VNC 하드웨어를 수동으로 추가해주어야 합니다.
Display VNC 추가 방법:
- Virt-manager에서 해당 VM을 선택하고 '열기'를 클릭합니다.
- VM 세부 정보 창에서 전구 모양 아이콘 (Lightbulb)을 클릭하여 하드웨어 세부 정보를 엽니다.
- 왼쪽 하단의 '하드웨어 추가(Add Hardware)' 버튼을 클릭합니다.
- '디스플레이(Display)'를 선택하고 'VNC' 또는 'Spice'를 선택한 후 '완료(Finish)'를 클릭합니다.
- VM을 재부팅하면 GUI를 볼 수 있습니다.
3. QCOW2 파일을 통한 VM 생성 방법
이미 OS가 설치된 QCOW2 이미지 파일이 있다면, 이를 사용하여 새로운 VM을 빠르게 생성할 수 있습니다. 이 방법은 백업된 VM 이미지를 복원하거나, 미리 구성된 템플릿 이미지를 사용하여 VM을 배포할 때 매우 유용합니다.
virt-install \
--name test-qcow2 \
--ram 2048 \
--vcpus 2 \
--import \
--disk path=/root/centos7.0.qcow2 \
--os-variant rhel8.4 \
--os-type linux \
--network bridge=br-mgmt \
--graphics vnc \
--console pty,target_type=serial
--import
: 기존 디스크 이미지 파일을 가져와 VM을 생성하도록 지시합니다. 이 옵션을 사용하면--location
옵션 대신 디스크 경로를 직접 지정해야 합니다.--disk path=/root/centos7.0.qcow2
: 가져올 QCOW2 이미지 파일의 경로를 지정합니다. 이 이미지는 이미 OS가 설치되어 있어야 합니다.
이 명령어를 실행하면 별도의 OS 설치 과정 없이, 지정된 QCOW2 파일을 기반으로 새로운 VM이 즉시 생성되고 부팅됩니다. --graphics vnc
옵션을 통해 Virt-manager 또는 VNC 클라이언트로 해당 VM의 GUI를 확인할 수 있습니다.
위 예시처럼 QCOW2 파일을 가지고 VM이 생성되고 부팅됩니다. 이렇게 생성된 VM은 기존 이미지의 모든 설정과 데이터를 포함하고 있습니다.
마무리
이 가이드에서는 RHEL 8 환경에서 virsh
명령어를 활용하여 KVM 가상 머신을 생성하는 세 가지 방법을 다루었습니다. ISO 이미지를 통한 일반적인 GUI 설치, 터미널 텍스트 기반 설치, 그리고 기존 QCOW2 이미지를 활용한 VM 생성 방법을 샘플과 함께 설명했습니다. 각 방법은 특정 상황과 요구사항에 따라 유용하게 활용될 수 있습니다. 이 가이드가 여러분의 KVM VM 관리 및 배포 작업에 도움이 되기를 바랍니다.
'깐돌의 클라우드 도구함' 카테고리의 다른 글
[컨테이너] RHEL 8.4에 Harbor 컨테이너 레지스트리 설치하기 (1) | 2025.06.03 |
---|---|
[Linux] du 명령어로 디렉토리(폴더)별 디스크 사용량 확인하기 (0) | 2025.06.03 |
[Linux] Cobbler 설치 및 기본 구성 가이드 (0) | 2025.05.29 |
[Linux] PXE 서버 구축 및 자동 OS 설치 가이드 (0) | 2025.05.29 |
[Linux] RHEL 웹 콘솔 (Cockpit) 설치 및 활용 가이드 (0) | 2025.05.28 |