기술적으로는 컴퓨터리소스의 추상화를 일컫는 광범위한 용어이지만, 여기에서는 시스템 구동을 위한 운영체제(:12)를 실행하고, 그 위에 가상화 솔류션을 이용하는 플랫폼 가상화로 범위를 축소한다.
가상화의 이유
서버 통합을 통한 비용절감
서버의 대다수는 사용율이 10%에 미치지도 못한다. CPU 뿐만 아니라 디스크, 메모리, 네트워크를 모두가 그렇다. 이는 엄청난 낭비다. 가상화 기술을 이용하면 하드웨어를 논리적으로 재구성 해서 효과적으로 서버를 통합시킬 수 있다.
유연성, 확장성, 기민성 (Agile)
인터넷(:12) 시장은 빠르게 변화하며 예측이 힘들다. 때문에 기민하고 유연하게 확대및 축소 할 수 있는 인프라의 구축이 중요하다.
통합
다수의 기업들이 자신들의 인프라를 다수의 기술과 다수의 플랫폼으로 구성하는 것을 선호한다. 특정 기술과 특정 업체에 종속되는걸 지양한다는 얘기다. 리눅스, 윈도, 유닉스와 다양한 기술들이 통합되는 환경의 통합을 원하고 있다.
가상화 솔류션
XEN : 오픈소스 소프트웨어로. 2003년 출시되었으며, 2010/1/21 일 현재 3.4.2가 최신버전이다.
VirtualBox : 선에서 개발하고 있는 가상화 솔류션이다. 오픈소스(:12)정책을 따르는 virtuaBox OSE 버전, Closed-source (제한된 GPL) 버전, 상용 버전이 존재한다. OSE버전의 경우 RDP, USB 지원, USB over RDP 기능이 빠져있다.
VMWare : 윈도우용 가상화 소프트웨어. 오랜 역사를 자랑한다. 99년도에 VMware workstation이 나왔다고 한다. 내가 처음 VMware를 들었던게 아마 2002년 쯤이였던 것 같다. 물론 그때는 관심이 없어서, "이런 신기한게 있구나 하고 넘어갔지만"
Parallels : 특히 맥에서 많이들 사용하는 것 같다. 물론 나는 사용해본적이 없다.
KVM
일반적으로 XEN, VMWARE, VirtualBox를 많이 사용하는 것 같다. 어떤 제품을 사용해도 큰 문제는 없을 거라는 생각이 든다. 각 솔류션의 장단점을 찾아봐야 할 것 같다.
virtualbox 4.2
2014년 3월 현재 virtualbox 버전은 4.2.16 이다. 선에서 개발했으나 지금은 오라클에서 배포하는 가상머신 프로그램이다. 자유롭게 사용할 수 있는 VirtualBox Open source Edtion과 몇 개의 기능이 추가된 상용 버전이 있다. 상용 버전을 구매할 경우 RDP와 원격 USB 장치 지원, 가상 하드 디스크의 iSCSI 지원기능을 사용할 수 있다. 개인이 사용하기에는 오픈 에디션 버전으로 차고 넘친다.
초기에는 다른 가상화 프로그램 (특히 VMware나 Paralles)에 비해서 성능과 기능 모두가 좋지 않았으나, 지금은 불편함이 없는 수준까지 올라왔다. 어차피 난 리눅스만 사용할 거라서 Paralles나 VMware를 사용할 일도 없어서, VB와 비교해서 얼마나 좋은지는 모른다. 어쨋든 불편함 없이 사용하는 중.
Host 운영체제에 가상 네트워크를 만든다. Guest 운영체제의 네트워크 인터페이스는 가상 네트워크와 link 레벨에서 연결된다.
호스트 전용 네트워크 파일 > 네트워크에서 등록한다. 이제 Guest 운영체제의 네트워크 설정에서 호스트 전용 네트워크를 선택할 수 있다.
굳이 CD로 굽거나 할 필요 없다. "메뉴 > 장치 > CD/DVD 드라이브 마운트 > CD/DVD-ROM 이미지"로 리눅스 운영체제에 위치하는 ISO파일을 직접 마운트 해서 설치할 수 있다.
폴더 공유하기 - shared folder
윈도우 guest에서 공유
리눅스의 폴더를 guest 운영체제와 공유할 수 있다. 다음과 같이 공유할 폴더를 지정한다.
https://lh5.googleusercontent.com/-ALn8RY3w5i8/UQ9ppm0ncKI/AAAAAAAACyc/xdXLAT6c69I/s800/%25EC%258A%25A4%25EB%2583%2585%25EC%2583%25B72.png
윈도우에서 "내 컴퓨터 > 네트워크 드라이브 연결"로 리눅스에서 설정한 공유 폴더를 네트워크 드라이브 형태로 추가할 수 있다.
폴더 공유기능을 사용하려면 게스트 확장이 설치돼 있어야 한다. 만약 게스트 확장이 설치돼 있지 않다면, virtualbox 메뉴의 장치 > 게스트 확장 설치로 설치하자.
리눅스 guest 에서 공유
우분투 리눅스를 기준으로 한다. 리눅스 게스트에서 호스트 운영체제의 공유 폴더를 mount 하려면 virtualbox 게스트 확장을 설치해야 한다.
# apt-get install virtualbox-ose-guest-utils
이제 공유 폴더를 사용할 수 있다.
# mkdir /mnt/folder
# mount -t vboxsf shared_folder /mnt/folder
Virtualbox 게스트 확장을 설치하지 않으면, vboxsf 파일 시스템을 찾을 수 없다는 에러가 떨어진다.
사용소감
업무및 개발용으로는 이보다 좋은 툴이 없어 보인다. GPL 라이센스를 따르며, 안정적이고 빠르다. 듀얼 모니터에 한쪽에 전체화면으로 띄어놓으면 두대의 컴퓨터로 작업하는 느낌이다.
기타 VirtuaBox 설정 및 기능들
가상 미디어 관리자
"파일" > "가상 미디어 관리자"를 선택한다. 현재 virtualbox에서 관리 중인 VM 이미지에 대한 복사, 수정, 등의 작업을 할 수 있다.
가상 시스템 가져오기
가상 이미지를 import 할 수 있다. OVF(Open Virtualization Format) 형식의 가상화 이미지를 지원한다.
가상 시스템 내보내기
가상 이미지를 export 한다. export한 가상 이미지는 다른 Virtualbox뿐만 아니라, OVF를 지원하는 다른 가상화툴에서도 사용할 수 있다. VMware, Oracle VM, RHEV 등에서 사용할 수 있다. KVM의 경우 virt-convert와 같은 외부 프로그램을 이용해서 변환 후 사용할 수 있다.
환경 설정
Virtualbox의 "파일" > "환경 설정"을 클릭한다. 전체 VirtualBox에 적용되는 값들을 설정할 수 있다. 중요하지 않은 설정은 건너뛴다.
입력
호스트키를 설정할 수 있다. 여기에서 설정한 키를 입력하면, 게스트 운영체제에서 호스트 운영체제로 마우스와 키보드입력을 넘길 수 있다. 기본 값은 오른쪽 Ctrl 키다.
네트워크
VM에서 사용할 호스트 전용 네트워크를 만들 수 있다. 호스트 전용 네트워크의 이름은 vboxnet0, vboxnet1의 규칙을 따른다. 호스트전용 네트워크에서 사용할 subnet 정보와 DHCP 서버사용 유무를 결정할 수 있다. DHCP 서버 사용을 활성화하면, 호스트운영체제가 DHCP 서버의 역할을 한다. VirtualBox를 설치하면 dnsmasq 소프트웨어가 함께 설치되는데, dnsmasq가 dns 서버겸 DHCP 서버로 작동한다.
virtualBox 특징
공개 소프트웨어다.
약 30메가 정도의 작은 설치 크기.
하드웨어 가상화
사운드 지원
USB 연결장치 필터링
성능비교자료
가상화가 이슈다보니 이런 저런 가상화 툴도 많다. 어떤 가상화 툴을 사용해야 하나라는 고민이 들 것 같은데 그래서 성능비교 자료를 찾아봤다.
자세한 내용은 원문을 읽어보면 될 것 같다. 약 20개 항목에 대한 테스트를 진행했는데, 내용을 정리하자면 다음과 같다.
VirtualBox와 VMware가 모든 분야에 걸쳐서 높은 성능을 보여줬다. 좋은 CPU/Memory 성능을 보여줬으며, 디스크 접근 시간도 빨랐다. 네트워크 레이어 속도도 좋았다.
VirtualBox는 공개 소프트웨어로 데스크탑용 지금껏 가상화 도구로 알려져 왔다. 그러니까 개인이 취미 혹은 개발 용도로 사용하는 수준이지 기업에서 사용할 수 있는 수준은 아니라는 것. 그러나 상용 못지 않은 성능과 기능을 보여주고 있다. 거기에 QT(:12)를 기반으로한 훌륭한 사용자 인터페이스를 제공한다. 정말 쉽게 사용할 수 있다.
Contents
가상화에 대해서
가상화의 이유
가상화 솔류션
virtualbox 4.2
Virtualbox 기본 사용
쾌적한 데스크탑 가상화 환경을 위한 요구사항
네트워크 환경
NAT
호스트 전용 네트워크
ISO 이미지 설치하기
폴더 공유하기 - shared folder
윈도우 guest에서 공유
리눅스 guest 에서 공유
사용소감
기타 VirtuaBox 설정 및 기능들
가상 미디어 관리자
가상 시스템 가져오기
가상 시스템 내보내기
환경 설정
virtualBox 특징
성능비교자료
관련글
Recent Posts
Archive Posts
Tags