듀얼 코어를 너머 쿼드 코어 시대가 되면서 가상화 기술은 당연하고 필수적인 것이 되었습니다. 한 때, 리눅스에 필이 꽂혀서 싱글 코어(프레스캇 630) 에서 페도라를 돌려보겠다고 VMWare 에 올려놓고 가지고 놀다가 너무나 버벅여서 1주일도 못가서 포기했었는데, 최근 사양에서는 리눅스 데스크탑은 아주 가뿐하게 돌아가는군요.
가상화 소프트웨어는 가장 유명한 VMWare 부터, Microsoft 에서 만들다가 말았는지 버전업이 안되는 VirtualPC 2007, 그리고 Sun 에서 나온 VirtualBox 등 다양합니다. 그 중에서도 VMWare 는 단지 유명할 뿐 아니라 안정성이 높고 기능도 많습니다. 널리 사용되고 있다는 것은 그만큼 믿을만 하단거죠.
유료 버전이었던 VMWare GSX Server 는 무료화 후에 VMWare Server 1.0 으로 이름을 바꿨는데, 최근 버전은 2.0 입니다. 이전 버전과의 가장 큰 차이점은 UI 가 웹으로 옮겨졌다는 점 입니다. 사용 평가를 찾아보니 다른 가상화 소프트웨어 비해 안정성이나 기능이 월등이 좋다는 의견이 많았지만, 리소스 사용량이 너무 크다는 것이 문제였습니다. 실제로 설치해서 돌려보니, 웹 UI 를 사용하기 위해 tomcat6 을 비롯해 실행되는 프로세스도 많고, 서버의 안정성과는 달리 UI 자체는 안정성이나 편의성이 많이 떨어지더군요.
그래서, 사용하기 편하고 가벼우면서 필요한 기능은 다 있다는 VirtualBox 를 선택해서 설치를 했습니다. 확실히 메모리 사용량이 적고, 직관적인 UI 설계도 부담이 없더군요.
운영체제는 평소에 선호하던 우분투 대신 CentOS 를 선택했습니다. 물론, 우분투에서도 아파치, MySQL 등 서버를 돌리는 것은 별 문제가 없지만, 회사 서버의 대부분이 CentOS 를 사용하고 있고, 또 웹 호스팅에서도 Redhat 이나 CentOS 계열을 많이 사용하기 때문에 익숙해지기 위해서 우분투를 포기했습니다. 확실히 데스크탑 환경은 우분투에 비해서 아쉬움이 좀 남습니다. 하지만 가상 환경에서 데스크탑을 본격적으로 이용할 것은 아니기에... 만약, PC 1대를 더 구입해서 리눅스 데스크탑 환경을 쓴다면 분명히 우분투를 쓰겠죠. ^^
앞에서도 언급했지만, 쿼드 코어 환경에서 돌아가는 가상 머신은 정말 빠릅니다. 예전에 VMWare 위에 리눅스 하나 돌려 놓으면 팬이 폭발할 기세로 돌아가면서 컴퓨터가 느릿 느릿 기어갔었는데, 쿼드 코어의 힘 덕분인지 너무나 부드럽습니다. 게임 같은 것을 돌릴게 아니라면 항상 가상 머신을 실행해놔도 컴퓨터 사용에 아무런 문제가 없을 것 같습니다.
VirtualBox 는 2.0 이후로 네트웍에 대한 기능이 향상되서 포트 포워딩을 이용해서 호스트OS (Window XP) 가 게스트 OS (CentOS) 로 접근하는게 쉬워졌습니다. 호스트OS 에서 게스트 OS 로 접근하는게 중요한 이유는, 가상 머신에 CentOS 를 설치해서 외부에서 아파치, MySQL, SSH 등의 서비스를 이용하는게 목적이기 때문입니다. 사실, 이 설정이 가장 중요하면서도 어렵고 피곤한 작업이죠.
방법만 알면 대단히 간단하지만, 가상화 소프트웨어 마다 또 버전 마다 방법이 다 다르고, 또 운영체제 설정도 조금씩 다르기 때문에 가상 머신에서 리눅스를 올려놓고 서버로 쓰고 싶어하는 사람들이 가장 힘들어하는 부분입니다.
저도 처음에 VirtualBox 2.0 이전의 설정 방법을 보고 따라하다가 완전히 망쳐서 VirtualBox 와 CentOS 를 몇 번 재설치하는 시행 착오를 겪었습니다. 이전 버전에서는 네트웍 아답터 1 을 NAT 에서 브리지로 바꾸고, 아답터 2 에 Host Only 를 추가한 후, 로컬 네트웍과 브리지 연결을 맺어주고, 리눅스 상에서 아답터 2 를 고정 IP 로 바꿔준 다음, Windows XP 나 공유기 상에서 포트 포워딩을 해줬어야 했습니다. 듣기만 해도 짜증이 밀려오죠? 실제로 VMWare GSX 에서 페도라를 돌렸을 때도 이와 비슷한 방식으로 설정을 해줬던 기억이 납니다. 하지만 VirtualBox 3.0 에서는 적어도 공유기, Windows XP 네트웍 설정, 리눅스 네트웍 설정을 해줄 필요가 전혀 없습니다.
일단, 디폴트 (NAT)로 설치를 한 후, VirtualBox 폴더에 있는 VBoxManage 라는 유틸리티를 사용해서 포트 포워딩만 설정해주면 됩니다.
DOS 콘솔창에서,
c:\>VBoxManage setextradata "CentOS53" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/GuestPort" 80
c:\>VBoxManage setextradata "CentOS53" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/Protocol" TCP
이렇게 설정해주면, 호스트OS 에 대한 80 접근이 게스트OS 의 80 포트로 연결됩니다.
"CentOS53" 은 VirtualBox 에서 설정한 게스트OS의 이름이고, http 라고 된 부분은 서비스 이름, 마지막은 포트 및 프로토콜 유형입니다.
예를 들어, CentOS53 의 SSH 도 접근하고 싶으면,
c:\>VBoxManage setextradata "CentOS53" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort" 22
c:\>VBoxManage setextradata "CentOS53" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol" TCP
만약, Windows 2003 Server 에 SQL Server 2005 를 설치해놓고, 접근 허용하려면...
c:\>VBoxManage setextradata "Windows2003" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/mssql/GuestPort" 1433
c:\>VBoxManage setextradata "Windows2003" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/mssql/Protocol" TCP
이 포트 포워딩의 장점은 가상 머신이 떠 있을 때만 작동한다는 점 입니다.
예를 들어 호스트 OS (Windows XP) 에 IIS 를 설치해서 80 포트를 사용하는 ASP.NET 사이트를 개발하다가, 가상 머신을 실행하면, 게스트 OS (Cent OS) 의 아파치 80 포트로 연결이 된다는 것입니다. 당연히 가상 머신을 종료하면 다시 XP 의 IIS 로 연결되구요.
공유기나 윈도우에서 포트 포워딩 설정을 한 경우, 그것을 제어하는게 대단히 불편했거든요. 정말 편리하고 좋은 기능입니다. 특히, 게스트OS 에 따라서 포트를 설정할 수 있어서 리눅스 서버나 윈도우 서버 등 여러개의 가상 머신을 바꿔가면서 사용하는 것도 대단히 편리합니다.
항상 가장 유명한 소프트웨어를 쓰는 편을 선호했는데, VWMare 대신 VirtualBox 를 쓰는 것도 괜찮은 것 같습니다. 어차피 제 경우에는 상용 서비스를 위해 가상화 소프트웨어를 쓰는 것이 아니기 때문에 최대한 가볍고 간편한 소프트웨어가 유용하네요.
VMWare 가 무겁게 느껴지셨던 분이나, 가볍게 처음으로 가상화 소프트웨어를 써보고 싶으신 분은 VirtualBox 추천입니다. ^^
'IT' 카테고리의 다른 글
무료 소프트웨어만으로 살 수 있을까? (21) | 2009.09.24 |
---|---|
구글 크롬 플러스로 갈아타다 (13) | 2009.09.22 |
마이크로 블로그 (6) | 2009.06.25 |
한글 지원 CDRip 프로그램 (10) | 2009.06.19 |
오라클이 썬마이크로시스템즈 인수 (2) | 2009.04.21 |