VirtualBox

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기

Sun에서 제공하였다가 오라클(Oracle)로 인수된 Virtual Machine 관리 도구인 Virtual Box를 정리 한다. VirtualBox Open Source Edition (OSE)만이 오픈소스로 제공 된다.


설치 가이드

가상화 환경을 제공하는 VirtualBox는 두가지 라이선스를 가지고 있다.

  • 설치 프로그램은 개인 사용과 테스트 사용만이 허용되는 라이선스(VirtualBox Personal Use and Evaluation License (PUEL))로 제공 되므로 주의 하여야 한다.
  • GNU GPL 라이선스를 따르는 VirtualBox를 사용하고자 할 경우 소스 파일을 받아 컴파일하여 사용 하여야 한다.


아래 설치 가이드는 VirtualBox Personal Use and Evaluation License (PUEL)) 라이선스를 가진 설치 프로그램을 사용하여 설치 하는 것을 정리한 것이다.

  • 다운로드 사이트에서 VirtualBox 2.2.4 for Windows hosts ("VirtualBox-2.2.4-47978-Win.exe")용 설치 프로그램을 다운로드 한다.
다운로드


  • 다운로드한 VirtualBox-2.2.4-47978-Win.exe를 실행하여 설치를 시작 한다.


  • "Next" 버튼을 선택하여 설치를 시작 한다.
설치 시작


  • 라이선스에 동의를 하고 "Next"를 선택 한다.
라이선스 확인


  • 설치할 구성요소를 선택하고 "Next"를 누른다.
설치 구성요소 선택


  • 둘다 선택하고 "Next" 버튼을 선택 한다.
개인 설정


  • "Yes" 버튼을 눌러 Network를 설정 한다.
Network 설정 시작


  • "Install" 버튼을 눌러 Network를 관련 모듈을 설치 한다.
네트웍 모듈 설치


  • 설치 진행 상황을 모니터링 한다.
설치 진행


  • "Finish" 버튼을 선택하여 설치를 종료 한다.
설치 종료


Ubuntu용 설치 가이드

  • 참조

CentOS용 설치 가이드

CentOS 5.4 환경에서 VirtualBox 3.0.10을 설치 한다.

VirtualBox 설치

  • 설치전 환경 확인
  • CentOS 5.4 버전 확인
lsb_release  -a
  • 운영체제 이름, 운영체제 릴리즈 넘버, 하드웨어 타입 확인
uname -s -r -m
    예) Linux 2.6.18-164.6.1.el5PAE i686


  • CentOS 5.3일 경우 CentOS 5.4로 upgrade 한다.
  • VirtualBox 3.0.10 설치
yum groupinstall "Development Tools"
yum install kernel-devel
#--- Memory가 4GB 이상일 경우 yum install kernel-PAE-devel 를 수행 한다.
yum install kernel-PAE-devel

yum -y install SDL SDL-devel
wget http://download.virtualbox.org/virtualbox/3.0.10/VirtualBox-3.0.10_54097_rhel5-1.i386.rpm
mv 'VirtualBox-3.0.10_54097_rhel5-1.i386.rpm?e=1258680040&h=b1e6ef349d76c84b23121ea666d3422b' VirtualBox-3.0.10_54097_rhel5-1.i386.rpm
rpm -Uvh VirtualBox-3.0.10_54097_rhel5-1.i386.rpm
#--- 설치시 오류 메시지가 있을 경우, 아래 "설치 오류 수정" 조치 참조

#--- VirtualBox를 실행할 각각의 사용자(UserID, 예, root)에 대해서 다음 명령을 실행 한다.
usermod -G vboxusers UserID
  • VirtualBox 실행
  • 터미널에서 실행
VirtualBox &
  • 윈도우 화면에서 실행
"프로그램 -> 시스템 도구 -> Sun VirtualBox" 메뉴 선택
  • 참고 문헌

설치 오류 수정

  • 오류 메시지와 현상
  • rpm -Uvh VirtualBox-3.0.10_54097_rhel5-1.i386.rpm 수행시 설치는 정상적으로 되나 다음과 같은 오류 메시지가 표시됨
No precompiled module for this kernel found -- trying to build one. Messages
emitted during module compilation will be logged to /var/log/vbox-install.log.
  • 오류에 따른 현상
  • VirtualBox의 설치는 정상적으로 됨
  • kernel 소스가 없어서 VirtualBox용 드라이브가 정상 설치 되지 않음
  • VirtualBox는 정상적으로 기동되나 Virtual Image를 실행할 수 없음


  • kernel 소스의 위치 확인
#--- 운영체제 이름, 운영체제 릴리즈 넘버, 하드웨어 타입 확인
#--- 예) Linux 2.6.18-164.6.1.el5PAE i686
uname -s -r -m

cd /usr/src/kernels/
#--- 여기서 kernel 소스가 있는 폴더가 있는지 확인 한다.
#--- 예) /usr/src/kernels/2.6.18-164.6.1.el5PAE-i686/
  • 시스템에 kernel 소스가 있을 경우
  • kernel 소스가 있는 폴더를 "/usr/src/kernels/2.6.18-164.6.1.el5PAE-i686"라 하자.
export KERN_DIR=/usr/src/kernels/2.6.18-164.6.1.el5PAE-i686
/etc/init.d/vboxdrv setup
  • 시스템에 kernel 소스가 없을 경우
yum groupinstall "Development Tools"
yum groupinstall "Development Libraries"
yum install unifdef rpm-build

#--- root외의 일반 사용자로 접속
#--- 여기서는 centos 사용자로 접속 하는 것으로 설명 한다.
su centos
cd
mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
echo "%_topdir %(echo $HOME)/rpmbuild" > .rpmmacros
#--- kernel 소스를 받을 수 있는 URL : http://mirror.centos.org/centos/5/os/SRPMS/
#--- 여기서 자신의 시스템에 맞는 커널 소스를 찾는다.
#--- 아래에서는 "kernel-2.6.18-164.el5.src.rpm"로 설명 한다.
wget http://mirror.centos.org/centos/5/os/SRPMS/kernel-2.6.18-164.el5.src.rpm
rpm -i kernel-2.6.18-164.el5.src.rpm
cd ~/rpmbuild/SPECS
rpmbuild -bp --target=`uname -m` kernel-2.6.spec

cd ~/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.i686
make oldconfig
make prepare
make
#--- 저의 경우 make 실행시 약 25분 소요 되었습니다.

#--- 다시 root 사용자로 접속
exit
export KERN_DIR=/home/centos/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.i686
/etc/init.d/vboxdrv setup

VirtualBox 설치 사례

  • 설치 환경
  • lsb_release -a : CentOS release 5.4
  • uname -s -r -m : Linux 2.6.18-164.el5 i686
echo 'LANG="ko_KR.UTF-8"' > /etc/sysconfig/i18n
yum -y update kernel
yum -y install yum-fastestmirror

yum groupinstall "Development Tools"
yum -y install kernel-devel
yum -y install SDL SDL-devel

wget http://download.virtualbox.org/virtualbox/3.0.10/VirtualBox-3.0.10_54097_rhel5-1.i386.rpm
mv 'VirtualBox-3.0.10_54097_rhel5-1.i386.rpm?e=1258680040&h=b1e6ef349d76c84b23121ea666d3422b'  VirtualBox-3.0.10_54097_rhel5-1.i386.rpm 
rpm -Uvh VirtualBox-3.0.10_54097_rhel5-1.i386.rpm
 
usermod -G vboxusers root
export KERN_DIR=/usr/src/kernels/2.6.18-164.6.1.el5-i686
/etc/init.d/vboxdrv setup

Portable VirtualBox

  • NAS에서 Network 설정
<ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/Ubuntu22/Protocol" value="TCP"/>
<ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/Ubuntu22/HostPort" value="22"/>
<ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/Ubuntu22/GuestPort" value="22"/>
  • 참고 문헌

관리자 가이드

Network 설정

가상 시스템 가져오기 시 주의 사항

  • Port Forwarding을 사용하였을 경우, 이전에 했던 대로 다시 설정해 준다.
  • 설정에서 네트워크 메모리가 8MB보다 작게 변경 되었으면 다시 8MB로 수정 해 준다.
  • 네트워크 카드 명이 변경 되었으면 다시 조정 해 준다.
  • root로 로그인하여 아래와 같이 작업 한다.
ifconfig -a                     #--- 네트워크 카드명을 확인 한다. 예) eth0
vi /etc/network/interfaces      #--- 해당 네트워크 카드에 dhcp가 적용되는지 확인 한다.
    auto eth0
    iface eth0 inet dhcp
/etc/init.d/networking restart  #--- 네트워크를 재시작 한다.

스토리지지 Size up, Size down

#--- Size up
cd L:\work\repo_VirtualBox\OpenStack_Images\Windows_Server_2012_R2
"C:/Program Files/Oracle/VirtualBox/VBoxManage" modifyhd Windows_Server_2012_R2.vdi --resize 102400
rem "C:/Program Files/Oracle/VirtualBox/VBoxManage" modifyhd Windows_Server_2012_R2.vdi --resize 102400

#--- Size down
#---     새로 만드는 vdi의 크기를 작게 한다.
cd L:\work\repo_VirtualBox\OpenStack_Images\Windows_Server_2008_R2
"C:/Program Files/Oracle/VirtualBox/VBoxManage" clonehd Windows_Server_2008_R2.vdi Windows_Server_2008_R2_1.vdi --existing



가상 하드 관리

  • 가상 하드를 복사한후 UUID를 변경하여 사용
VBoxManage  internalcommands  sethduuid  ~.vdi
  • 가상 하드 복재
VBoxManage clonevdi 원본.vdi  타겟.vdi
VBoxManage clonehd  ~.vmdk ~.vdi --format vdi
  • 가상 디스크 확장
  • 방법 1 : VirtualBox 자체 기능 활용
VBoxManage  modifyhd  ~.vdi  --resize 20480
//--- Gnome Partition Edition, gparted)를 사용하여 파티션 확장
fdisk -lu /dev/sda
  • 방법 2 : CloneVDI 활용
//--- CloneVDI를 사용하여 디스크 확장
//--- Gnome Partition Edition, gparted)를 사용하여 파티션 확장
fdisk -lu /dev/sda
//--- VirtualBox에서 새로운 가상 디스크를 생성
//--- CloneZilla로 부팅하여 디스크 복재

sfdisk -uS -l /dev/sda                      #--- 디스크 용량 조회
  • 가상 디스크 용량 줄이기
VBoxManage  modifyhd ~.vdi  --compact
  • 참고 문헌

Trouble Shooting

64-bits 미지원

BIOS에서 VT-X enable 설정

Hyper-V를 사용하지 않음으로 설정

참고 문헌

  • VirtualBox에 Windows XP 설치하고 놀기