리눅스에서 KVM (커널 기반 가상 머신)을 사용하여 가상 머신 생성하는 방법 – 1부

Create Virtual Machines in Linux Using KVM – Part 1

이 자습서는 RHEL/CentOS7Fedora 21과 같은 RedHat 기반 배포판에서 가상 머신을 만드는 데 KVM 소개, 배포 및 사용 방법에 대해 설명합니다.

KVM이란?

KVM 또는 (Kernel-based Virtual Machine)은 2.6.20 이후의 메인라인 Linux 커널에 포함된 Linux용 풀 가상화 솔루션으로, 대부분의 작업에 대해 안정적이고 빠릅니다.

KVM 기능

KVM을 사용하여 가상 플랫폼을 배포할 때 얻을 수 있는 많은 유용한 기능과 장점이 있습니다. KVM 하이퍼바이저는 다음 기능을 지원합니다:

  1. Over-committing : 시스템에서 사용 가능한 리소스보다 더 많은 가상화된 CPU 또는 메모리를 할당하는 것을 의미합니다.
  2. Thin provisioning : 유연한 저장소 할당을 허용하고 각 게스트 가상 머신에 대해 사용 가능한 공간을 최적화합니다.
  3. Disk I/O throttling : 가상 머신에서 호스트 머신으로 전송되는 디스크 I/O 요청에 대한 제한을 설정하는 기능을 제공합니다.
  4. Automatic NUMA balancing : NUMA 하드웨어 시스템에서 실행되는 응용 프로그램의 성능을 향상시킵니다.
  5. Virtual CPU hot add capability : 가동 중인 가상 머신에서 필요에 따라 처리 능력을 증가시키는 기능을 제공하며 다운타임 없이 작동합니다.

이것은 저희의 첫 번째 지속적인 KVM (Kernel-based Virtual Machine) 시리즈입니다. 여기에서는 부분별로 다음 기사를 다룰 예정입니다.

Part 1: How to Create Virtual Machines in Linux Using KVM (Kernel-based Virtual Machine)

전제 조건

시스템에 하드웨어 가상화 확장 기능이 있는지 확인하십시오: Intel 기반 호스트의 경우 다음 명령을 사용하여 CPU 가상화 확장 [vmx]이 있는지 확인하십시오.

[root@server ~]# grep -e 'vmx' /proc/cpuinfo
Check Virtualization Support

AMD 기반 호스트의 경우 CPU 가상화 확장 [svm]이 있는지 확인하십시오.

[root@server ~]# grep -e 'svm' /proc/cpuinfo
Check CPU Virtualization Support

출력이 없는 경우 BIOS에서 가상화 확장이 활성화되어 있는지 확인하십시오. KVM 모듈이 커널에 로드되어 있는지 확인하십시오. “기본적으로 로드되어 있어야 함”.

[root@server ~]# lsmod | grep kvm

출력에는 intel 기반 호스트의 경우 kvm_intel 또는 amd 기반 호스트의 경우 kvm_amd이 포함되어 있어야 합니다.

Check KVM Kernel Module

시작하기 전에 시스템에 루트 계정 또는 sudo 권한이 있는 비루트 사용자가 있어야 하며 시스템이 최신 상태인지 확인하십시오.

[root@server ~]# yum update

Selinux가 허용 모드에 있는지 확인하십시오.

[root@server ~]# setenforce 0

단계 1: KVM 설치 및 배포

1. 먼저 qemu-kvmqemu-img 패키지를 설치합니다. 이러한 패키지는 사용자 수준의 KVM 및 디스크 이미지 관리자를 제공합니다.

[root@server ~]# yum install qemu-kvm qemu-img

2. 이제 호스트에서 가상 플랫폼을 배포하는 데 필요한 최소 요구 사항이 갖춰졌지만 다음과 같은 유용한 도구도 여전히 사용할 수 있습니다:

  1. virt-manager는 가상 머신을 관리하는 GUI 도구를 제공합니다.
  2. libvirt-client는 가상 환경을 관리하는 CL 도구를 제공합니다. 이 도구는 virsh라고 합니다.
  3. virt-install는 CLI에서 가상 머신을 만들기 위한 “virt-install” 명령을 제공합니다.
  4. libvirt은 하이퍼바이저와 호스트 시스템과 상호 작용하기 위한 서버 및 호스트 측 라이브러리를 제공합니다.

다음 명령을 사용하여 위의 도구를 설치해 봅시다.

[root@server ~]# yum install virt-manager libvirt libvirt-python libvirt-client 

3. RHEL/CentOS7 사용자의 경우, Virtualization Client, Virtualization Platform 및 Virtualization Tools와 같은 추가 패키지 그룹도 설치해야 합니다.

[root@server ~]#yum groupinstall virtualization-client virtualization-platform virtualization-tools	

4. 플랫폼을 관리하는 가상화 데몬은 “libvirtd“입니다. 이를 다시 시작해 봅시다.

[root@server ~]#systemctl restart libvirtd

5. 데몬을 다시 시작한 후, 다음 명령을 실행하여 상태를 확인합니다.

[root@server ~]#systemctl status libvirtd  
샘플 출력
libvirtd.service - Virtualization daemon 
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled) 
   Active: active (running) since Mon 2014-12-29 15:48:46 EET; 14s ago 
 Main PID: 25701 (libvirtd) 
Check Libvirtd Status

이제 가상 머신을 만드는 다음 섹션으로 전환해 봅시다.

단계 2: KVM을 사용하여 VM 만들기

이전에 언급했듯이, 가상 플랫폼을 관리하고 가상 머신을 만드는 데 유용한 도구가 있습니다. 이 도구 중 하나인 [virt-manager]를 다음 섹션에서 사용합니다.

6. virt-manager는 GUI 기반 도구이지만 터미널에서도 GUI에서도 시작할 수 있습니다.

[root@server ~]#virt-manager
GNOME 사용
Start Virtual Manager in GNOME
GNOME Classic 사용
Start Virtual Manager in GNOME Classic

7. 도구를 시작한 후, 이 창이 나타납니다.

Start Virtual Manager Window

8. 기본적으로 관리자가 localhost에 직접 연결되어 있습니다. 다행히도 동일한 도구를 사용하여 원격으로 다른 호스트를 관리할 수 있습니다. “파일” 탭에서 “연결 추가”를 선택하면 이 창이 나타납니다.

Add Connection

원격 호스트에 연결” 옵션을 확인한 후 원격 서버의 호스트 이름/IP을 제공하십시오. 매번 관리자가 시작할 때마다 원격 호스트에 연결해야 하는 경우 “자동 연결” 옵션을 확인하십시오.

9. 로컬호스트로 돌아와서, 새 가상 머신을 만들기 전에 파일을 어디에 저장할지 결정해야 합니다. 다시 말해, 가상 머신을 위한 볼륨 디스크 (가상 디스크 / 디스크 이미지)를 만들어야 합니다.

로컬호스트를 마우스 오른쪽 버튼으로 클릭하고 “세부 정보”를 선택한 다음 “저장소” 탭을 선택하십시오.

VM Storage Details
VM Storage Volume

10. 그다음 “새 볼륨” 버튼을 누르고, 새 가상 디스크(볼륨 디스크)의 이름을 입력하고 “최대 용량” 섹션에 원하는/필요한 크기를 입력하십시오.

Create VM Storage Disk

할당 크기는 단계를 완료한 후 물리적 디스크에서 즉시 할당되는 디스크의 실제 크기입니다.

참고: 이것은 “얇은 프로비저닝”이라고 불리는 저장 관리 분야의 중요한 기술입니다. 사용된 저장소 크기만 할당하며 사용 가능한 크기 전체를 할당하지 않습니다.

예를 들어, 크기가 60G인 가상 디스크를 만들었지만 실제로는 20G만 사용했다면, 이 기술을 사용하면 물리적 하드 디스크에서 할당된 크기는 20G가 되고 60G가 아닙니다.

다른 말로, 할당된 물리적 크기는 실제 사용된 크기에 따라 동적으로 할당됩니다. 자세한 내용은 VMWare vStorage Thin Provisioning에서 확인하실 수 있습니다.

11. 새로운 볼륨 디스크의 레이블이 목록에 나타났음을 알 수 있습니다.

VM Storage Label

기본적으로 새 디스크 이미지(볼륨 디스크)의 경로가 /var/lib/libvirt/images 아래에 있음을 또한 알아차리셔야 합니다. 다음 명령을 사용하여 확인할 수 있습니다.

[root@server Downloads]# ls -l /var/lib/libvirt/images
-rw-------. 1 root root 10737418240 Jan  3 16:47 vm1Storage.img

12. 이제 가상 머신을 생성할 준비가 되었습니다. 메인 창에서 “VM” 버튼을 누르면 이 마법사 창이 나타납니다.

Create New Virtual Machine

가상 머신을 생성하는 데 사용할 설치 방법을 선택하세요. 지금은 로컬 설치 매체를 사용하고, 나중에 나머지 방법에 대해 논의하겠습니다.

13. 이제 어떤 로컬 설치 매체를 사용할지 지정할 시간입니다. 두 가지 옵션이 있습니다:

  1. 물리적 [CDROM/DVD]에서.
  2. ISO 이미지에서.

이 튜토리얼에서는 ISO 이미지 방법을 사용하겠습니다. 따라서 ISO 이미지의 경로를 제공해야 합니다.

Select Installation Media

중요: 안타깝게도 RHEL/CentOS7을 사용하는 사용자에게는 물리적 [CDROM/DVD]를 사용하여 설치하는 데 문제가 있습니다. 이 버그로 인해 옵션이 회색으로 표시되어 있습니다.

Disabled CD DVD Rom in KVM

그리고 커서를 올려놓으면 이러한 오류 메시지가 나타납니다.

CD DVD Not Supported in KVM

지금까지이 버그에 대한 공식/직접적인 해결책은 없습니다. 동일한 정보는 https://bugzilla.redhat.com에서 찾을 수 있습니다.

14. 스토리지가 반환되었습니다. 이전에 만든 가상 디스크를 사용하여 가상 머신을 설치할 것입니다. 그림처럼 표시될 것입니다.

Enable Storage for Virtual Machine

15. 최종 단계는 가상 머신의 이름과 나중에 이에 대해 이야기할 다른 고급 옵션에 대해 물을 것입니다.

Enter Name of Virtual Machine

구성을 변경하거나 일부 사용자 정의를 하려면 ” 설치 전 구성 사용자 정의 ” 옵션을 확인하십시오. 그런 다음 완료를 클릭하고 몇 초 기다리면 게스트 OS를 관리하기 위한 제어 콘솔이 나타납니다.

Virtual Machine Installation

결론

이제 KVM이 무엇이며 GUI 도구를 사용하여 가상 플랫폼을 관리하는 방법, 그리고 가상 머신을 배포하는 방법 및 다른 멋진 기능에 대해 배웠습니다.

이 기사의 끝은 아니지만 다음 기사에서 KVM과 관련된 중요한 주제를 논의할 것입니다. 이전 지식을 활용하여 실습을 하고 다음 부분을 준비하십시오…..

Source:
https://www.tecmint.com/install-and-configure-kvm-in-linux/