14.2. 가상 장치 유형
RHEL 9의 가상화는 VM(가상 머신)에 연결할 수 있는 몇 가지 다른 유형의 가상 장치를 제공할 수 있습니다.
- 에뮬레이션된 장치
에뮬레이션된 장치는 널리 사용되는 물리적 장치의 소프트웨어 구현입니다. 물리적 장치를 위해 설계된 드라이버는 에뮬레이션된 장치와도 호환됩니다. 따라서 에뮬레이션된 장치는 매우 유연하게 사용할 수 있습니다.
그러나 특정 유형의 하드웨어를 올바르게 에뮬레이션해야 하므로 에뮬레이션된 장치는 해당 물리적 장치 또는 더 최적화된 가상 장치와 비교하여 상당한 성능 손실을 겪을 수 있습니다.
다음과 같은 유형의 에뮬레이션 장치가 지원됩니다.
- 가상 CPU(vCPU)를 선택할 수 있으며 다양한 CPU 모델을 사용할 수 있습니다. 에뮬레이션의 성능 영향은 호스트 CPU와 에뮬레이션된 vCPU의 차이점에 따라 크게 달라집니다.
- PCI 버스 컨트롤러와 같은 에뮬레이션 시스템 구성 요소입니다.
- SATA, SCSI 또는 IDE와 같은 에뮬레이션된 스토리지 컨트롤러입니다.
- ICH9, ICH6 또는 AC97과 같은 에뮬레이션된 사운드 장치.
- VGA 카드와 같은 에뮬레이션된 그래픽 카드입니다.
- rtl8139와 같은 에뮬레이션된 네트워크 장치.
- 반가상화 장치
paravirtualization은 가상 장치를 VM에 노출하는 빠르고 효율적인 방법을 제공합니다. 반가상화 장치는 VM에서 사용하도록 특별히 설계된 인터페이스를 노출하므로 장치 성능이 크게 향상됩니다. RHEL 9에서는 virtio API를 하이퍼바이저와 VM 간의 계층으로 사용하여 VM에 반가상화 장치를 제공합니다. 이 접근 방식의 단점은 게스트 운영 체제에 특정 장치 드라이버가 필요하다는 것입니다.
특히 I/O 집약적 애플리케이션을 실행하는 경우 VM에 에뮬레이션된 장치 대신 반가상화 장치를 사용하는 것이 좋습니다. 반가상화 장치는 I/O 대기 시간을 줄이고 I/O 처리량을 높이며 경우에 따라 베어 메탈 성능에 매우 근접합니다. 기타 반가상화 장치는 달리 사용할 수 없는 VM에 기능도 추가합니다.
다음과 같은 유형의 반가상화 장치가 지원됩니다.
-
반가상화 네트워크 장치(
virtio-net
). 반가상화 스토리지 컨트롤러:
-
virtio-blk
- 블록 장치 에뮬레이션을 제공합니다. -
virtio-scsi
- 보다 완전한 SCSI 에뮬레이션을 제공합니다.
-
- 반가상화 클록입니다.
-
반가상화 직렬 장치(
virtio-serial
). -
VM과 해당 호스트 간에 메모리를 동적으로 배포하는 데 사용되는 풍선 장치(
virtio-balloon
)입니다. -
반가상화 임의 번호 생성기(
virtio-rng
)입니다.
-
반가상화 네트워크 장치(
- 물리적으로 공유된 장치
특정 하드웨어 플랫폼을 사용하면 VM이 다양한 하드웨어 장치 및 구성 요소에 직접 액세스할 수 있습니다. 이 프로세스를 장치 할당 또는 패스스루 라고 합니다.
이러한 방식으로 연결하면 실제 시스템의 일부 측면을 VM에서 직접 사용할 수 있습니다. 이는 VM에서 사용할 때 장치에 우수한 성능을 제공합니다. 그러나 VM에 물리적으로 연결된 장치는 호스트에서 사용할 수 없으며 마이그레이션할 수 없습니다.
그러나 일부 장치는 여러 VM에서 공유할 수 있습니다. 예를 들어, 하나의 물리적 장치는 특정 경우에 여러 중재된 장치를 제공할 수 있으며, 이 장치는 개별 VM에 할당할 수 있습니다.
다음 유형의 패스스루 장치가 지원됩니다.
- USB, PCI 및 SCSI 패스스루 - 게스트 소프트웨어에서 특정 기능을 사용할 수 있도록 하기 위해 일반적인 업계 표준이 VM에 직접 노출됩니다.
- SR-IOV(Single-root I/O Virtualization) - PCI Express 리소스의 하드웨어 적용 격리를 활성화하는 사양입니다. 이를 통해 단일 물리적 PCI 리소스를 가상 PCI 기능으로 분할하는 것이 안전하고 효율적입니다. 일반적으로 NIC(네트워크 인터페이스 카드)에 사용됩니다.
- N_Port ID 가상화(NPIV) - 여러 가상 포트와 단일 물리적 호스트 버스 어댑터(HBA)를 공유하는 파이버 채널 기술입니다.
- GPU 및 vGPUs - 특정 종류의 그래픽 또는 컴퓨팅 워크로드에 대한 가속기입니다. 일부 GPU는 VM에 직접 연결할 수 있지만 특정 유형은 기본 물리적 하드웨어를 공유하는 가상 GPU(vGPU)를 생성하는 기능도 제공합니다.
이러한 유형의 일부 장치는 RHEL과 호환되지 않거나 지원되지 않을 수 있습니다. 가상 장치 설정에 도움이 필요한 경우 Red Hat 지원을 참조하십시오.