5월 2일 Windows Server virtualization(WSv) 세미나 이후, 많은 분들께서 메일이나 Q&A 시간을 통해 질문하셨던 내용에 대해 명확히 정리하고자 포스팅을 하나 합니다.

Virtual Server 2005와 WSv의 차이중 하나는 가상 하드웨어에 대한 에뮬레이션 처리냐 아니냐라는 측면입니다.

그렇다면 Windows Server Longhorn에 들어갈 가상화 기술은 모든 하드웨어를 가상화 처리 없이 이용할 수 있느냐라는... 의문점이 생기게 됩니다. Synthetic(인조의, 합성의) Device라는 단어를 가상화에서 사용하게 되는데, 이 가상이라는 기계를 어떤 방식으로 처리할 것이냐가 오늘 언급드릴 이야기입니다. Virtual Server 2005에서는 개개별 하드웨어에 대한 처리를 에뮬레이션 처리하였고 그 결과, VM내 장치 관리자에서 NIC의 경우 DEC/Intel 21140 네트워크 아답터, VGA의 경우엔 S3, SCSI의 경우에는 Adaptect 7870 SCSI 아답터라고 표시가 되었습니다. Virtual Server 2005 R2의 최대 목표는 모든 운영 체제에 대한 호환성 확보가 1순위였기 때문에, 모든 운영 체제를 다 가상화 시킬 수 있어야 됩니다. 가상화의 발전 단계가 이제는 인프라의 가상화 단계로 진행중에 있으므로, 가상화 솔루션은 회사의 중요 시스템을 가상화 시킬 수 있고 서비스할 수 있는 레벨까지 제공을 해야 합니다. 결론은 Virtual Server 2005에서는 하드웨어 대한 제공을 Virtual Server 2005레벨에서 에뮬레이션으로 처리해줬고, 범용적인 하드웨어에 대한 에뮬레이션 제공으로 현존하는 거의 모든 운영 체제에서 이를 이용할 수 있게 됩니다. 장점과 더불어 단점으로는 에뮬레이션으로 인한 호스트 운영 체제의 부하가 상승하게 됩니다. (3월 10일 포스팅, 3월 16일 포스팅 참조)

이제는 호환성이라는 팩터와 더불어 성능을 개선해야할 시점에 이르렀습니다. 하드웨어단의 지원 역시 이제는 가능하다는 것도 주요 포인트입니다.

VSP(Virtualization Service Provider)는 Parent 파티션에서 하드웨어 장비와 교신하면서, VM의 요청을 받아 처리하는 멀티플렉서의 역할을 하게 되고, 만약 20여대의 VM이 하나의 하드웨어를 사용한다면, 이 20대에서 요청하는 처리를 성공적으로, 안전하게 분배하는 역할을 하게 됩니다. 현재 Microsoft의 가상화 팀에서는 저장소, 네트워킹, 입력 장치, 비디오에 대해서 VSP를 제공할 예정입니다.

VSC(Virtualization Service Client)는 VM에 설치되는 "Integration Components(IC)"에 포함되어져 있습니다. VSC는 VM에서 하드웨어에 대한 사용을 할 경우, VMBUS를 이용하여, VSP로 접근하게 됩니다. VSC는 VM레벨에서는 에뮬레이션 되는 장비가 아닌 하나의 Synthetic Device로 보여지게 되며, 이러한 이유로 WSv의 VM은 하드웨어 대해서 에뮬레이션 되는 S3, Intel NIC의 장치 형태가 아닌, 실제 하드웨어의 형태로 표시되게 됩니다.

Synthetic Device는 에뮬레이션되는 장치가 아니라, 실제 하드웨어에 맵핑되는 장치입니다. 실제 하드웨어 장비를 이용하는 것과 동일한 형태로 VM에서 이용이 가능한 것입니다.

VMBUS는 VM간, VM과 실제 머신과의 통신을 위한 채널입니다. 해당 채널은 메모리내 Point-to-Point 형태로 제공이되며, Hypervisor는 이러한 형태의 상호 교신을 관리합니다. 명확하게 하기 위해 정리하면, VMBUS는 다음은 하지 않습니다.

1. 에뮬레이션은 하지 않습니다.
2. 하드웨어와 관련된 모든 작업에는 하는 것이 없습니다. Synthetic 장치는 VMBUS에 그저 연결되어져 있을 뿐입니다.
3. Hypervisor와 통신만 합니다, 이는 VM간, VM과 실제 머신과의 교신만을 담당합니다.

VSP/VSC/VMBUS와의 관계를 그린 그림입니다. :)

VM이 어떤 운영 체제이던지 간에, VSC만 사용하게 된다면, WSv에서 서비스를 할 수 있게 되겠죠? 이를 위해 Microsoft는 Xen, Novell과 협약을 맺어 이기종 운영 체제에 대한 지원을 할 예정입니다.

마지막 궁금사항이 하나 생기실 수 있을 것 같아, 첨부해서 써보면.. VSC를 지원하지 않는 운영 체제에 대해서는 어떻게 하느냐라는 질문을 하실 수 있는데, 이 경우에는 에뮬레이션이 되게 됩니다. VM내 IC를 설치하는 순간에 에뮬레이션은 바이패스하게 됩니다. 따라서 IC를 설치하시기 전까지는 기존과 동일한 방식의 에뮬레이션을 하는 VM내에 있게 되는 것이죠.