9장. 하드웨어 드라이버 및 장치

9.1. 가상화 하드웨어

Red Hat Virtualization에서는 가상화 게스트에게 세 가지 유형의 시스템 장치를 제공합니다. 이러한 하드웨어 장치는 모두 가상화 게스트에게는 물리적으로 연결된 하드웨어 장치로 보이지만 장치 드라이버는 작동 방식이 다릅니다.
에뮬레이트된 장치
가상 장치라고도 부르는 에뮬레이트된 장치는 온전히 소프트웨어에서만 존재합니다. 에뮬레이트된 장치 드라이버란 (소스 장치를 관리하는) 호스트에서 실행 중인 운영 체제와 게스트에서 실행 중인 운영 체제 간의 변환 레이어를 말합니다. 장치 수준에서 에뮬레이트된 장치와의 통신은 하이퍼바이저에서 가로채기 및 변환하게 됩니다. Linux 커널에서 인식하는 에뮬레이트 장치와 같은 유형의 모든 장치는 에뮬레이트된 드라이버의 백업 소스 장치로 사용 가능합니다.
반가상화 장치
반가상화 장치를 사용하려면 게스트 운영 체제에 장치 드라이버를 설치해서 호스트 시스템의 하이퍼바이저와 통신할 수 있는 인터페이스를 제공해 줘야 합니다. 이러한 인터페이스를 사용하여 디스크 I/O 등 일반적으로 집약적인 작업을 가상 환경 밖에서 수행할 수 있게 해줍니다. 이러한 방법으로 가상화 환경 고유의 오버헤드를 감소하여 게스트 운영 체제를 물리적인 하드웨어에 직업 실행했을 때와 비슷한 성능을 보일 수 있습니다.
물리적으로 공유된 장치
특정 하드웨어 플랫폼은 가상화 게스트가 각종 하드웨어 장치 및 구성 요소에 직접 액세스할 수 있게 해줍니다. 가상화에서 이러한 과정을 통과(passthrough) 또는 장치 지정이라고 합니다. 통과를 사용하면 장치가 게스트 운영 체제에 물리적으로 연결된 것처럼 보이고 작동하게 됩니다.