웹사이트 검색

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


이 튜토리얼에서는 KVM 소개, 배포 및 KVM을 사용하여 RHEL/CentOS7Fedora 21과 같은 RedHat 기반 배포판에서 가상 머신을 생성하는 방법에 대해 설명합니다. .

KVM이란 무엇입니까?

KVM 또는 (커널 기반 가상 머신)은 2.6.20부터 메인라인 Linux 커널에 포함되어 있으며 대부분의 워크로드에 안정적이고 빠른 Intel 64 및 AMD 64 하드웨어의 Linux용 전체 가상화 솔루션입니다.

KVM 기능

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

  1. 오버 커밋: 시스템에서 사용 가능한 리소스보다 더 많은 가상화된 CPU 또는 메모리를 할당하는 것을 의미합니다.
  2. 씬 프로비저닝: 유연한 스토리지 할당을 허용하고 모든 게스트 가상 머신에 사용 가능한 공간을 최적화합니다.
  3. 디스크 I/O 조절: 가상 머신에서 호스트 머신으로 전송되는 디스크 I/O 요청에 대한 제한을 설정하는 기능을 제공합니다.
  4. 자동 NUMA 밸런싱: NUMA 하드웨어 시스템에서 실행되는 애플리케이션의 성능을 향상시킵니다.
  5. 가상 CPU 핫 추가 기능: 가동 중지 시간 없이 실행 중인 가상 머신에서 필요에 따라 처리 능력을 높이는 기능을 제공합니다.

이것은 진행 중인 첫 번째 KVM(커널 기반 가상 머신) 시리즈입니다. 여기서는 다음 기사를 부분적으로 다룰 것입니다.

전제 조건

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

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

AMD 기반 호스트의 경우 CPU 가상화 확장 프로그램[svm]을 사용할 수 있는지 확인하세요.

[root@server ~]# grep -e 'svm' /proc/cpuinfo

출력이 없으면 BIOS에서 가상화 확장이 활성화되어 있는지 확인하십시오. KVM 모듈이 "기본적으로 로드되어야 합니다" 커널에 로드되었는지 확인합니다.

[root@server ~]# lsmod | grep kvm

출력에는 Intel 기반 호스트의 경우 kvm_intel, amd 기반 호스트의 경우 kvm_amd가 포함되어야 합니다.

시작하기 전에 시스템에 구성된 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는 virsh라는 도구를 사용하여 가상 환경을 관리하는 CL 도구를 제공합니다.
  3. virt-install은 CLI에서 가상 머신을 생성하기 위한 "virt-install" 명령을 제공합니다.
  4. libvirt는 하이퍼바이저 및 호스트 시스템과 상호작용하기 위한 서버 및 호스트 측 라이브러리를 제공합니다.

다음 명령을 사용하여 위 도구를 설치해 보겠습니다.

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

3. RHEL/CentOS7 사용자의 경우 가상화 클라이언트, 가상화 플랫폼 및 가상화 도구와 같은 추가 패키지 그룹을 설치해야 합니다.

[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) 

이제 다음 섹션으로 전환하여 가상 머신을 생성하겠습니다.

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

앞서 언급했듯이 가상 플랫폼을 관리하고 가상 머신을 생성하는 데 유용한 몇 가지 도구가 있습니다. 다음 섹션에서 사용하는 [virt-manager]라는 도구 중 하나입니다.

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

[root@server ~]#virt-manager
그놈 사용하기

그놈 클래식 사용

7. 도구를 시작하면 이 창이 나타납니다.

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

"원격 호스트에 연결" 옵션을 선택한 다음 원격 서버의 호스트 이름/IP를 입력하세요. 관리자가 시작될 때마다 원격 호스트에 연결해야 하는 경우 "자동 연결" 옵션을 선택하면 됩니다.

9. 로컬 호스트로 돌아가서 새 가상 머신을 생성하기 전에 파일을 저장할 위치를 결정해야 합니까?! 즉, 가상 머신용 볼륨 디스크(가상 디스크/디스크 이미지)를 생성해야 합니다.

localhost를 마우스 오른쪽 버튼으로 클릭하고 "세부 정보"를 선택한 다음 "저장소" 탭을 선택합니다.

10. 그런 다음 "새 볼륨" 버튼을 누른 다음 새 가상 디스크(볼륨 디스크)의 이름을 입력하고 크기를 입력합니다. "최대 용량" 섹션에서 원하거나 필요합니다.

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

참고: 이는 "씬 프로비저닝"이라고 불리는 스토리지 관리 분야의 중요한 기술입니다. 사용 가능한 모든 크기가 아닌 사용된 스토리지 크기만 할당하는 데 사용됩니다.

예를 들어, 60G 크기의 가상 디스크를 생성했지만 실제로는 20G만 사용한 경우, 이 기술을 사용하면 실제 하드 디스크에서 할당된 크기는 20G가 됩니다. 60G가 아닙니다.

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

11. 새 볼륨 디스크의 레이블이 목록에 나타나는 것을 볼 수 있습니다.

또한 새 디스크 이미지(볼륨 디스크)의 경로도 확인해야 합니다. 기본적으로 이 경로는 /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" 버튼을 누르면 이 마법사 창이 나타납니다.

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

13. 이제 사용할 로컬 설치 미디어를 지정할 차례입니다. 두 가지 옵션이 있습니다.

  1. 실제 [CDROM/DVD]에서.
  2. ISO 이미지에서.

튜토리얼에서는 ISO 이미지 방법을 사용할 것이므로 ISO 이미지의 경로를 제공해야 합니다.

중요: 불행히도 RHEL/CentOS7을 사용하는 사람들에게는 정말 어리석은 버그가 있습니다. 이 버그로 인해 실제 [CDROM/DVD]를 사용하여 설치할 수 없으며 옵션이 이와 같이 회색으로 표시됩니다.

커서를 그 위에 놓으면 이 오류 메시지가 나타납니다.

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

14. 스토리지가 다시 돌아왔습니다. 초기에 생성한 가상 디스크를 사용하여 여기에 가상 머신을 설치하겠습니다. 표시된 대로 됩니다.

15. 가상 머신의 이름과 다른 고급 옵션에 대해 묻는 마지막 단계에 대해서는 나중에 설명하겠습니다.

일부 구성을 변경하거나 일부 사용자 정의를 수행하려면 “설치 전 구성 사용자 정의 ” 옵션을 선택하세요. 그런 다음 마침을 클릭하고 잠시 기다리면 게스트 OS에서 관리할 수 있는 제어 콘솔이 나타납니다.

결론

이제 KVM이 무엇인지, GUI 도구를 사용하여 가상 플랫폼을 관리하는 방법, KVM을 사용하여 가상 머신을 배포하는 방법 및 기타 놀라운 사항을 배웠습니다.

이것이 기사의 끝은 아니지만 다음 기사에서는 KVM과 관련된 또 다른 중요한 주제에 대해 논의할 것입니다. 이전 지식을 활용하여 손을 더럽히고 다음 부분을 준비하세요…