Software/Virtualization

가상화(vmware, xen, virtual box등) 에 대해 잘못 이해하고 있는 것들

crazyits 2013. 8. 30. 19:15
반응형

OS를 여러 가지 사용하게 하는 가상화를 여러 목적에 사용하고 있는데 관련된 여러 질문들을 보다가 이 글을 적게 되었다.

 

1. 일반적인 가상화는 드라이버가 필요하지 않다.

가상화를 통하여 OS를 설치한 후에 드라이버를 설치하려고 하는 경우가 종종 보인다.

가상화라는 것은 실제 하드웨어를 운영하는 것이 아니라 특정한 하드웨어를 소프트웨어로 구현을 하여 동작을 한다.

그렇기 때문에 특정한 드라이버를 설치할 필요가 없다.

 

그럼 특정한 드라이버가 필요한 경우는 어떠한 경우인가?

vmware esxi, vsphere 같은 경우는 DirectPath IO(passthrough)라는 것을 지원한다.

이러한 것을 지원하는 장치를 사용하게 되면 가상으로 설치한 OS에 이 하드웨어를 직접 연결이 가능해진다.

단 1개의 가상 OS에 연결이 가능하다. 여러 개의 가상 OS에 연결은 불가능하다.

xen server의 경우도 passthrough 라는 것을 지원하여 해당하는 하드웨어를 가상 OS에 직접 연결하여 사용이 가능하다.

역시 동일하게 1개의 가상 OS에 연결을 하면 다른 가상 OS에서는 해당하는 장치를 사용할 수 없다.

이러한 경우 가상 OS에서 해당하는 하드웨어를 인식하기 때문에 드라이버가 필요하게 된다.

여기에 사용하는 드라이버는 하드웨어 제조사에서 제공하는 드라이버를 사용하면 된다.

즉 vmware workstation, player 또는 Virtual Box와 같이 기본 OS를 설치하고 그 위에 가상화 프로그램을 설치하여 사용하는 사람이라면 드라이버가 필요없다.

 

가상화라는 것은 소프트웨어로 하드웨어를 지원하는 것이기 때문에 이러한 제약이 있는 것이다.

 

 

2. VT-D, IO MMU(AMD-Vi) 가 일반 사용자에게 필요한가?

인텔은 VT-X, AMD는 AMD-V 라는 가상화 기술을 대부분의 프로세서에서 지원하고 있는데 이것을 프로세서와 연관되어 있는 가상화 기술이다.

인텔은 VT-D를 특정한 프로세서와 칩셋에서 지원, AMD는 IO MMU를 대부분의 프로세서 칩셋에서 지원하고 있는데 이것은 입출력 장치에 관한 기술이다.

 

대부분의 사용자들은 윈도우, 리눅스와 같은 OS를 설치하여 사용하고 있다.

이러한 OS에서는 장착되어 있는 장치를 모두 인식하여 사용하기 때문에 VT-D, IO MMU와 같은 것을 지원하지 않는다.

(물론 OS(윈도우, 리눅스)의 커널단에서 수정이 이루어지면 가능해지겠지만 그게 간단한 일은 아니다.)

그렇기 때문에 이러한 OS에 설치되는 가상화 프로그램은 해당하는 기능에 대한 것을 지원하지 않고 VT-X, AMD-V 만 지원하는 것이다.

 

이러한 기능을 사용하기 위해서는 vmware esxi, vsphere 또는 Xen Server 같은 것을 사용할 때 필요한 것이다.

OS가 아니라 가상화 전용 OS를 사용하게 될 때 이러한 기능이 필요하게 된다.

 

 

3. 3D 지원에 관한 것들…

특정한 게임들을 동작시키기 위해서 가상 OS를 사용하고 있는 사람들도 있다.

VGA 드라이버를 설치하면 잘 돌아갈 것이라고 생각하는 사람들도 종종 있는데 이것은 삽질이다.

윈도우 및 리눅스를 설치한 상태에서의 가상화는 VGA라는 것도 소프트웨어적으로 처리하기 때문에 가상화 프로그램마다 특정한 VGA를 기본으로 하고 있다.

그러므로 3D 및 다른 하드웨어에 성능이 증가하려면 가상화 프로그램업체에서 드라이버 업데이트 해야만 성능 향상이 가능한 것이다.

반응형