IOMMU 란 무엇이며 VM 성능을 향상 시킵니까?


28

내 마더 보드의 칩셋은이 기능 IOMMU를 지원 합니다. VM이 가상 하드웨어 대신 실제 물리적 하드웨어를 사용하게함으로써 VM 성능을 향상 시킨다는 것을 읽었습니다 (실제로 이해하지는 못함).

이것이 실제로 VM의 성능 향상을 가져 옵니까? 그렇다면 Virtualbox를 어떻게 활용할 수 있습니까?

답변:


21

간단히 말해 IOMMU가 도움이되는 유일한 방법은 HW 리소스를 VM에 직접 할당하기 시작하는 것입니다. 그것을 갖는 것만으로는 더 빠르지 않습니다.

이 기능을 알리는 마더 보드 / CPU를 정확히 아는 것이 도움이됩니다. IOMMU는 시스템 별 IO 매핑 메커니즘이며 대부분의 장치에서 사용할 수 있습니다.

IOMMU는 Intel VT-d 및 AMD IOV 의 일반 이름처럼 들립니다 . 어떤 경우에는 장치를 멀티플렉싱 할 수 없다고 생각합니다.이 멋진 가상화 지침이 모두 존재하기 전에 PCI 패스 스루와 매우 비슷합니다. :) SR-IOV 가 다르므로 주변 장치 자체가 지원을 수행해야합니다. HW는 가상화되고 있음을 알고 있으며 HW 슬라이스 자체를 VM에 위임 할 수 있습니다 . 많은 VM이 매우 낮은 오버 헤드로 SR-IOV 장치와 동시에 통신 할 수 있습니다.

SR-IOV보다 빠른 유일한 것은 PCI 패스 스루 (passthrough)이지만,이 경우 호스트 운영 체제조차도 VM 하나만 해당 장치를 사용할 수 없습니다. PCI 패스 스루는 FibreChannel SAN에 연결하여 강력한 데이터베이스를 실행하는 VM에 유용합니다.

HW에 가까워지면 한계가 있지만 예를 들어 실시간 마이그레이션이 필요한 배포 환경에서는 VM의 이식성이 떨어집니다. 이는 SR-IOV 및 PCI 패스 스루 모두에 적용됩니다.

기본 가상화 된 Linux 배포는 일반적으로 VirtIO 를 사용 하며 이는 매우 빠릅니다.


칩셋이 지원하면 호스트 하드웨어에 물리적으로 액세스 할 수 있다고 마더 보드의 사용 설명서에서 읽었습니다.
Uri Herrera

방금 Xen Wiki를 읽었습니다. IOMMU는 SR-IOV 도하는 일을하는 것처럼 보이지만 Xen을 사용하지 않으며 Virtualbox는 이것을 잘 사용하지 않습니다.
Uri Herrera

아니요, 대부분의 컴퓨터에는 IOMMU가 없습니다. 아마도 당신은 IO-APIC을 생각하고 있습니까?
psusi

1
사실이 위키 백과 문서 꽤 잘 설명 : en.wikipedia.org/wiki/X86_virtualization를 . IOMMU 지원의 가장 큰 장점은 런타임에 통과하는 장치를 변경할 수 있다는 것입니다. 커널 arg 목록에 다양한 장치를 지정하기 전에는 주변 장치 만 통과 할 수있었습니다. IOMMU를 사용하면 원하는대로 장치를 다시 매핑 할 수 있습니다. 다시 이것은 호스트가 호스트를 사용하거나 VM 중 하나가 독점 액세스입니다. 이것은 실제로 서버 중심 기능입니다.
ppetraki

1
@UriHerrera Intel 및 AMD의 가상화 확장을 모두 지원하는 KVM을 사용하는 것이 좋습니다. 더 유연하고 VirtualBox에있는 기능을 포함하여 더 많은 기능이 있습니다.
Oxwivi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.