모듬‎ > ‎

가상 머신

컴퓨터의 성능이 발달하면서 프로그램으로 컴퓨터를 돌리는 게 가능해졌다. 이 때문에 CPU 자체에 가상화를 위한 구조가 들어가기도 했다. 그리고 가능성 외에, 한국의 웹 환경에서는 윈도우 외의 운영체제를 쓰면서 윈도우를 쓸 수 밖에 없기 때문에 가상머신이 필수적이라 할 수 있다.


VMware


가상머신을 본격적으로 보급한 이름. 다양한 제품군이 있다. 그 중에 player와 server가 무료로 제공된다.

VMware Player


전에는 이미 만들어진 가상머신을 구동만 하는 개념이었는데 (그래서 qemu로 디스크를 만들고 .vmx를 직접 편집하는 작업을 조금 해야 했다), 3.0.1을 써보니 가상머신을 만들고 관리하는 기능이 들어가 있다. 다만 하드를 SCSI로 만들어서 .vmx에서 IDE0으로 고치고서야 윈도우 설치가 된다.

VMware Server


서비스로 돌아가고 웹으로 제어판을 제공한다. 왜인지 CPU도 덜 끌어다 쓰고 반응성도 떨어지는 느낌이었다.

하드에 비해 메모리를 많이 쓰도록 각종 설정을 조정했을 때 oom-killer 메시지가 뜨고 왠지 자주 연결이 끊겨서 (돌기는 도는 거 같은데 콘솔에서 접촉을 못 한다) 전체 메모리 사용량을 조정해야 했다.

VMware Fusion


맥에서 돌아가는 버전. Parallels에 비해 좀 부드럽지 못한 느낌이다. 구동시에 마우스가 반응하지 않는 시간이 좀 있고, 부트캠프 구동시에 실제 장치에 접근하기 위해 관리자 권한을 요구하는데 이 단계에서 암호를 매번 다시 입력해줘야 해서 매우 번거롭다.

Parallels


맥에서는 VMware보다 먼저 이름을 알린 곳. 기대하지 않았는데 의외로 VMware보다 성능도 좋아서, 게임을 돌려봤는데 비교적 잘 돌고, 구동시의 마우스 멈춤 현상이나 암호 요구가 없다.

다만 VMware에서는 프로그램을 종료시킬 때 그대로 꺼지는 것이 아니라 내부 머신을 정상적으로 종료시키고 전원이 꺼지는 동작까지를 해주는 데 비해 Parallels는 그대로 전원이 나가는 식의 동작을 하도록 되어 있어서 아쉽다.

맥 시스템과의 연동도 공유 폴더 기능을 비롯해 내외부 어플리케이션의 상호 연동까지 다양한 수준에서 제공하지만 개인적으로는 윈도우의 보안 위험이 외부로 퍼지는 걸 원치 않기 때문에 연동 설정은 전혀 하지 않고 있다.

VirtualBox


OSE(open source edition)과 바이너리 버전이 따로 있다. OSE는 Ubuntu Gutsy부터 VMware 대신 기본 패키지에 포함됐다. VBoxHeadless -startvm 명령으로 띄운 후에 vrdp를 통해 접속할 수 있다. vrdp 인증을 external로 하면 된다. VBoxHeadless 자체를 데몬처럼 띄우는 건 vboxtool이란 게 있는데 su -를 쓰는 방법이라 그다지 깔끔한 느낌은 아니다. OSE에는 rdp 대응으로만 구동하는 기능이 빠져 있는데 연동을 잡아주면 잘 된다. 메뉴를 따라서 설정할 때는, NAT 네트워크에서 포워딩을 3389 포트로만 호스트와 게스트 양쪽에 지정해주면 잘 연결된다.

VMware의 .vmdk를 그대로 쓸까 하고 vditool이라는 걸로 바꿔봤는데 부팅이 안 되어서 그냥 새로 만들었던 적이 있다. 그 뒤로 변환해본 적은 없다.

Virtual PC

http://www.microsoft.com/windows/virtual-pc/

가상머신을 본격적으로 OS의 일환으로 도입한 사례랄까. 윈도우 7에서 기존 프로그램의 호환성 등 때문에 문제가 예상되자 아예 전에 있던 Virtual PC를 XP Mode라고 해서 별개로 윈도우 XP를 사용할 수 있게 하고 내외부가 연동되는 것처럼 보이도록 처리했다.