검색

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

download PDF
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 배포 및 관리 가이드 를 참조하십시오.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.