Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

가상화 시작하기 가이드

Red Hat Enterprise Linux 7

RHEL에서 사용 가능한 가상화 기술 소개

Jiri Herrmann

Red Hat Customer Content Services

Yehuda Zimmerman

Red Hat Customer Content Services

Dayle Parker

Red Hat Customer Content Services

Laura Novich

Red Hat Customer Content Services

Jacquelynn East

Red Hat Customer Content Services

Scott Radvan

Red Hat Customer Content Services

초록

Red Hat Enterprise Linux Virtualization 시작하기 가이드에서는 Red Hat Enterprise Linux에서 사용할 수 있는 가상화 제품 및 가상화 제품 및 기술의 기초를 설명합니다.

1장. 가상화의 일반 소개

1.1. 가상화란 무엇인가?

가상화 는 일반적으로 여러 운영 체제가 동시에 그리고 단일 시스템의 다른 프로그램과 별도로 소프트웨어를 실행하는 데 사용되는 광범위한 컴퓨팅 용어입니다. 가상화는 하이퍼바이저 를 사용하여 수행됩니다. 이는 하드웨어를 제어하고 가상 머신(VM) 또는 게스트 라고 하는 여러 운영 체제를 단일(일반적으로 물리적) 시스템에서 실행할 수 있는 소프트웨어 계층 또는 하위 시스템입니다. 운영 체제가 있는 이 시스템을 호스트 라고 합니다. 자세한 내용은 Red Hat 고객 포털 을 참조하십시오.
다음과 같은 몇 가지 가상화 방법이 있습니다.
전체 가상화
전체 가상화는 게스트 운영 체제의 수정되지 않은 버전을 사용합니다. 게스트는 하이퍼바이저에서 생성한 채널을 통해 호스트의 CPU를 처리합니다. 게스트가 CPU와 직접 통신하기 때문에 가장 빠른 가상화 방법입니다.
반가상화
반가상화는 수정된 게스트 운영 체제를 사용합니다. 게스트가 하이퍼바이저와 통신합니다. 하이퍼바이저는 게스트에서 수정되지 않은 호출을 실제 및 가상 인터페이스인 CPU 및 기타 인터페이스에 전달합니다. 호출이 하이퍼바이저를 통해 라우팅되므로 이 방법은 전체 가상화보다 속도가 느립니다.
소프트웨어 가상화(또는 에뮬레이션)
소프트웨어 가상화는 바이너리 변환 및 기타 에뮬레이션 기술을 사용하여 수정되지 않은 운영 체제를 실행합니다. 하이퍼바이저는 게스트 호출을 호스트 시스템에서 사용할 수 있는 형식으로 변환합니다. 모든 호출이 번역되므로 이 방법은 가상화보다 느립니다. Red Hat은 Red Hat Enterprise Linux에서 소프트웨어 가상화를 지원하지 않습니다.
컨테이너화
KVM 가상화는 OS 커널의 별도의 인스턴스를 생성하지만 컨테이너화라고도 하는 운영 체제 수준 가상화는 기존 OS 커널에서 작동하며 컨테이너 라고 하는 호스트 OS의 격리된 인스턴스를 생성합니다. 컨테이너에 대한 자세한 내용은 Red Hat 고객 포털 을 참조하십시오.
컨테이너에는 KVM 가상화의 다기능 기능이 없지만 더 가볍고 유연합니다. 자세한 비교는 Linux 컨테이너 소개를 참조하십시오.
Red Hat Enterprise Linux에서 컨테이너를 사용하려면 Extras 채널에서 docker 패키지를 설치하십시오. Red Hat은 Red Hat Enterprise Linux Atomic HostRed Hat OpenShift Container Platform 과 같은 컨테이너 사용에 최적화된 솔루션을 제공합니다. 컨테이너 지원에 대한 자세한 내용은 Red Hat KnowledgeBase 를 참조하십시오.

1.2. 가상화 솔루션

Red Hat은 다음과 같은 주요 가상화 솔루션을 제공합니다. 각 솔루션에는 다른 사용자의 초점과 기능이 있습니다.
Red Hat Enterprise Linux
가상 머신을 생성, 실행 및 관리하는 기능은 물론 Red Hat Enterprise Linux 7에는 다양한 가상화 툴과 기능이 포함되어 있습니다. 이 솔루션은 호스트당 제한된 실행 게스트 수와 제한된 게스트 유형을 지원합니다. 따라서 Red Hat Enterprise Linux의 가상화는 예를 들어 여러 환경에서 테스트해야 하는 개발자 또는 엄격한 가동 시간 요구 사항 또는 SLA(서비스 수준 계약)가 없는 여러 서버를 실행하는 소규모 기업에 유용할 수 있습니다.
중요
이 가이드에서는 Red Hat Enterprise Linux의 가상화에 대한 정보를 제공하며 다른 가상화 솔루션에 대해 자세히 설명하지 않습니다.
Red Hat Virtualization
RHV(Red Hat Virtualization)는 Red Hat Enterprise Linux에서의 가상화와 같은KVM(커널 기반 가상 머신) 기술을 기반으로 하지만 향상된 기능을 제공합니다. 엔터프라이즈급 확장성과 성능을 위해 설계된 이 솔루션은 중앙 집중식 그래픽 인터페이스의 호스트, 가상 머신, 네트워크, 스토리지 및 사용자를 포함한 전체 가상 인프라를 관리할 수 있습니다.
참고
Red Hat Enterprise Linux와 Red Hat Virtualization의 가상화 차이점에 대한 자세한 내용은 Red Hat 고객 포털을 참조하십시오.
Red Hat Virtualization은 대규모 배포 또는 미션 크리티컬 애플리케이션을 실행하는 기업이 사용할 수 있습니다. Red Hat Virtualization에 적합한 대규모 배포의 예로는 다운타임 없이 지속적으로 실행해야 하는 데이터베이스, 거래 플랫폼 및 메시징 시스템이 있습니다.
참고
Red Hat Virtualization에 대한 자세한 정보를 확인하거나 완전 지원되는 60일 평가판 버전을 다운로드하려면 를 참조하십시오 http://www.redhat.com/en/technologies/virtualization/enterprise-virtualization. 또는 Red Hat Virtualization 설명서 모음을 참조하십시오.
Red Hat OpenStack Platform
Red Hat OpenStack Platform은 안전하고 신뢰할 수 있는 퍼블릭 또는 프라이빗 OpenStack 클라우드를 구축, 배포, 확장할 수 있는 통합 기반을 제공합니다.
참고
Red Hat OpenStack Platform에 대한 자세한 정보를 확인하거나 60일 평가판 버전을 다운로드하려면 를 참조하십시오 https://www.redhat.com/en/technologies/linux-platforms/openstack-platform. 또는 Red Hat OpenStack Platform 설명서 모음을 참조하십시오.

2장. 가상화를 사용하는 이유는 무엇입니까?

가상화는 서버 배포 및 개별 데스크탑 스테이션 모두에 유용할 수 있습니다. 데스크탑 가상화는 비용 효율적인 중앙 관리 및 향상된 재해 복구를 제공합니다. 또한 ssh 와 같은 연결 도구를 사용하면 데스크탑에 원격으로 연결할 수 있습니다.
서버에 사용하는 경우 가상화는 더 큰 네트워크뿐만 아니라 단일 서버가 있는 배포에도 유용할 수 있습니다. 가상화는 실시간 마이그레이션, 고가용성, 내결함성 및 간소화된 백업을 제공합니다.

2.1. 가상화 비용

가상화는 도입에 비용이 많이 들 수 있지만 종종 장기적으로 비용을 절약할 수 있습니다. 다음과 같은 이점을 살펴보십시오.
전력 감소
가상화를 사용하면 여러 물리적 플랫폼이 필요한 경우가 많습니다. 이는 머신 작동 및 재지속을 위해 전력이 감소하고 있어, 이로 인해 전력 비용이 줄어 듭니다. 머신의 전력 소비 및 필요한 재사용과 함께 여러 물리적 플랫폼을 구입하는 초기 비용은 가상화를 사용하여 크게 절감됩니다.
유지 관리 감소
물리적 시스템을 가상화로 마이그레이션하기 전에 적절한 계획을 수행해야 하는 경우 유지 관리에 시간이 단축됩니다. 이는 일부 및 작업에 비용을 절감해야 함을 의미합니다.
설치된 소프트웨어의 연장된 라이프 사이클
이전 버전의 소프트웨어는 최신 베어 메탈 시스템에서 직접 실행되지 못할 수 있습니다. 기존 소프트웨어를 실질적으로 더 큰 더 빠른 시스템에서 실행하면 새로운 시스템에서 더 나은 성능을 활용하는 동안 소프트웨어의 수명을 연장할 수 있습니다.
예측 가능한 비용
Red Hat Enterprise Linux 서브스크립션은 고정된 속도로 가상화 지원을 제공하므로 비용을 쉽게 예측할 수 있습니다.
공간 감소
더 적은 수의 시스템에 서버를 통합하면 컴퓨터 시스템에 물리적 공간이 줄어듭니다.

2.2. 성능

이전 가상화 버전에서는 단일 CPU만 지원했습니다. 결과적으로 가상 머신에는 눈에 띄는 성능 제한이 있었습니다. 이로 인해 가상화 솔루션이 느리다는 장기적인 잘못된 개념이 생성되었습니다.
더 이상 그렇지 않습니다. 최신 가상화 기술은 가상 머신의 속도를 크게 개선했습니다. 벤치마크 결과 가상 머신은 일반적인 서버 애플리케이션을 베어 메탈 시스템으로 거의 효율적으로 실행할 수 있음을 보여줍니다.
  • Red Hat Enterprise Linux 6.4 및 KVM 은 완전히 가상화된 x86 환경에서 실행되는 IBM DB2 데이터베이스를 사용하고 베어 메탈 성능의 88%를 제공하는 업계 최고의 NetNamespace-C 벤치마크 를 기록했습니다. 리소스 요구 사항으로 인해 데이터베이스는 이전에 베어 메탈 배포용으로만 예약되어 있습니다.
  • 업계 표준 SAP Sales and Distribution (SD) Standard Application Benchmark는 동일한 하드웨어에서 실행되는 베어 메탈 시스템과 비교했을 때 Red Hat Enterprise Linux 6.2 및 KVM이 85%의 가상화 효율성에서 수행하는 것으로 나타났습니다.
  • Red Hat Enterprise Linux 6.1 및 KVM은 SPEC(표준 성능 평가 역할)에서 기록한 vGPU_sc2010 벤치마크에서 기록한 가상화 성능을 기록했습니다. 이 벤치마크는 모든 published etcdctl 결과의 가상 성능 마크를 최상의 가상 성능으로 설정합니다. etcdctl_sc2010 지표는 가상화된 데이터 센터 서버에서 시스템 구성 요소의 엔드 투 엔드 성능을 측정합니다.
참고
가상화 성능 튜닝에 대한 자세한 내용은 Red Hat Enterprise Linux 7 Virtualization 튜닝 및 최적화 가이드 를 참조하십시오.

2.3. Migration

마이그레이션 은 한 호스트에서 다른 호스트로 게스트 가상 머신을 이동하는 프로세스를 설명합니다. 이는 가상 머신이 하드웨어에서 직접 실행되는 대신 가상화된 환경에서 실행되므로 가능합니다. 가상 머신을 마이그레이션하는 방법은 라이브 및 오프라인입니다.

마이그레이션 유형

오프라인 마이그레이션
오프라인 마이그레이션에서는 게스트 가상 머신을 일시 중지한 다음 가상 머신의 메모리 이미지를 대상 호스트로 이동합니다. 그러면 가상 머신이 대상 호스트에서 다시 시작되고 소스 호스트의 가상 시스템에서 사용하는 메모리가 해제됩니다.
실시간 마이그레이션
실시간 마이그레이션은 활성 가상 머신을 한 물리적 호스트에서 다른 호스트로 마이그레이션하는 프로세스입니다. 이는 모든 Red Hat Enterprise Linux 릴리스 간에는 불가능합니다. 자세한 내용은 가상화 배포 및 관리 가이드 를 참조하십시오.

2.3.1. 가상 머신 마이그레이션의 이점

마이그레이션은 다음에 유용합니다.
로드 밸런싱
호스트 머신이 과부하된 경우 실시간 마이그레이션을 사용하여 하나 이상의 가상 머신을 다른 호스트로 마이그레이션할 수 있습니다. 마찬가지로 실행 중이 아니며 과부하되는 머신은 오프라인 마이그레이션을 사용하여 마이그레이션할 수 있습니다.
호스트 변경 또는 업그레이드
호스트에서 하드웨어 장치를 업그레이드, 추가 또는 제거하려는 필요성이 발생하면 가상 시스템을 다른 호스트로 안전하게 재배치할 수 있습니다. 즉, 호스트로 인한 변경으로 인해 게스트에 다운타임이 발생하지 않습니다.
더 많은 비용 절감
가상 머신은 다른 호스트에 재배포할 수 있으며 로드되지 않은 호스트 시스템의 전원을 꺼 비용을 절감할 수 있습니다.
지리적 마이그레이션
대기 시간이 낮거나 다른 이유로 가상 머신을 다른 물리적 위치로 이동할 수 있습니다.
마이그레이션 프로세스에서 가상 머신의 메모리를 이동하면 가상 머신과 연결된 디스크 볼륨도 마이그레이션됩니다. 이 프로세스는 실시간 블록 마이그레이션을 사용하여 수행됩니다.
참고
마이그레이션에 대한 자세한 내용은 Red Hat Enterprise Linux 7 Virtualization 배포 및 관리 가이드 를 참조하십시오.

2.3.2. 가상화된 V2V(Virtualized Migration)

Red Hat Enterprise Linux 7은 특별한 유형의 마이그레이션으로 가상 머신을 다른 유형의 하이퍼바이저에서 KVM으로 변환하는 툴을 제공합니다. virt-v2v 툴은 192.0.2., 기타 KVM 버전 및 VMware ESX에서 가상 머신을 변환하고 가져옵니다.
참고
V2V에 대한 자세한 내용은 V2V 지식베이스 문서를 참조하십시오.
또한 Red Hat Enterprise Linux 7.3 이상에서는 virt-p2v 툴을 사용하여 P2V(physical-to-virtual) 변환을 지원합니다. 자세한 내용은 P2V 지식베이스 문서를 참조하십시오.

2.4. 보안

KVM 가상 머신은 다음 기능을 사용하여 보안을 강화합니다.
SELinux
Security-hardened Linux 또는 SELinux는 모든 Linux 시스템에 MAC(Mandatory Access Control)를 제공하므로 Linux 게스트의 이점도 누릴 수 있습니다. SELinux를 제어하면 모든 프로세스와 파일에 유형 이 부여되고 시스템에 대한 액세스는 다양한 유형의 세분화된 제어로 제한됩니다. SELinux는 공격자의 기능을 제한하고 버퍼 오버플로우 공격 및 권한 상승과 같은 많은 일반적인 보안 취약점을 방지하기 위해 작동합니다.
sVirt
vGPU는 SELinux 및 가상화를 통합하는 Red Hat Enterprise Linux 7에 포함된 기술입니다. 가상 머신을 사용할 때 보안을 강화하기 위해 MAC(Mandatory Access Control)를 적용하고 호스트 또는 다른 가상 머신을 공격하는 데 사용할 수 있는 하이퍼바이저 버그에 대해 시스템을 강화합니다.
참고
가상화의 보안에 대한 자세한 내용은 Red Hat Enterprise Linux 7 Virtualization 보안 가이드 를 참조하십시오.

2.5. 재해 복구

재해 복구는 시스템을 가상화할 때 더 빠르고 쉬워집니다. 물리적 시스템에서 문제가 발생하면 일반적으로 운영 체제를 완전히 다시 설치해야 하므로 복구 시간이 단축됩니다. 그러나 시스템을 가상화하는 경우 마이그레이션 기능으로 인해 훨씬 빠릅니다. 실시간 마이그레이션 요구 사항이 충족되면 다른 호스트에서 가상 시스템을 다시 시작할 수 있으며 게스트 데이터를 복원할 수 있는 가장 긴 지연이 발생합니다. 또한 각 가상화된 시스템이 서로 완전히 분리되어 있기 때문에 한 시스템의 다운타임은 다른 시스템에 영향을 미치지 않습니다.

3장. Red Hat Virtualization 제품 및 기능 소개

이 장에서는 Red Hat Enterprise Linux 7에서 제공되는 주요 가상화 제품 및 기능을 소개합니다.

3.1. Red Hat Enterprise Linux의 KVM 및 가상화

KVM(커널 기반 가상 머신)은 다양한 아키텍처에서 Linux를 위한 완전한 가상화 솔루션입니다. 표준 Red Hat Enterprise Linux 7 커널에 빌드되고 빠른 QEMU(QEMU)와 통합되어 있으며 여러 게스트 운영 체제를 실행할 수 있습니다. Red Hat Enterprise Linux의 KVM 하이퍼바이저는 libvirt API와 libvirt (예: virt-managervirsh)용으로 빌드된 툴로 관리됩니다. 가상 머신은 이러한 툴로 제어되고 다중 스레드 Linux 프로세스로 실행됩니다.
주의
QEMU 및 libvirt 는 하드웨어 가상화 지원이 필요하지 않은 QEMU Tiny Code Generator(TCG)를 사용하여 동적 변환 모드도 지원합니다. 이 구성은 Red Hat에서 지원되지 않습니다.
이 제한에 대한 자세한 내용은 Red Hat Enterprise Linux 7 Virtualization 배포 및 관리 가이드 를 참조하십시오.

그림 3.1. KVM 아키텍처

KVM 아키텍처
Red Hat Enterprise 7에서 KVM에서 지원하는 가상화 기능은 다음과 같습니다.
과다 할당
KVM 하이퍼바이저는 시스템 리소스 과다 할당을 지원합니다. 과다 할당은 시스템에서 사용 가능한 리소스보다 가상화된 CPU 또는 메모리를 더 많이 할당하는 것을 의미하며, 따라서 하나의 게스트가 필요할 때 리소스를 동적으로 교체할 수 있으며 다른 게스트에서 사용하지 않는 경우 리소스를 동적으로 교체할 수 있습니다. 이를 통해 게스트가 호스트의 리소스를 얼마나 효율적으로 사용할 수 있고 사용자가 더 적은 수의 호스트를 사용할 수 있습니다.
중요
과다 할당은 시스템 안정성에 위험이 있습니다. KVM을 통한 오버 커밋 및 수행해야 하는 예방 조치에 대한 자세한 내용은 Red Hat Enterprise Linux 7 Virtualization 배포 및 관리 가이드 를 참조하십시오.
KSM
KVM 하이퍼바이저에서 사용하는 KSM (커널 동일 페이지 병합) 을 사용하면 KVM 게스트가 동일한 메모리 페이지를 공유할 수 있습니다. 이러한 공유 페이지는 일반적으로 공통 라이브러리 또는 기타 동일한 고성능 데이터입니다. KSM은 메모리 중복을 방지하여 동일하거나 유사한 게스트 운영 체제의 게스트 밀도를 높일 수 있습니다.
참고
KSM에 대한 자세한 내용은 Red Hat Enterprise Linux 7 가상화 튜닝 및 최적화 가이드 를 참조하십시오.
QEMU 게스트 에이전트
QEMU 게스트 에이전트는 게스트 운영 체제에서 실행되며 호스트 머신이 게스트 운영 체제에 명령을 실행할 수 있도록 합니다.
참고
QEMU 게스트 에이전트에 대한 자세한 내용은 Red Hat Enterprise Linux 7 Virtualization 배포 및 관리 가이드 를 참조하십시오.
디스크 I/O 제한
여러 가상 시스템이 동시에 실행되는 경우 과도한 디스크 I/O를 사용하여 전체 시스템 성능을 방해할 수 있습니다. KVM의 디스크 I/O 제한은 개별 가상 머신에서 호스트 머신으로 전송된 디스크 I/O 요청에 대한 제한을 설정하는 기능을 제공합니다. 이렇게 하면 가상 머신이 공유 리소스를 과도하게 활용하고 다른 가상 머신의 성능에 영향을 미칠 수 있습니다.
참고
디스크 I/O 제한 사용 방법에 대한 자세한 내용은 Red Hat Enterprise Linux 7 Virtualization 조정 및 최적화 가이드 를 참조하십시오.
자동 NUMA 분산
NUMA(Automatic non-Uniform Memory Access)의 분산 이동 작업은 스레드 또는 프로세스가 액세스 중인 메모리에 더 가까운 프로세스일 수 있습니다. 이를 통해 Red Hat Enterprise Linux 7 게스트에 필요한 수동 튜닝 없이 NUMA(Non-Uniform Memory Access) 하드웨어 시스템에서 실행되는 애플리케이션의 성능이 향상됩니다.
참고
자동 NUMA 분산에 대한 자세한 내용은 Red Hat Enterprise Linux 7 Virtualization 튜닝 및 최적화 가이드 를 참조하십시오.
가상 CPU 핫 애드
가상 CPU(vCPU) 핫 애드 기능 에서는 게스트를 종료하지 않고 필요에 따라 실행 중인 가상 머신의 처리 성능을 향상시킬 수 있는 기능을 제공합니다. 가상 머신에 할당된 vCPU는 워크로드의 요구를 충족하거나 워크로드와 관련된 SLA(서비스 수준 계약)를 유지하기 위해 실행 중인 게스트에 에 추가할 수 있습니다.
참고
가상 CPU 핫 애드에 대한 자세한 내용은 Red Hat Enterprise Linux 7 Virtualization 배포 및 관리 가이드 를 참조하십시오.
중첩된 가상화
Red Hat Enterprise Linux 7.2 이상에서는 기술 프리뷰로 하드웨어 지원 중첩 가상화를 제공합니다. 이 기능을 통해 KVM 게스트가 하이퍼바이저 역할을 하고 고유한 게스트를 만들 수 있습니다.
예를 들어 가상 머신에서 하이퍼바이저를 디버깅하거나 제한된 양의 물리적 시스템에서 대규모 가상 배포를 테스트하는 데 사용할 수 있습니다.
참고
중첩된 가상화 설정 및 사용에 대한 자세한 내용은 Red Hat Enterprise Linux 7 Virtualization 배포 및 관리 가이드 를 참조하십시오.
KVM 게스트 가상 머신 호환성
Red Hat Enterprise Linux 7 서버에는 특정 지원 제한이 있습니다.
다음 URL은 Red Hat Enterprise Linux에 대한 프로세서 및 메모리 용량 제한을 설명합니다.
지원되는 운영 체제 및 호스트 및 게스트 조합의 전체 차트는 Red Hat Customer Portal을 참조하십시오.
참고
프로세서가 가상화 확장 기능을 지원하는지 여부 및 가상화 확장 활성화에 대한 자세한 내용은 Red Hat Enterprise Linux 7 가상화 배포 및 관리 가이드 를 참조하십시오.

3.2. libvirt 및 libvirt 툴

libvirt 패키지는 다양한 운영 체제의 가상화 기능과 상호 작용할 수 있는 하이퍼바이저 독립적인 가상화 API를 제공합니다. 여기에는 다음이 포함됩니다.
  • 호스트에서 가상 머신을 안전하게 관리하는 가상화 계층입니다.
  • 로컬 및 네트워크로 연결된 호스트를 관리하기 위한 인터페이스입니다.
  • 가상 시스템을 프로비저닝, 생성, 수정, 모니터링, 제어, 마이그레이션 및 중지하는 데 필요한 API입니다. libvirt 를 사용하여 여러 호스트에 동시에 액세스할 수 있지만 API는 단일 노드 작업으로 제한됩니다.
    참고
    libvirt를 사용하여 하이퍼바이저에서 지원하는 작업만 수행할 수 있습니다.
libvirt 는 단일 호스트를 관리하는 데 중점을 두고 있으며 CPU, 메모리, 스토리지, 네트워킹 및 NUMA(Non-Uniform Memory Access) 파티션을 포함하여 관리 노드에서 사용 가능한 리소스를 열거, 모니터링 및 사용하기 위한 API를 제공합니다. 관리 툴은 호스트가 실행 중인 시스템과 동일한 물리적 시스템에 있을 필요가 없습니다. 이러한 시나리오에서 관리 도구가 실행되는 시스템은 보안 프로토콜을 사용하여 호스트가 실행되는 시스템과 통신합니다.
Red Hat Enterprise Linux 7은 libvirt 를 지원하며 libvirt기반 툴을 가상화 관리(Red Hat Virtualization Management)를 위한 기본 방법으로 포함합니다.
libvirt 패키지는 GNU Lesser General Public License에 따라 무료 소프트웨어로 사용할 수 있습니다. libvirt 프로젝트는 다양한 하이퍼바이저 기술을 기반으로 실행되는 가상화 관리 툴에 장기간 안정적인 C API를 제공하는 것을 목표로 합니다. libvirt 패키지는 Red Hat Enterprise Linux 5 및 Red Hat Enterprise Linux 6 및 Red Hat Enterprise Linux 7에서 KVM을 지원합니다.
특히 libvirt는 Red Hat Enterprise Linux 7에서 가상화를 제어하기 위한 두 가지 기본 툴인 virshvirt-manager 를 제공합니다.

3.3. 도메인 XML 구성

각 KVM 게스트 가상 머신의 호스트 기반 구성(또는 도메인라고도 함)은 게스트의 XML 구성(또는 도메인 XML)에 저장됩니다. 여기에는 가상 하드웨어, 부팅 옵션, 리소스 할당, 네트워크 인터페이스 등이 포함됩니다. virsh setmem 과 같은 게스트 속성을 영구적으로 수정하는 애플리케이션 또는 유틸리티를 사용하여 이 변경 사항을 게스트를 부팅할 때 읽고 가상 시스템을 적절하게 수정하는 게스트의 XML 구성에 씁니다.
특정 게스트의 XML 구성을 표시하려면 virsh dumpxml guestname 명령을 사용합니다.
게스트의 XML 구성을 편집하려면 다음 중 하나를 사용합니다.
  • virsh 명령 - virsh 명령을 사용하여 게스트 가상 머신에 대한 영구 변경 사항은 도메인 XML에 기록됩니다.
  • virt-xml 명령 - 이 명령은 제공된 옵션에 따라 지정된 게스트의 도메인 XML 파일을 구성합니다.
  • 가상 머신 관리자 - 가상 머신 관리자 의 게스트 가상 머신에 대한 변경 사항은 도메인 XML에 기록됩니다.
참고
도메인 XML 파일을 직접 편집해야 하는 드문 경우의 경우 virsh edit guestname 을 사용합니다. 이 명령은 기본적으로 root의 bash 구성에 의해 결정된 텍스트 편집기에서 지정된 게스트의 도메인 XML 구성을 엽니다.
virsh edit 에 대한 편집기를 변경하려면 의도한 사용자의 .bashrc 파일에서 EDITOR 변수를 설정하거나 수정합니다. 예를 들어 root 사용자의 경우 이 파일은 /root/ 디렉터리에 있습니다.
virsh edit 를 사용하여 수정한 경우 편집된 XML 구성을 저장하고 게스트를 다시 시작합니다.
주의
예를 들어 Cryostat /etc/libvirt/qemu/guestname.xml을 사용하여 텍스트 편집기에서 파일을 열어 게스트 의 XML 구성을 편집하지 마십시오. 이러한 방식으로 변경한 내용은 적용되지 않으며 자동으로 덮어씁니다.
도메인 XML 구성 파일에 대한 자세한 내용은 가상화 배포 및 관리 가이드 를 참조하십시오.

3.4. 가상화된 하드웨어 장치

Red Hat Enterprise Linux 7의 가상화 기능을 사용하면 가상 머신에서 호스트의 물리적 하드웨어를 세 가지 유형의 장치로 사용할 수 있습니다.
  • 가상화된 및 에뮬레이션된 장치
  • 반가상화 장치
  • 물리적으로 공유 장치
이러한 하드웨어 장치는 모두 가상 머신에 물리적으로 연결된 것으로 표시되지만 장치 드라이버는 다른 방식으로 작동합니다.

3.4.1. 가상화된 장치 및 Emulated 장치

KVM은 가상 시스템의 여러 핵심 장치를 소프트웨어로 구현합니다. 이러한 에뮬레이션된 하드웨어 장치는 운영 체제를 가상화하는 데 중요합니다. 에뮬레이션된 장치는 소프트웨어에 전적으로 존재하는 가상 장치입니다.
또한 KVM은 에뮬레이션된 드라이버를 제공합니다. 이렇게 하면 가상 머신과 Linux 커널(소스 장치를 관리하는 Linux 커널 간의 변환 계층)이 형성됩니다. 장치 수준 지침은 KVM 하이퍼바이저에 의해 완전히 번역됩니다. Linux 커널에서 인식하는 동일한 유형(스토리지, 네트워크, 키보드 또는 마우스)의 모든 장치를 에뮬레이션된 드라이버의 백업 소스 장치로 사용할 수 있습니다.
가상 CPU(vCPU)
Red Hat Enterprise Linux 7.2 이상에서 호스트 시스템은 호스트 CPU 수에 관계없이 게스트에 제공할 수 있는 최대240개의 가상 CPU(vCPU)를 보유할 수 있습니다. Red Hat Enterprise Linux 7.0의160에서 향상되었습니다.
에뮬레이션된 시스템 구성 요소
다음과 같은 핵심 시스템 구성 요소가 에뮬레이션되어 기본 시스템 기능을 제공합니다.
  • Intel i440NetworkPolicy 호스트 PCI 브릿지
  • RuntimeClassX3 PCI to RuntimeClass 브리지
  • ps/2 마우스 및 키보드
  • EvTouch USB 그래픽 테이블
  • PCI UHCI USB 컨트롤러 및 가상화된 USB 허브
  • 에뮬레이션된 직렬 포트
  • EHCI 컨트롤러, 가상화된 USB 스토리지 및 USB 마우스
  • USB 3.0 xHCI 호스트 컨트롤러 (Red Hat Enterprise Linux 7.3에서 기술 프리뷰)
에뮬레이션된 스토리지 드라이버
스토리지 장치 및 스토리지 풀은 에뮬레이션된 드라이버를 사용하여 스토리지 장치를 가상 머신에 연결할 수 있습니다. 게스트는 에뮬레이션된 스토리지 드라이버를 사용하여 스토리지 풀에 액세스합니다.
모든 가상 장치와 마찬가지로 스토리지 드라이버는 스토리지 장치가 아닙니다. 드라이버는 백업 스토리지 장치, 파일 또는 스토리지 풀 볼륨을 가상 머신에 연결하는 데 사용됩니다. 백업 스토리지 장치는 지원되는 스토리지 장치, 파일 또는 스토리지 풀 볼륨 유형일 수 있습니다.
에뮬레이션된 IDE 드라이버
KVM은 두 개의 에뮬레이션된 PCI IDE 인터페이스를 제공합니다. 에뮬레이션된 IDE 드라이버는 최대 4개의 가상화된 IDE 하드 디스크 또는 가상화된 IDE CD-ROM 드라이브의 모든 조합을 각 가상 머신에 연결하는 데 사용할 수 있습니다. 에뮬레이션된 IDE 드라이버는 가상화된 CD-ROM 및 DVD-ROM 드라이브에도 사용됩니다.
에뮬레이션된 플로피 디스크 드라이브 드라이버
에뮬레이션된 플로피 디스크 드라이브 드라이버는 가상화된 플로피 드라이브를 만드는 데 사용됩니다.
에뮬레이션된 음 장치
에뮬레이션 (Intel)HDA 사운드 장치 인tel-hda 는 다음 게스트 운영 체제에서 지원됩니다.
  • Red Hat Enterprise Linux 7 for AMD64 및 Intel 64 아키텍처
  • 32비트 AMD 및 Intel 아키텍처 및 AMD64 및 Intel 64 아키텍처용 Red Hat Enterprise Linux 4, 5, 6,
참고
다음과 같은 에뮬레이션된 음향 장치도 사용할 수 있지만 특정 게스트 운영 체제와의 호환성 문제로 인해 권장되지는 않습니다.
  • Ac97: 에뮬레이션된 Intel 82801AA AC97 audio 호환 사운드 카드
에뮬레이션된 그래픽 카드
다음과 같은 에뮬레이션된 그래픽 카드가 제공됩니다.
  • Cirrus CLGD 5446 PCI VGA 카드
  • Bochs VESA 확장 기능이 있는 표준 VGA 그래픽 카드(모든 비표준 모드를 포함한 하드웨어 수준)
게스트는 특수 컴퓨팅 환경(SPICE) 프로토콜 또는 VNC(Virtual Network Computing) 시스템에 대한 간단한 프로토콜을 사용하여 이러한 장치에 연결할 수 있습니다.
에뮬레이션된 네트워크 장치
다음의 두 개의 에뮬레이션된 네트워크 장치가 제공됩니다.
  • e1000 장치는 Intel E1000 네트워크 어댑터(Intel 82540EM, 82573L, 82544GC)를 에뮬레이션합니다.
  • rtl8139 장치는 Realtek 8139 네트워크 어댑터를 에뮬레이션합니다.
에뮬레이션된 워치독 장치
워치독은 머신이 과부하되거나 응답하지 않는 경우 가상 머신을 자동으로 재부팅하는 데 사용할 수 있습니다.
Red Hat Enterprise Linux 7은 다음과 같은 에뮬레이션된 워치독 장치를 제공합니다.
  • i6300esb - Intel 6300 ESB PCI 워치독 장치입니다. 게스트 운영 체제 Red Hat Enterprise Linux 버전 6.0 이상에서 지원되며 사용하는 것이 좋습니다.
  • ib700, 에뮬레이션된 iBaseGROUP ISA 워치독 장치입니다. ib700 워치 장치는 Red Hat Enterprise Linux 6.2 이상을 사용하는 게스트에서만 지원됩니다.
워치독 장치는 게스트 운영 체제 Red Hat Enterprise Linux 6.2 이상용 32비트 및 64비트 AMD 및 Intel 아키텍처에서 지원됩니다.

3.4.2. 반가상화 장치

반가상화는 게스트가 호스트 머신의 장치를 사용하는 빠르고 효율적인 통신 방법을 제공합니다.. KVM은 하이퍼바이저와 게스트 간의 계층으로 virtio API를 사용하여 가상 머신에 반가상화 장치를 제공합니다.
일부 반가상화 장치 에서는 I/O 대기 시간을 줄이고 I/O 처리량을 베어 메탈 수준에서 늘리며 다른 반가상화 장치는 사용할 수 없는 가상 머신에 기능을 추가합니다. I/O 집약적 애플리케이션을 실행하는 가상 머신에는 에뮬레이션된 장치 대신 반가상화 장치를 사용하는 것이 좋습니다.
모든 virtio 장치에는 호스트 장치와 게스트 드라이버의 두 가지 부분이 있습니다. 반가상화 장치 드라이버를 사용하면 게스트 운영 체제가 호스트 시스템의 물리적 장치에 액세스할 수 있습니다.
이 장치를 사용하려면 게스트 운영 체제에 반가상화 장치 드라이버를 설치해야 합니다. 기본적으로 반가상화 장치 드라이버는 Red Hat Enterprise Linux 4.7 이상, Red Hat Enterprise Linux 5.4 이상 및 Red Hat Enterprise Linux 6.0 이상에 포함되어 있습니다.
참고
반가상화 장치 및 드라이버 사용에 대한 자세한 내용은 Red Hat Enterprise Linux 7 Virtualization 배포 및 관리 가이드 를 참조하십시오.
반가상화 네트워크 장치(virtio-net)
반가상화 네트워크 장치는 I/O 성능 증가 및 대기 시간이 단축된 가상 시스템에 대한 네트워크 액세스를 제공하는 가상 네트워크 장치입니다.
반가상화 블록 장치(virtio-blk)
반가상화 블록 장치는 가상 머신에 I/O 성능이 뛰어나고 대기 시간이 짧은 고성능 가상 스토리지 장치입니다. 반가상화 블록 장치는 하이퍼바이저에서 지원되며 가상 머신에 연결되어 있습니다(다중 디스크 드라이브는 에뮬레이션해야 하는 경우 제외).
반가상화 컨트롤러 장치(virtio-scsi)
반가상화 SCSI 컨트롤러 장치는 virtio-blk에 보다 유연하고 확장 가능한 대안을 제공합니다. virtio-scsi 게스트는 대상 장치의 기능 세트를 상속할 수 있으며, 28개의 장치만 처리할 수 있는 virtio-blk에 비해 수백 개의 장치를 처리할 수 있습니다.
virtio-scsi는 다음 게스트 운영 체제에서 완전하게 지원됩니다.
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 6.4 이상
반가상화 클럭
시계 소스인 TTSC(Time Stamp counter)를 사용하는 게스트는 타이밍 문제가 발생할 수 있습니다. KVM은 게스트에게 반가상화 시계를 제공하여 일정한 TSC가 없는 호스트에서 작동합니다. 또한 반가상화 클럭은 게스트가 절전(S3)을 실행하거나 RAM 작업을 중단한 후 필요한 시간 조정을 지원합니다.
반가상화 직렬 장치(virtio-serial)
반가상화 직렬 장치는 바이트 스트림 지향 문자 스트림 장치이며 호스트의 사용자 공간과 게스트의 사용자 공간 간에 간단한 통신 인터페이스를 제공합니다.
balloon 장치(virtio-balloon)
풍선 장치는 사용되지 않는 것으로 가상 시스템의 RAM의 일부를 지정할 수 있으므로(Grabing the balloon)라는 프로세스를 지정 할 수 있으므로 해당 호스트의 다른 가상 머신(또는 해당 호스트의 다른 가상 머신의 경우)에 대해 메모리를 해제할 수 있습니다. 가상 시스템에 메모리가 다시 필요한 경우 balloon가 해제될 수 있으며 호스트는 RAM을 다시 가상 시스템에 배포할 수 있습니다.
반가상화 난수 생성기(virtio-rng)
반가상화 난수 생성기를 사용하면 가상 머신에서 암호화된 데이터 및 보안에 사용할 호스트에서 직접 엔트로피 또는 무작위성을 수집할 수 있습니다. 일반적인 입력(예: 하드웨어 사용량)을 사용할 수 없기 때문에 가상 머신은 엔트로피를 사용하지 않는 경우가 많습니다. 엔트로피를 소싱하는 것은 시간이 오래 걸릴 수 있습니다. virtio-rng 를 사용하면 호스트에서 게스트 가상 머신에 엔트로피를 직접 삽입하여 이 프로세스를 더 빠르게 수행할 수 있습니다.
반가상화 그래픽 카드(QXL)
반가상화 그래픽 카드는 QXL 드라이버와 함께 작동하여 원격 호스트에서 가상 머신의 그래픽을 효율적으로 표시할 수 있습니다. SPICE를 사용하려면 QXL 드라이버가 필요합니다.

3.4.3. 물리적 호스트 장치

특정 하드웨어 플랫폼을 사용하면 가상 머신에서 다양한 하드웨어 장치 및 구성 요소에 직접 액세스할 수 있습니다. 가상화의 이 프로세스를 장치 할당 또는 passthrough 라고도 합니다.
VFIO 장치 할당
VFIO(Virtual Function I/O)는 Red Hat Enterprise Linux 7의 새로운 커널 드라이버로, 물리적 하드웨어에 고성능으로 액세스할 수 있는 가상 머신을 제공합니다.
VFIO는 호스트 시스템의 PCI 장치를 가상 머신에 직접 연결하여 다양한 작업에 대해 게스트에게 PCI 장치에 배타적인 액세스를 제공합니다. 이를 통해 PCI 장치는 게스트 가상 머신에 물리적으로 연결된 것처럼 표시 및 작동할 수 있습니다.
VFIO는 KVM 하이퍼바이저에서 장치 할당을 이동하고 커널 수준에서 장치 격리를 강제 적용하여 이전 PCI 장치 할당 아키텍처를 개선합니다. VFIO는 더 나은 보안을 제공하며 보안 부팅과 호환됩니다. Red Hat Enterprise Linux 7의 기본 장치 할당 메커니즘입니다.
VFIO는 Red Hat Enterprise Linux 7에서 할당된 장치 수를 Red Hat Enterprise Linux 6의 최대 8개 장치까지 늘립니다. VFIO는 또한 NVIDIA GPU 할당을 지원합니다.
참고
VFIO 장치 할당에 대한 자세한 내용은 Red Hat Enterprise Linux 7 Virtualization 배포 및 관리 가이드 를 참조하십시오.
USB, PCI, SCSI 패스스루
KVM 하이퍼바이저는 호스트 시스템의 USB, PCI, SCSI 장치를 가상 머신에 연결할 수 있도록 지원합니다. USB, PCI 및 SCSI 장치 할당을 통해 장치가 가상 머신에 물리적으로 연결된 것처럼 표시 및 작동할 수 있습니다. 따라서 게스트에 다양한 작업에 대해 이러한 장치에 독점적으로 액세스할 수 있습니다.
참고
USB, PCI 및 SCSI 통과에 대한 자세한 내용은 Red Hat Enterprise Linux 7 가상화 배포 및 관리 가이드 를 참조하십시오.
SR-IOV
SR-IOV(Single Root I/O Virtualization)는 단일 물리 PCI 함수를 확장하여 PCI 리소스를 별도의 VF( 가상 기능)로 공유하는 PCI Express(PCI-e) 표준입니다. 각 기능은 PCI 장치 할당을 통해 다른 가상 머신에서 사용할 수 있습니다.
SR-IOV 가능 PCI-e 장치는 단일 루트 기능(예: 단일 이더넷 포트)을 제공하고 여러 개의 개별 가상 장치를 고유한 PCI 장치 기능으로 제공합니다. 각 가상 장치에는 고유한 PCI 구성 공간, 메모리 매핑된 레지스터 및 개별 rootfs 기반 인터럽트가 있을 수 있습니다.
참고
SR-IOV에 대한 자세한 내용은 Red Hat Enterprise Linux 7 Virtualization 배포 및 관리 가이드 를 참조하십시오.
NPIV
N_Port ID 가상화(NPIV)는 일부 파이버 채널 장치에서 사용할 수 있는 기능입니다. NPIV는 하나의 물리적 N_Port를 여러 N_Port ID로 공유합니다. NPIV는 SR-IOV가 PCIe 인터페이스에 제공하는 파이버 채널 HBA(호스트 버스 어댑터)에 유사한 기능을 제공합니다. NPIV를 사용하면 가상 시스템에 SAN(Storage Area Networks)에 가상 파이버 채널 이니시에이터가 제공될 수 있습니다.
NPIV는 높은 밀도의 가상화 환경에 엔터프라이즈급 스토리지 솔루션을 제공할 수 있습니다.
NPIV에 대한 자세한 내용은 SCSI 장치를 사용하는 vHBA 기반 스토리지 풀을 참조하십시오.

3.4.4. 게스트 CPU 모델

CPU 모델은 게스트 운영 체제에 노출되는 호스트 CPU 기능을 정의합니다. KVMlibvirt 에는 여러 프로세서 모델에 대한 정의가 포함되어 있으므로 사용자는 최신 CPU 모델에서만 사용할 수 있는 CPU 기능을 활성화할 수 있습니다. 게스트에 노출할 수 있는 CPU 기능 세트는 호스트 CPU, 커널 및 KVM 코드 의 지원에 따라 다릅니다.
다양한 CPU 기능이 있는 호스트 간에 가상 머신을 안전하게 마이그레이션하기 위해 KVM 은 기본적으로 호스트 CPU의 모든 기능을 게스트 운영 체제로 노출하지 않습니다. 대신 선택한 CPU 모델을 기반으로 CPU 기능이 노출됩니다. 가상 머신에 지정된 CPU 기능이 활성화된 경우 게스트로 해당 기능 노출을 지원하지 않는 호스트로 마이그레이션할 수 없습니다.
참고
게스트 CPU 모델에 대한 자세한 내용은 Red Hat Enterprise Linux 7 Virtualization 배포 및 관리 가이드 를 참조하십시오.

3.5. 스토리지

가상 머신용 스토리지는 가상 머신에 할당된 실제 스토리지에서 추상화됩니다. 반가상화 또는 에뮬레이션된 블록 장치 드라이버를 사용하여 가상 머신에 연결됩니다.

3.5.1. 스토리지 풀

스토리지 풀은 가상 시스템에 스토리지를 제공하기 위해 libvirt 에서 관리하는 파일, 디렉터리 또는 스토리지 장치입니다. 스토리지 풀은 가상 머신 이미지를 저장하거나 추가 스토리지로 가상 머신에 연결된 스토리지 볼륨 으로 나뉩니다. 여러 게스트가 동일한 스토리지 풀을 공유하여 스토리지 리소스를 보다 효과적으로 할당할 수 있습니다. 자세한 내용은 Red Hat Enterprise Linux 7 Virtualization Deployment and Administration Guide 를 참조하십시오.
로컬 스토리지 풀
로컬 스토리지 풀은 호스트 서버에 직접 연결됩니다. 여기에는 로컬 디렉터리, 직접 연결된 디스크, 물리 파티션, 로컬 장치의 LVM(Logical Volume Management) 볼륨 그룹이 포함됩니다. 로컬 스토리지 풀은 마이그레이션 또는 다수의 가상 시스템이 필요하지 않은 개발, 테스트 및 소규모 배포에 유용합니다. 로컬 스토리지 풀은 실시간 마이그레이션을 지원하지 않기 때문에 많은 프로덕션 환경에 적합하지 않을 수 있습니다.
네트워크화된(공유) 스토리지 풀
네트워크 스토리지 풀에는 표준 프로토콜을 사용하여 네트워크를 통해 공유하는 스토리지 장치가 포함됩니다. virt-manager 를 사용하여 호스트 간에 가상 머신을 마이그레이션할 때는 네트워크 스토리지가 필요하지만 virsh 를 사용하여 마이그레이션하는 경우 선택 사항입니다. 네트워크로 연결된 스토리지 풀은 libvirt 에서 관리합니다.

3.5.2. 스토리지 볼륨

스토리지 풀은 스토리지 볼륨 으로 나뉩니다. 스토리지 볼륨은 libvirt 에서 처리하는 물리 파티션, LVM 논리 볼륨, 파일 기반 디스크 이미지 및 기타 스토리지 유형을 추상화합니다. 스토리지 볼륨은 기본 하드웨어에 관계없이 가상 머신에 로컬 스토리지 장치로 제공됩니다.

3.5.3. 에뮬레이션된 스토리지 장치

가상 시스템에는 호스트에서 에뮬레이션한 다양한 스토리지 장치를 제공할 수 있습니다. 각 유형의 스토리지 장치는 특정 사용 사례에 적합하므로 게스트 운영 체제와의 유연성을 극대화하고 호환됩니다.
virtio-scsi
virtio-scsi 는 많은 수의 디스크 또는 TRIM과 같은 고급 스토리지 기능을 사용하는 게스트에 권장되는 반가상화 장치입니다. Red Hat Enterprise Linux 7 이외의 운영 체제를 사용하는 게스트에서 게스트 드라이버를 설치해야 할 수 있습니다.
virtio-blk
virtio-blk 는 이미지 파일을 게스트에 노출하는 데 적합한 반가상화 스토리지 장치입니다. virtio-blk 는 가상 머신에 최상의 디스크 I/O 성능을 제공할 수 있지만 virtio-scsi 보다 기능이 적습니다.
IDE
virtio 드라이버를 지원하지 않는 기존 게스트에는 IDE가 권장됩니다. IDE 성능은 virtio-scsi 또는 virtio-blk보다 작지만 다른 시스템과는 널리 호환됩니다.
CD-ROM
ATAPI CD-ROM 및 virtio-scsi CD-ROM을 사용할 수 있으며 게스트가 ISO 파일 또는 호스트의 CD-ROM 드라이브를 사용할 수 있습니다. virtio-scsi CD-ROM은 virtio-scsi 드라이버가 설치된 게스트와 함께 사용할 수 있습니다. ATAPI CD-ROM은 더 광범위한 호환성과 더 낮은 성능을 제공합니다.
USB 대용량 스토리지 장치 및 플로피 디스크
이동식 미디어가 필요한 경우 에뮬레이션된 USB 대용량 스토리지 장치 및 플로피 디스크를 사용할 수 있습니다. USB 대용량 스토리지 장치는 더 큰 용량으로 인해 디스크의 플로피에 더 좋습니다.

3.5.4. 호스트 스토리지

디스크 이미지는 호스트에 연결된 다양한 로컬 및 원격 스토리지 기술에 저장할 수 있습니다.
이미지 파일
이미지 파일은 호스트 파일 시스템에만 저장할 수 있습니다. 이미지 파일은 ext4 또는 xfs와 같은 로컬 파일 시스템 또는 NFS와 같은 네트워크 파일 시스템에 저장할 수 있습니다.
libguestfs 와 같은 툴은 파일을 관리, 백업 및 모니터링할 수 있습니다. KVM의 디스크 이미지 형식은 다음과 같습니다.
raw
원시 이미지 파일에는 추가 메타데이터가 없는 디스크 내용이 포함되어 있습니다.
호스트 파일 시스템에서 허용하는 경우 원시 파일은 사전 할당되거나 스파스일 수 있습니다. 스파스 파일은 필요에 따라 호스트 디스크 공간을 할당하므로 씬 프로비저닝의 형식입니다. 사전 할당된 파일은 완전히 프로비저닝되지만 스파스 파일보다 성능이 높습니다.
원시 파일은 디스크 I/O 성능이 중요하며 네트워크를 통해 이미지 파일을 전송하는 것은 거의 필요하지 않습니다.
qcow2
qcow2 이미지 파일은 파일 백업, 스냅샷, 압축 및 암호화를 포함하여 다양한 고급 디스크 이미지 기능을 제공합니다. 템플릿 이미지에서 가상 머신을 인스턴스화하는 데 사용할 수 있습니다.
qcow2 파일은 일반적으로 가상 머신에서 작성한 섹터만 이미지에 할당되므로 네트워크를 통해 전송하는 데 더 효율적입니다.
Red Hat Enterprise Linux 7은 qcow2 버전 3 이미지 파일 형식을 지원합니다.
LVM 볼륨
논리 볼륨(LV)은 디스크 이미지에 사용하고 시스템의 LVM 도구를 사용하여 관리할 수 있습니다. LVM은 간단한 블록 스토리지 모델로 인해 파일 시스템보다 성능이 향상됩니다.
LVM 씬 프로비저닝은 LVM 볼륨에 대한 스냅샷 및 효율적인 공간 사용을 제공하며 qcow2로 마이그레이션하는 대신 사용할 수 있습니다.
호스트 장치
물리적 CD-ROM, 원시 디스크, LUN(Logical Unit Number)과 같은 호스트 장치는 게스트에 제공할 수 있습니다. 이를 통해 게스트가 우수한 성능을 통해 SAN 또는 iSCSI LUN과 로컬 CD-ROM 미디어를 사용할 수 있습니다.
호스트 장치는 호스트 대신 SAN에서 스토리지 관리를 수행할 때 사용할 수 있습니다.
분산 스토리지 시스템
Gluster 볼륨은 디스크 이미지로 사용할 수 있습니다. 이를 통해 네트워크를 통해 고성능 클러스터 스토리지를 사용할 수 있습니다.
Red Hat Enterprise Linux 7에는 GlusterFS의 디스크 이미지에 대한 기본 지원이 포함되어 있습니다. 이를 통해 KVM 호스트는 GlusterFS 볼륨에서 가상 머신 이미지를 부팅하고 GlusterFS 볼륨의 이미지를 가상 머신의 데이터 디스크로 사용할 수 있습니다. GlusterFS FUSE와 비교했을 때 KVM의 기본 지원은 더 높은 성능을 제공합니다.
스토리지 및 가상화에 대한 자세한 내용은 가상 머신용 스토리지 관리를 참조하십시오.

3.6. 가상 네트워킹

모든 네트워크에 대한 가상 게스트의 연결은 물리적 호스트의 소프트웨어 네트워크 구성 요소를 사용합니다. 이러한 소프트웨어 구성 요소는 libvirt 의 가상 네트워크 구성을 사용하여 다시 정렬하고 재구성할 수 있습니다. 따라서 호스트는 가상 네트워크 스위치 역할을 하며, 게스트의 네트워킹 요구에 맞게 다양한 방법으로 구성할 수 있습니다.
기본적으로 단일 호스트의 모든 게스트는 기본 이라는 동일한 libvirt 가상 네트워크에 연결됩니다. 이 네트워크의 게스트는 다음 연결을 수행할 수 있습니다.
서로 그리고 가상화 호스트와 함께
인바운드 및 아웃바운드 트래픽 모두 가능하지만 게스트 운영 체제의 네트워크 스택의 방화벽과 게스트 인터페이스에 연결된 libvirt 네트워크 필터링 규칙의 영향을 받습니다.
가상화 호스트 이외의 네트워크의 다른 호스트 사용
아웃바운드 트래픽만 가능하며 NAT(Network Address Translation) 규칙 및 호스트 시스템의 방화벽의 영향을 받습니다.
그러나 필요한 경우 게스트 인터페이스를 다음 모드 중 하나로 설정할 수 있습니다.
isolated 모드
게스트는 가상화 호스트 이외의 트래픽을 허용하지 않는 네트워크에 연결됩니다.
라우팅 모드
게스트는 NAT를 수행하지 않고 게스트와 외부 호스트 간에 트래픽을 라우팅하는 네트워크에 연결됩니다. 이렇게 하면 들어오는 연결을 사용할 수 있지만 외부 네트워크의 시스템에 대해 추가 라우팅 테이블 항목이 필요합니다.
브리지 모드
게스트는 로컬 이더넷에 연결된 물리적 이더넷 장치에 직접 연결된 브릿지 장치에 연결됩니다. 이렇게 하면 물리적 네트워크에서 게스트가 직접 표시되므로 들어오는 연결을 사용할 수 있지만 추가 라우팅 테이블 항목이 필요하지 않습니다.
가상 머신에서 기본 아웃 바운드 전용 네트워크 액세스의 경우 일반적으로 libvirt 패키지와 함께 기본 네트워크가 설치되고 libvirtd 서비스가 시작될 때 자동으로 시작되므로 추가 네트워크 설정이 필요하지 않습니다. 고급 기능이 필요한 경우 virsh 또는 virt-manager 를 사용하여 추가 네트워크를 만들고 구성할 수 있으며 게스트 XML 구성 파일은 이러한 새 네트워크 중 하나를 사용하도록 편집할 수 있습니다.
참고
고급 가상 네트워크 설정에 대한 자세한 내용은 Red Hat Enterprise Linux 7 Virtualization 배포 및 관리 가이드 를 참조하십시오.
게스트 운영 체제 관점에서 가상 네트워크 연결은 일반 물리적 네트워크 연결과 동일합니다. Red Hat Enterprise Linux 7 게스트의 네트워크 설정에 대한 자세한 내용은 Red Hat Enterprise Linux 7 네트워킹 가이드 를 참조하십시오.

4장. 가상화 명령줄 인터페이스 시작하기

Red Hat Enterprise Linux 7에서 가상화의 표준 작동 방법은 CLI(명령줄 사용자 인터페이스)를 사용하는 것입니다. CLI 명령을 입력하면 호스트 시스템에서 가상 머신을 생성하거나 상호 작용하는 시스템 유틸리티가 활성화됩니다. 이 방법은 virt-manager 와 같은 그래픽 애플리케이션을 사용하는 것보다 더 자세한 제어를 제공하고 스크립팅 및 자동화 기회를 제공합니다.

4.1. 가상화를 위한 기본 명령줄 유틸리티

다음 하위 섹션에는 Red Hat Enterprise Linux 7에서 가상화를 설정하고 관리하는 데 사용할 수 있는 주요 명령줄 유틸리티가 나열되어 있습니다. 이러한 명령 및 기타 여러 가상화 유틸리티가 Red Hat Enterprise Linux 리포지토리에서 제공하는 패키지에 포함되어 있으며 YUM 패키지 관리자를 사용하여 설치할 수 있습니다.
가상화 패키지 설치에 대한 자세한 내용은 가상화 배포 및 관리 가이드 를 참조하십시오.

4.1.1. virsh

virsh 는 하이퍼바이저 및 게스트 가상 머신을 관리하기 위한 CLI 유틸리티입니다. 이는 Red Hat Enterprise Linux 7에서 가상화를 제어하는 주요 수단입니다. 해당 기능은 다음과 같습니다.
  • 가상 머신 생성, 구성, 일시 중지, 나열 및 종료
  • 가상 네트워크 관리
  • 가상 머신 디스크 이미지로드
virsh 유틸리티는 가상화 관리 스크립트를 만드는 데 이상적입니다. root 권한이 없는 사용자는 virsh 도 사용할 수 있지만 읽기 전용 모드에서도 사용할 수 있습니다.

virsh사용

virsh 유틸리티는 표준 명령줄 입력에서 사용할 수 있지만 대화형 쉘로 사용할 수도 있습니다. 쉘 모드에서는 virsh 명령 접두사가 필요하지 않으며 사용자는 항상 root로 등록됩니다. 다음 예제에서는 virsh hostname 명령을 사용하여 하이퍼바이저의 호스트 이름을 먼저 표준 모드로 표시한 다음 대화형 모드로 표시합니다.
 $ virsh hostname
 localhost.localdomain

 $ virsh
 Welcome to virsh, the virtualization interactive terminal.

 Type:  'help' for help with commands
        'quit' to quit

 virsh # hostname
 localhost.localdomain
중요
virsh 를 루트가 아닌 사용자로 사용하는 경우 권한이 없는 libvirt 세션을 입력하면 게스트 또는 루트에서 만든 다른 가상화 요소를 보거나 상호 작용할 수 없습니다.
요소에 대한 읽기 전용 액세스 권한을 얻으려면 -c qemu:///system 옵션과 함께 virsh 를 사용합니다.

virsh에 대한 도움말 가져오기

모든 Linux bash 명령과 마찬가지로 man virsh 명령 또는 --help 옵션을 사용하여 virsh로 도움말을 얻을 수 있습니다. 또한 virsh help 명령은 특정 virsh 명령의 도움말 텍스트를 보거나 키워드를 사용하여 특정 그룹에 속한 모든 virsh 명령을 나열하는 데 사용할 수 있습니다.
virsh 명령 그룹과 해당 키워드는 다음과 같습니다.
  • 게스트 관리 - 키워드 도메인
  • 게스트 모니터링 - 키워드 모니터
  • 호스트 및 하이퍼바이저 모니터링 및 관리 키워드 호스트
  • 호스트 시스템 네트워크 인터페이스 관리 - 키워드 인터페이스
  • 가상 네트워크 관리 - 키워드 네트워크
  • 네트워크 필터 관리 - 키워드 필터
  • 노드 장치 관리 - 키워드 nodedev
  • 암호 또는 암호화 키와 같은 보안 관리 - 키워드 시크릿
  • 스냅샷 관리 - 키워드 스냅샷
  • 스토리지 풀 관리 - 키워드
  • 스토리지 볼륨 관리 - 키워드 볼륨
  • 일반 virsh 사용 - 키워드 virsh
다음 예제에서는 게스트 가상 머신의 이름을 변경하는 방법을 배울 필요가 있습니다. virsh help 를 사용하면 먼저 사용할 적절한 명령을 찾은 다음 구문을 알아봅니다. 마지막으로 이 명령을 사용하여 Fontaine 이라는 게스트의 이름을 Atlas 로 바꿉니다.

예 4.1. 키워드를 사용하여 모든 명령에 대한 도움말을 나열하는 방법

# virsh help domain
 Domain Management (help keyword 'domain'):
    attach-device                  attach device from an XML file
    attach-disk                    attach disk device
    [...]
    domname                        convert a domain id or UUID to domain name
    domrename                      rename a domain
    [...]
# virsh help domrename
 NAME
   domrename - rename a domain

 SYNOPSIS
   domrename <domain> <new-name>

 DESCRIPTION
   Rename an inactive domain.

 OPTIONS
   [--domain] <string>  domain name, id or uuid
   [--new-name] <string>  new domain name

# virsh domrename --domain Fontaine --new-name Atlas
Domain successfully renamed
참고
virsh 를 사용하여 가상 머신을 관리하는 방법에 대한 자세한 내용은 Red Hat Enterprise Linux 7 Virtualization 배포 및 관리 가이드를 참조하십시오.

4.1.2. virt-install

virt-install 은 새 가상 머신을 생성하기 위한 CLI 유틸리티입니다. 직렬 콘솔, SPICE 또는 VNC 클라이언트-서버 쌍 그래픽을 사용하여 텍스트 기반 및 그래픽 설치를 모두 지원합니다. 설치 미디어는 로컬이거나 NFS, HTTP 또는 FTP 서버에 원격으로 존재할 수 있습니다. 툴을 자동으로 실행하고 kickstart 방법을 사용하여 게스트를 준비하여 설치를 쉽게 자동화할 수도 있습니다. 이 도구는 virt-install 패키지에 포함되어 있습니다.
중요
virt-install 을 root가 아닌 사용자로 사용하는 경우 권한이 없는 libvirt 세션을 입력합니다. 즉, 생성된 게스트가 사용자에게만 표시되고 root가 생성한 게스트가 보유한 특정 기능에 액세스할 수 없습니다.

4.1.3. virt-xml

virt-xml 은 도메인 XML 파일을 편집하기 위한 명령줄 유틸리티입니다. XML 구성을 성공적으로 수정하려면 게스트 이름, XML 동작 및 make 변경 사항을 명령을 사용하여 포함해야 합니다.
예를 들어 다음은 게스트 부팅 구성과 관련된 하위 옵션을 나열한 다음 example_domain 게스트에서 부팅 메뉴를 켭니다.
# virt-xml boot=?
 --boot options:
   arch
   cdrom
   [...]
   menu
   network
   nvram
   nvram_template
   os_type
   smbios_mode
   uefi
   useserial
# virt-xml example_domain --edit --boot menu=on
Domain 'example_domain' defined successfully.
명령의 각 호출은 하나의 도메인 XML 파일에 대해 하나의 작업을 수행할 수 있습니다.
참고
이 도구는 virt-install 패키지에 포함되어 있습니다. virt-xml 사용에 대한 자세한 내용은 virt-xml 도움말 페이지를 참조하십시오.

4.1.4. RuntimeClass

guestfish 는 가상 머신 디스크 이미지를 검사하고 수정하는 명령줄 유틸리티입니다. libguestfs 라이브러리를 사용하고 libguestfs API에서 제공하는 모든 기능을 노출합니다.

guestfish사용

guestfish 유틸리티는 표준 명령줄 입력 모드에서 사용할 수 있지만 대화형 쉘로 사용할 수도 있습니다. 쉘 모드에서는 guestfish 명령 접두사가 필요하지 않으며 사용자는 항상 root로 등록됩니다. 다음 예제에서는 guestfish 를 사용하여 testguest 가상 머신의 파일 시스템을 표준 모드에서 먼저 표시한 다음 대화형 모드에서 표시합니다.
# guestfish domain testguest : run : list-filesystems
/dev/sda1: xfs
/dev/rhel/root: xfs
/dev/rhel/swap: swap
# guestfish

Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.

Type: 'help' for help on commands
	  'man' to read the manual
	  'quit' to quit the shell

><fs> domain testguest
><fs> run
><fs> list-filesystems
/dev/sda1: xfs
/dev/rhel/root: xfs
/dev/rhel/swap: swap
또한 guestfish 는 자동화를 위해 bash 스크립트에서 사용할 수 있습니다.
중요
guestfish 를 루트가 아닌 사용자로 사용하는 경우 권한이 없는 libvirt 세션을 입력합니다. 즉, root가 생성한 게스트의 디스크 이미지를 보거나 상호 작용할 수 없습니다.
이러한 디스크 이미지에 대한 읽기 전용 액세스 권한을 얻으려면 guestfish-ro -c qemu:///system 옵션과 함께 사용합니다. 또한 디스크 이미지 파일에 대한 읽기 권한이 있어야 합니다.

RuntimeClass에 대한 도움말 가져오기

모든 Linux bash 명령과 마찬가지로 man guestfish 명령 또는 --help 옵션을 사용하여 guestfish 에 대한 도움말을 얻을 수 있습니다. 또한 guestfish help 명령을 사용하여 특정 guestfish 명령에 대한 자세한 정보를 볼 수 있습니다. 다음 예제는 guestfish add 명령에 대한 정보를 표시합니다.
$ guestfish help add
NAME
    add-drive - add an image to examine or modify

SYNOPSIS
     add-drive filename [readonly:true|false] [format:..] [iface:..] [name:..] [label:..] [protocol:..] [server:..] [username:..] [secret:..] [cachemode:..] [discard:..] [copyonread:true|false]

DESCRIPTION
    This function adds a disk image called filename to the handle. filename
    may be a regular host file or a host device.
    [...]

4.2. 데모: 명령줄 유틸리티로 게스트 생성 및 관리

CLI에서 가상화 작업을 수행하는 방법을 표시하기 위해 이 섹션에서는 새 게스트 가상 머신이 생성되는 위치, OS가 설치되는 위치, 이후 게스트가 CLI 명령을 사용하여 상호 작용 및 관리되는 데모를 제공합니다.

4.2.1. 설치

다음은 guest1-rhel7 이라는 새 게스트를 생성하고 Red Hat Enterprise Linux 7 Workstation ISO 이미지에서 OS 설치를 시작합니다. 이 이미지는 고객 포털에서 얻을 수 있으며 이 예에서는 현재 ~/Downloads/ 폴더에 있습니다. 게스트는 두 개의 가상 CPU, 2048MB RAM 및 8GB의 디스크 공간으로 할당됩니다.
# virt-install --name guest1-rhel7 --memory 2048 --vcpus 2 --disk size=8 --cdrom /home/username/Downloads/rhel-workstation-7.4-x86_64-dvd.iso --os-variant rhel7

Starting install...
Allocating 'guest1-rhel7.qcow2'                                                   | 8.0 GB  00:00:00
그러면 virt-viewer 애플리케이션에서 그래픽 Anaconda 설치 프로그램이 시작됩니다. 설치에 대한 자세한 내용은 설치 가이드 를 참조하십시오.
참고
그래픽 인터페이스에 액세스하지 않은 호스트 시스템에서는 다음과 유사한 virt -install 명령을 사용하여 텍스트 기반 Anaconda 를 사용하여 게스트 OS를 설치할 수 있습니다.
# virt-install -name rhel7anaconda-guest -r 1024 --location=/home/jherrman/Downloads/rhel-workstation-7.4-x86_64-dvd.iso --disk size=8 --nographics --extra-args="console=tty0 console=ttyS0,115200n8"
설치가 성공적으로 완료되면 명령행에 다음이 표시됩니다.
Domain creation completed.
Restarting guest.
이제 게스트에 바람직한 설정을 할 수 있습니다. 그러나 게스트 설정을 안전하게 관리하려면 먼저 게스트를 종료하는 것이 좋습니다.
# virsh shutdown guest1-rhel7
Domain guest1-rhel7 is being shutdown

4.2.2. 장치 연결

게스트가 호스트에 연결된 USB 장치를 감지하고 사용하도록 하려면 이 예제의mgr 휴대 전화에서 호스트의 lsusb 명령을 사용하여 장치의 ID를 검색하십시오.
# lsusb

[...]
Bus 003 Device 007: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy (MTP)
이후 호스트에서 선택한 텍스트 편집기를 사용하여 장치에 대한 XML 파일 samsung_USB_device.xml 을 만듭니다. 여기서 벤더와 제품 ID를 입력합니다.
# vim samsung_USB_device.xml
<hostdev mode='subsystem' type='usb' managed='yes'>
  <source>
    <vendor id='0x04e8'/>
    <product id='0x6860'/>
  </source>
</hostdev>
마지막으로 virsh attach-device 명령을 사용하여 장치를 게스트에 연결합니다.
# virsh attach-device guest1-rhel7 --file samsung_USB_device.xml --config
Device attached successfully
참고
실행 중인 게스트에 장치를 연결할 수도 있습니다. 이 작업을 수행하려면 --live 옵션을 사용합니다.

4.2.3. 게스트와 상호 작용

guest1-rhel7 게스트 사용을 시작하려면 먼저 시작합니다.
# virsh start guest1-rhel7
Domain guest1-rhel7 started
호스트 시스템에 그래픽 디스플레이가 있는지 여부에 따라 virt-viewer 애플리케이션을 사용하여 게스트와 상호 작용하거나 SSH 쉘을 사용할 수 있습니다.
  • 그래픽 디스플레이가 있는 시스템에서 virt-viewer 를 사용합니다.
    # virt-viewer guest1-rhel7
    나중에 물리적 시스템의 OS GUI와 같은 virt-viewer 창의 화면 출력과 상호 작용할 수 있습니다. 예를 들어 Subscription Manager 애플리케이션을 사용하여 Red Hat Enterprise Linux 게스트 OS를 등록할 수 있습니다.
  • 호스트 또는 게스트에 텍스트 전용 인터페이스가 있는 경우 SSH를 사용합니다. 이를 위해서는 게스트의 IP 주소를 알아야 합니다. IP 주소를 모르는 경우 virsh domifaddr 명령을 사용하여 가져올 수 있습니다.
    # virsh domifaddr guest1-rhel7
     Name       MAC address          Protocol     Address
    -------------------------------------------------------------------------------
     vnet0      52:54:00:65:29:21    ipv4         10.34.3.125/24
    # ssh root@10.34.3.125
    root@10.34.3.125's password:
    Last login: Wed Jul 19 18:27:10 2017 from 192.168.122.1
    [root@localhost ~]#
    
    참고
    virsh domifaddr 이 작동하려면 게스트를 실행 중이어야 하며 네트워크에서 연결할 수 있어야 하며 QEMU 게스트 에이전트 를 활성화해야 할 수 있습니다.
    그런 다음 게스트 시스템에서 터미널을 사용하는 것처럼 호스트 터미널과 상호 작용할 수 있습니다. 예를 들어 subscription-manager 유틸리티를 사용하여 Red Hat Enterprise Linux 게스트 OS를 등록할 수 있습니다.
    [root@localhost ~]# subscription-manager register
    Registering to: subscription.rhsm.redhat.com:443/subscription
    Username: username@sample.com
    Password:
    The system has been registered with ID: 30b5e666-67f9-53bb-4b90-c2a88e5be789
    

4.2.4. 진단

게스트 상태에 대한 일반 정보를 표시합니다.
# virsh dominfo guest1-rhel7
Id:             1
Name:           guest1-rhel7
UUID:           ec0c0122-fb63-4a54-b602-5cf84f5e2dfd
OS Type:        hvm
State:          running
CPU(s):         2
CPU time:       33.4s
Max memory:     2097152 KiB
Used memory:    2097152 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: selinux
Security DOI:   0
Security label: unconfined_u:unconfined_r:svirt_t:s0:c102,c792 (enforcing)

4.2.5. 스냅샷 생성

게스트 상태를 백업하려면 virsh snapshot-create 명령을 사용하면 됩니다.
# virsh snapshot-create guest1-rhel7
Domain snapshot 1500563241 created
현재 스냅샷과 각 스냅샷의 XML 설정을 표시할 수 있습니다.
# virsh snapshot-list guest1-rhel7
Name                 Creation Time             State
------------------------------------------------------------
1500563241           2017-07-20 17:07:21 +0200 shutoff

# virsh snapshot-dumpxml guest1-rhel7 1500563241
<domainsnapshot>
  <name>1500563241</name>
  <state>shutoff</state>
  <creationTime>1500563241</creationTime>
  <memory snapshot='no'/>
  <disks>
    <disk name='vda' snapshot='internal'/>
[...]
이 스냅샷은 나중에 스냅샷에 저장된 상태로 게스트를 되돌리려면 로드될 수 있습니다.
# virsh snapshot-revert guest1-rhel7 --snapshotname 150056324

5장. 가상 머신 관리자 시작하기

virt-manager 라고도 하는 Virtual Machine Manager는 게스트 가상 머신을 생성하고 관리하기 위한 그래픽 도구입니다. 이 장에서는 가상 머신 관리자 및 실행 방법에 대해 설명합니다.
참고
그래픽 인터페이스가 있는 시스템에서 Virtual Machine Manager만 실행할 수 있습니다.
Virtual Machine Manager 사용에 대한 자세한 내용은 다른 Red Hat Enterprise Linux 가상화 가이드 를 참조하십시오.

5.1. 가상 머신 관리자 실행

가상 머신 관리자를 실행하려면 애플리케이션 목록에서 가상 머신을 선택하거나 다음 명령을 사용합니다.
# virt-manager
가상 머신 관리자가 기본 창에 열립니다.

그림 5.1. 가상 머신 관리자

가상 머신 관리자
참고
virt-manager 를 실행하는 데 실패하는 경우 virt-manager 패키지가 설치되어 있는지 확인합니다. virt-manager 패키지 설치에 대한 자세한 내용은 Red Hat Enterprise Linux Virtualization 배포 및 관리 가이드에서 가상화 패키지 설치를 참조하십시오.

5.2. 가상 머신 관리자 인터페이스

다음 섹션에서는 Virtual Machine Manager 사용자 인터페이스에 대한 정보를 제공합니다. 사용자 인터페이스에 는 가상 머신 관리자 기본 창가상 머신 창이 포함됩니다.

5.2.1. 가상 머신 관리자 메인 창

다음 그림은 Virtual Machine Manager 기본 창 인터페이스를 보여줍니다.

그림 5.2. 가상 머신 관리자 창

가상 머신 관리자 창
가상 머신 관리자 기본 창 제목 표시줄에 Virtual Machine Manager.

5.2.1.1. 메인 창 메뉴 바

다음 표에는 Virtual Machine Manager 기본 창 메뉴의 항목이 나열되어 있습니다.

표 5.1. 가상 머신 관리자 메인 창 메뉴

메뉴 이름 메뉴 항목 설명
파일 연결 추가 연결 추가 대화 상자를 열어 로컬 또는 원격 하이퍼바이저에 연결합니다. 자세한 내용은 Red Hat Enterprise Linux Virtualization 배포 및 관리 가이드에서 원격 연결 추가 를 참조하십시오.
새로운 가상 머신 새 VM 마법사를 열어 새 게스트 가상 머신을 생성합니다. 자세한 내용은 Red Hat Enterprise Linux Virtualization 배포 및 관리 가이드에서 virt-manager를 사용하여 게스트 생성 을 참조하십시오.
닫기 가상 머신 창을 닫지 않고 가상 머신 관리자 창을 닫습니다. 실행 중인 가상 머신은 중지되지 않습니다.
종료 가상 머신 관리자 및 모든 가상 머신 창을 닫습니다. 실행 중인 가상 머신은 중지되지 않습니다.
edit 연결 세부 정보 선택한 연결에 대한 연결 세부 정보 창을 엽니다.
가상 머신 세부 정보 선택한 가상 머신의 가상 머신 창을 엽니다. 자세한 내용은 가상 머신 창을 참조하십시오.
delete 선택한 연결 또는 가상 머신을 삭제합니다.
기본 설정 Virtual Machine Manager 옵션을 구성하기 위한 기본 설정 대화 상자를 엽니다.
view graph
  • 게스트 CPU 사용량
  • 호스트 CPU 사용량
  • 메모리 사용량
  • 디스크 I/O
  • 네트워크 I/O
토글은 Virtual Machine Manager 기본 창에서 가상 머신에 대한 선택한 매개 변수를 표시합니다.
도움말 정보 가상 머신 관리자에 대한 정보가 포함된 정보 창을 표시합니다.

5.2.1.2. 기본 창 도구 모음

다음 표에는 Virtual Machine Manager 기본 창의 아이콘이 나열되어 있습니다.

표 5.2. 가상 머신 관리자 기본 창 도구 모음

icon 설명
새 VM 마법사를 열어 새 게스트 가상 머신을 생성합니다.
선택한 가상 머신의 가상 머신 창을 엽니다.
선택한 가상 머신을 시작합니다.
선택한 가상 머신을 일시 중지합니다.
선택한 가상 머신을 중지합니다.
선택한 가상 머신에서 수행할 다음 작업 중 하나를 선택하는 메뉴를 엽니다.
  • reboot - 선택한 가상 머신을 재부팅합니다.
  • 종료 - 선택한 가상 머신을 종료합니다.
  • 강제 재설정 - 선택한 가상 머신을 강제 종료하고 다시 시작합니다.
  • force Off - 선택한 가상 시스템을 강제 종료합니다.
  • Save - 선택한 가상 머신의 상태를 파일에 저장합니다. 자세한 내용은 Red Hat Enterprise Linux Virtualization 배포 및 관리 가이드에서 게스트 가상 머신 구성 관리를 참조하십시오.

5.2.1.3. 가상 머신 목록

가상 머신 목록에 가상 머신 관리자가 연결된 가상 머신 목록이 표시됩니다. 목록의 가상 머신은 연결로 그룹화됩니다. 테이블 열의 헤더를 클릭하여 목록을 정렬할 수 있습니다.

그림 5.3. 가상 머신 목록

가상 머신 목록
가상 머신 목록에는 각 가상 머신에서 사용하는 리소스에 대한 정보가 포함된 그래프가 표시됩니다. 편집 메뉴의 기본 설정 대화 상자의 폴링 탭에서 리소스를 표시할 수 있습니다. 다음은 가상 머신 목록에 표시할 수 있는 리소스 목록입니다.
  • CPU 사용량
  • 호스트 CPU 사용량
  • 메모리 사용량
  • 디스크 I/O
  • 네트워크 I/O
보기 메뉴에서 그래프 메뉴 항목을 사용하여 표시할 리소스를 선택할 수 있습니다.

5.2.2. 가상 머신 창

이 섹션에서는 가상 머신 창 인터페이스에 대한 정보를 제공합니다.

그림 5.4. 가상 머신 창

가상 머신 창
제목 표시줄에는 가상 머신의 이름과 이를 사용하는 연결이 표시됩니다.

5.2.2.1. 가상 머신 창 메뉴 표시줄

다음 표에는 가상 시스템 창 메뉴의 항목이 나열되어 있습니다.

표 5.3. 가상 머신 창 메뉴

메뉴 이름 메뉴 항목 설명
파일 뷰 관리자 기본 가상 머신 관리자 창을 엽니다.
닫기 가상 머신을 중지하지 않고 가상 머신 창만 닫습니다.
종료 모든 가상 머신 관리자 창을 닫습니다. 실행 중인 가상 머신은 중지되지 않습니다.
가상 머신 실행 가상 머신을 실행합니다. 이 옵션은 가상 머신이 실행되고 있지 않은 경우에만 사용할 수 있습니다.
일시 중지 가상 머신을 일시 중지합니다. 이 옵션은 가상 머신이 이미 실행 중인 경우에만 사용할 수 있습니다.
종료 가상 머신에서 수행할 다음 작업 중 하나를 선택하는 메뉴를 엽니다.
  • reboot - 가상 머신을 재부팅합니다.
  • 종료 - 가상 머신 종료.
  • 강제로 재설정 - 가상 머신을 강제 종료하고 다시 시작합니다.
  • force Off - 가상 시스템을 강제 종료합니다.
  • Save - 가상 머신 상태를 파일에 저장합니다.
clone 가상 시스템의 복제본을 생성합니다. 자세한 내용은 Red Hat Enterprise Linux Virtualization 배포 및 관리 가이드에서 virt-manager를 사용한 게스트 사용을 참조하십시오.
migrate 가상 머신을 다른 호스트로 마이그레이션하기 위해 가상 머신 마이그레이션 대화 상자를 엽니다. 자세한 내용은 Red Hat Enterprise Linux Virtualization 배포 및 관리 가이드의 virt-manager로 마이그레이션 을 참조하십시오.
delete 가상 머신을 삭제합니다.
스크린샷 가져 오기 가상 머신 콘솔의 스크린샷을 가져옵니다.
USB 장치 리디렉션 리디렉션을 위해 USB 장치 선택 대화 상자를 열어 USB 장치를 다시 지정할 수 있습니다. 자세한 내용은 Red Hat Enterprise Linux Virtualization 배포 및 관리 가이드에서 USB Redirection 을 참조하십시오.
view 콘솔 가상 머신 창에서 콘솔 표시를 엽니다.
세부 정보 가상 머신 창에서 세부 정보 표시를 엽니다. 자세한 내용은 가상 머신 세부 정보 창을 참조하십시오.
스냅샷 가상 머신 창에서 스냅샷 표시를 엽니다. 자세한 내용은 스냅샷 창을 참조하십시오.
전체 화면 가상 머신 콘솔을 전체 화면 모드로 표시합니다.
VM으로 크기 조정 전체 화면의 디스플레이의 크기를 가상 머신에 대해 구성된 크기 및 해상도로 조정합니다.
스케일링 디스플레이 다음 하위 메뉴 항목을 선택하여 가상 머신의 디스플레이를 확장합니다.
  • Always - 가상 머신의 표시는 항상 가상 머신 창으로 확장됩니다.
  • 전체 화면 - 가상 머신의 표시가 가상 머신 창이 전체 화면 모드인 경우에만 가상 머신으로 확장됩니다.
  • Never - 가상 머신의 표시는 가상 머신 창으로 확장되지 않습니다.
  • Windows를 사용하여 VM 자동 크기 조정 - 가상 머신 창의 크기를 조정할 때 자동으로 가상 머신 크기 조정 표시
텍스트 콘솔 목록에서 선택한 가상 머신 디스플레이를 표시합니다. 가상 머신 디스플레이의 예로는 직렬 1그래픽 콘솔 스피스가 있습니다.
툴바 가상 머신 창 도구 모음의 표시를 토글합니다.
키 전송
Ctrl+Alt+Backspace
Ctrl+Alt+Delete
Ctrl+Alt+F1
Ctrl+Alt+F2
Ctrl+Alt+F3
Ctrl+Alt+F4
Ctrl+Alt+F5
Ctrl+Alt+F6
Ctrl+Alt+F7
Ctrl+Alt+F8
Ctrl+Alt+F9
Ctrl+Alt+F10
Ctrl+Alt+F11
Ctrl+Alt+F12
Ctrl+Alt+Printscreen
선택한 키를 가상 머신에 보냅니다.

5.2.2.2. 가상 머신 창 도구 모음

다음 표에는 가상 머신 창에 있는 아이콘이 나열되어 있습니다.

표 5.4. 가상 머신 창 도구 모음

icon 설명
가상 머신의 그래픽 콘솔을 표시합니다.
가상 머신의 세부 정보 창을 표시합니다.
선택한 가상 머신을 시작합니다.
선택한 가상 머신을 일시 중지합니다.
선택한 가상 머신을 중지합니다.
선택한 가상 머신에서 수행할 다음 작업 중 하나를 선택하는 메뉴를 엽니다.
  • reboot - 선택한 가상 머신을 재부팅합니다.
  • 종료 - 선택한 가상 머신을 종료합니다.
  • 강제 재설정 - 선택한 가상 머신을 강제 종료하고 다시 시작합니다.
  • force Off - 선택한 가상 시스템을 강제 종료합니다.
  • Save - 선택한 가상 머신의 상태를 파일에 저장합니다.
가상 머신 창에서 스냅샷 표시를 엽니다.
가상 머신 콘솔을 전체 화면 모드로 표시합니다.

5.2.2.3. 가상 머신 창

가상 머신 창에는 다음 중 하나가 표시됩니다.

가상 머신 콘솔

가상 머신 콘솔에는 가상 머신의 그래픽 출력이 표시됩니다.

그림 5.5. 가상 머신 콘솔

가상 머신 콘솔
실제 시스템과 상호 작용하는 것과 동일한 방식으로 마우스와 키보드를 사용하여 가상 시스템 콘솔과 상호 작용할 수 있습니다. 가상 머신 콘솔에 디스플레이는 가상 머신에서 수행되는 활동을 반영합니다.

가상 머신 세부 정보 창

가상 머신 세부 정보 창에서 가상 머신, 해당 하드웨어 및 구성에 대한 자세한 정보를 제공합니다.

그림 5.6. 가상 머신 세부 정보 창

가상 머신 세부 정보 창
가상 머신 세부 정보 창에는 가상 머신 매개변수 목록이 포함됩니다. 목록의 매개 변수를 선택하면 선택한 매개변수에 대한 정보가 가상 머신 세부 정보 창의 오른쪽에 표시됩니다. 가상 머신 세부 정보 창을 사용하여 하드웨어를 추가하고 구성할 수도 있습니다.
가상 머신 세부 정보 창에 대한 자세한 내용은 Red Hat Enterprise Linux Virtualization 배포 및 관리 가이드에서 가상 하드웨어 세부 정보 창을 참조하십시오.

스냅샷 창

가상 머신 스냅샷 창에서는 가상 머신에 대해 생성된 스냅샷 목록을 제공합니다.

그림 5.7. 가상 머신 스냅샷 창

가상 머신 스냅샷 창
가상 머신 스냅샷 창에는 가상 머신용으로 저장된 스냅샷 목록이 포함됩니다. 목록의 스냅샷을 선택하면 상태, 설명 및 스크린샷을 포함한 선택한 스냅샷에 대한 세부 정보가 가상 머신 스냅샷 창 오른쪽에 표시됩니다. 가상 머신 스냅샷 창을 사용하여 스냅샷을 추가, 삭제, 실행할 수 있습니다.
스냅샷 관리에 대한 자세한 내용은 Red Hat Enterprise Linux Virtualization 배포 및 관리 가이드에서 스냅샷 관리를 참조하십시오.

부록 A. 개정 내역

고친 과정
고침 1.0-56Thu May 23 2019Jiri Herrmann
7.6 GA 게시 버전
고침 1.0-55Thu Oct 25 2018Jiri Herrmann
7.6 GA 게시 버전
고침 1.0-53Thu Aug 5 2018Jiri Herrmann
7.6 베타 게시 버전
고침 1.0-52Thu Apr 5 2018Jiri Herrmann
7.5 GA 발행 버전
고침 1.0-49Thu Jul 27 2017Jiri Herrmann
7.4 GA 게시 버전
고침 1.0-46Mon Oct 17 2016Jiri Herrmann
7.3 GA 게시 버전
고침 1.0-44Mon Dec 21 2015Laura Novich
여러 버그 수정에 대한 가이드를 다시 게시
고침 1.0-43Thu Oct 08 2015Jiri Herrmann
버전 내역 정리
고침 1.0-42Sun Jun 28 2015Jiri Herrmann
7.2 베타 릴리스를 위해 업데이트

법적 공지

Copyright © 2019 Red Hat, Inc.
이 문서는 Red Hat이 Creative Commons Attribution-ShareAlike 3.0 Unported License 에 따라 라이센스가 부여됩니다. 이 문서 또는 수정된 버전을 배포하는 경우 Red Hat, Inc.에 attribution을 제공하고 원본 버전에 대한 링크를 제공해야 합니다. 문서가 수정되면 모든 Red Hat 상표를 제거해야 합니다.
Red Hat은 이 문서의 라이센스 제공자로서 관련 법률이 허용하는 한도 내에서 CC-BY-SA의 섹션 4d를 시행할 권리를 포기하며 이를 주장하지 않을 것에 동의합니다.
Red Hat, Red Hat Enterprise Linux, Shadowman 로고, Red Hat 로고, JBoss, OpenShift, Fedora, Infinity 로고 및 RHCE는 미국 및 기타 국가에 등록된 Red Hat, Inc.의 상표입니다.
Linux® 는 미국 및 기타 국가에서 Linus Torvalds의 등록 상표입니다.
Java® 는 Oracle 및/또는 그 계열사의 등록 상표입니다.
XFS® 는 미국 및/또는 기타 국가에 있는 Silicon Graphics International Corp. 또는 그 자회사의 상표입니다.
MySQL® 은 미국, 유럽 연합 및 기타 국가에 있는 MySQL AB의 등록 상표입니다.
Node.js® 는 Joyent의 공식 상표입니다. Red Hat은 공식 Joyent Node.js 오픈 소스 또는 상용 프로젝트에 의해 공식적으로 관련이 있거나 보증되지 않습니다.
OpenStack® Word 마크 및 OpenStack 로고는 미국 및 기타 국가에서 OpenStack Foundation의 등록 상표/서비스 마크 또는 상표/서비스 마크이며 OpenStack Foundation의 권한과 함께 사용됩니다. 당사는 OpenStack Foundation 또는 OpenStack 커뮤니티와 제휴 관계가 아니며 보증 또는 후원을 받지 않습니다.
기타 모든 상표는 각각 해당 소유자의 자산입니다.