VT-d

VT-x는 CPU의 입출력을 가상시스템에서 직접 컨트롤 하기 위한 기술이다 그리고 이후에 나온 VT-d는 가상화에서 하드웨어 입출력을 가상시스템에서 직접적으로 컨트롤 하기 위한 기술이다. 가상화를 사용하면 둘다 켜놓고 사용하시는 것이 좋다.

  • vt-x vm에서 호스트os(윈도우,리눅스 맥os 등)를 거치지 않고 물리 메모리에 입출력
  • vt-d vm에서 pcie 호스트os(esxi,xen 등)디바이스에 다이렉트 입출력

vt-x는 cpu만 지원하면되지만 vt-d는 호환성을 만족하는 장치만 가능함. 그래서 VGA를 예로 들면 지포스 라데온 일반그래픽카드는 지원하지 않으며 쿼드로나 그리드 카드만 지원함.

많은 분들이 VT-D가 단순히 하드웨어 패스스루 하는 기능으로만 알고 있는데 요즘은 많이 다릅니다.

예를 들어 최신 랜카드들에서 사용하는 SR-IOV나 멀티 패킷이나 GPU 가속 기능들이 다 VT-D 기반의 하위 기능임.

VT-D를 키지 않으면 동작하지 않는다.

즉 요즘 하드웨어에 들어가는 가상화 관련 신기술들은 대부분 VT-D 키지 않으면 무용지물이 되고 그냥 구형 하드웨어 쓰는 거랑 똑 같아진다.

ATS Support 가 Address Translation Services 로 이걸 켜면 가상화 기기에서 PCI-E 디바이스를 엑세스 할때 더 빠르고 정확하게 사용할 수 있게 해주는 기능임.

최신 하드웨어나 가상화 기술들 보면 따로 스토리지를 직접 엑세스 하지 않고도 예전에 비해 퍼포먼스랑 안정성이 올라 갔는데 그 이유중 하나가 이런 기능들 때문임.

이것 뿐 아니라 최신 가상화 기술은 모두 VT-D 기반임.

Coherency Support는 호환성 문제가 생길 수 있어서 구버전 OS에서는 끄는 걸 권장함.

일반적으로 스피드 스텝이 동작하는 시스템에서 시피유 파워가 필요 할때 필요한 코어만 부하를 주는데 Coherency Support를 켜면 시피유를 골고루 다 사용하게 하는 옵션으로 알고 있다.