개요
하드웨어 가상화는 다양한 운영체제를 하나의 하드웨어 위에서 돌리기 위해서 하드웨어를 가상화하는 것을 말한다. 가상화는 물리적인 컴퓨터의 특징을 가상화하여서 추상화된 하나의 하드웨어로 운영체제가 인식할 수 있도록 한다. 이를 통해서 사용자는 다양한 운영체제를 마치 여러개의 하드웨어위에서 돌리는 것처럼 하나의 하드웨어 위에서 돌릴 수 있다.
장점 및 단점
장점
- 가상화된 환경을 사용자에게 줌으로서, 특정 사용자가 하드웨어를 독점하지 않아도 분리된 환경을 제시할 수 있게 된다. 이를 통해서 전체 Resource의 Utilization이 좋아진다.
- 가상 머신을 통해서 하나의 머신을 여러 사용자가 나누어 씀으로서, 에너지 효율적으로 작동할 수 있다.
- 가상머신은 실제하드웨어 보다 훨씬 유연하게 새로운 하드웨어의 장착이나 레거시 운영체제의 지원같은 여러 일에 대처할 수 있다.
- 새로운 가상 머신의 구입은 새로운 하드웨어의 구입보다 훨씬 싸게 먹힌다.
- 가상 머신의 Migration은 실제 hardware의 Migration보다 훨씬 쉽다.
- 가상머신의 버그는 전체 시스템에 영향을 미치지 안흔ㄴ다.
단점
- 때론 시스템의 성능을 예측하기 어렵다.
- IO나 Network처럼 여러 커널 스택을 거치는 경우 퍼포먼스 저하가 심하다. (Virtio와 같은 기법으로 우회하기도 한다.)
- 가상 머신의 Protection domain이 깨지면 다른 전체 가상머신에도 영향을 미칠 수 있다.