가상화 · 4 min read · Dec 26, 2025
VBoxHeadless - VirtualBox 4.1을 사용하여 헤드리스 CentOS 6.2 서버에서 가상 머신 실행하기
VBoxHeadless - VirtualBox 4.1을 사용하여 헤드리스 CentOS 6.2 서버에서 가상 머신 실행하기
버전 1.0
저자: Falko Timme
Twitter에서 나를 팔로우하세요
이 가이드는 헤드리스 CentOS 6.2 서버에서 VirtualBox 4.1을 사용하여 가상 머신을 실행하는 방법을 설명합니다. 일반적으로 VirtualBox GUI를 사용하여 가상 머신을 관리하지만, 서버에는 데스크탑 환경이 없습니다. 다행히도 VirtualBox에는 VBoxHeadless라는 도구가 있어 원격 데스크탑 연결을 통해 가상 머신에 연결할 수 있으므로 VirtualBox GUI가 필요하지 않습니다.
이것이 당신에게 작동할 것이라는 보장은 하지 않습니다!
1 사전 참고
저는 일반 사용자(이 예제에서는 사용자 이름이 admin)로 로그인한 IP 주소 192.168.0.100의 CentOS 6.2 서버(호스트 시스템)에서 이것을 테스트했습니다.
루트 계정만 있고 일반 사용자 계정이 없는 경우 다음과 같이 하나를 생성하십시오(사용자 admin, 그룹 admin)…
… 새 사용자에 대한 비밀번호를 생성합니다…
# passwd admin… 그리고 해당 사용자로 로그인합니다.
2 VirtualBox 설치하기
CentOS 6.2 서버에 VirtualBox 4.1을 설치하려면 루트 권한이 필요하므로 다음과 같이 실행합니다.
$ su그런 다음 VirtualBox 4.1의 종속성을 다음과 같이 설치합니다:
# yum groupinstall 'Development Tools'# yum install SDL kernel-devel kernel-headers dkms마지막 명령으로 현재 사용 중인 커널의 커널 헤더를 설치했습니다. 헤더는 /usr/src/kernels/ 디렉토리에 위치하지만, 해당 디렉토리 이름이
커널 버전을 확인하십시오…
# uname -r[root@server1 ~]# uname -r
2.6.32-220.el6.x86_64
[root@server1 ~]#
이는 /usr/src/kernels/ 디렉토리에 2.6.32-220.el6.x86_64라는 디렉토리가 있어야 함을 의미합니다. 이제 이를 확인할 수 있습니다:
[root@server1 kernels]# ls -l
total 4
drwxr-xr-x 22 root root 4096 Jun 25 17:30 2.6.32-220.23.1.el6.x86_64
[root@server1 kernels]#
보시다시피, 저는 2.6.32-220.23.1.el6.x86_64 디렉토리는 있지만 2.6.32-220.el6.x86_64 디렉토리는 없습니다. 따라서 2.6.18-238.el5-x86_64라는 심볼릭 링크를 생성하여 2.6.18-238.9.1.el5-x86_64를 가리키도록 합니다:
# ln -s 2.6.32-220.23.1.el6.x86_64 `uname -r`다음으로 VirtualBox 공개 rpm 키를 다운로드하고 등록합니다:
이제 시스템에서 VirtualBox CentOS 리포지토리를 활성화합니다:
이제 다음과 같이 VirtualBox 4.1을 간단히 설치할 수 있습니다:
# yum install VirtualBox-4.1설치가 성공하면 출력은 다음과 같이 끝나야 합니다:
[…]
트랜잭션 실행
설치 중 : VirtualBox-4.1-4.1.18_78361_rhel6-1.x86_64
‘vboxusers’ 그룹 생성. VM 사용자는 해당 그룹의 구성원이어야 합니다!
이 커널에 대한 미리 컴파일된 모듈을 찾을 수 없습니다 – 하나를 빌드하려고 합니다.
모듈 컴파일 중 발생한 메시지는 /var/log/vbox-install.log에 기록됩니다.
VirtualBox 커널 모듈 중지 [ OK ]
오래된 VirtualBox DKMS 커널 모듈 제거 [ OK ]
DKMS를 사용하여 VirtualBox 커널 모듈 등록 시도 [ OK ]
VirtualBox 커널 모듈 시작 [ OK ]
설치됨:
VirtualBox-4.1.x86_64 0:4.1.18_78361_rhel6-1
완료!
[root@server1 kernels]#
(설치가 실패하고 올바른 커널 헤더 디렉토리를 찾을 수 없는 경우 출력은 다음과 같이 끝납니다:
[…]
트랜잭션 실행
설치 중 : VirtualBox-4.1-4.1.18_78361_rhel6-1.x86_64
‘vboxusers’ 그룹 생성. VM 사용자는 해당 그룹의 구성원이어야 합니다!
이 커널에 대한 미리 컴파일된 모듈을 찾을 수 없습니다 – 하나를 빌드하려고 합니다.
모듈 컴파일 중 발생한 메시지는 /var/log/vbox-install.log에 기록됩니다.
VirtualBox 커널 모듈 중지 [ OK ]
오래된 VirtualBox DKMS 커널 모듈 제거 [ OK ]
DKMS를 사용하여 VirtualBox 커널 모듈 등록 시도
오류!
커널 2.6.32-220.el6.x86_64에 대한 커널 소스를 찾을 수 없습니다
/lib/modules/2.6.32-220.el6.x86_64/build 또는 /lib/modules/2.6.32-220.el6.x86_64/source에서.
[실패]
(실패, DKMS 없이 시도 중)
VirtualBox 커널 모듈 재컴파일 [실패]
(/var/log/vbox-install.log를 확인하여 무엇이 잘못되었는지 확인하십시오)
설치됨:
VirtualBox-4.1.x86_64 0:4.1.18_78361_rhel6-1
완료!
[root@server1 kernels]#
이 경우, 올바른 커널 심볼릭 링크를 생성한 후 (앞서 보여준 대로) 다음을 실행하십시오:
# /etc/init.d/vboxdrv setupVirtualBox 커널 모듈을 생성합니다.)
이제 VirtualBox를 실행할 사용자(admin 예제)를 vboxusers 그룹에 추가해야 합니다:
# /usr/sbin/usermod -G vboxusers admin이제 VirtualBox가 설치되었으며 사용할 준비가 되었습니다.
버전 4.0부터 VirtualBox는 이른바 “확장 팩”을 도입했으며, 원격 데스크탑 연결 지원(VRDP)과 같은 일부 기능을 버전 4.0 이전의 VirtualBox 패키지에서 이 확장 팩으로 아웃소싱했습니다. 가상 머신을 제어하기 위해 원격 데스크탑 연결이 필요하므로 이제 적절한 확장 팩을 설치해야 합니다. http://www.virtualbox.org/wiki/Downloads로 이동하면 다음 확장 팩에 대한 링크를 찾을 수 있습니다:
VirtualBox 4.1.18 Oracle VM VirtualBox Extension Pack
USB 2.0 장치, VirtualBox RDP 및 Intel 카드에 대한 PXE 부트 지원.
다음과 같이 확장 팩을 다운로드하고 설치합니다:
(최신 버전을 VirtualBox 웹사이트에서 다운로드하는 것을 잊지 마세요.)
# exit루트 계정을 종료하고 일반 사용자(admin)로 돌아갑니다.
3 명령줄에서 VirtualBox 사용하기
3.1 VM 생성하기
명령줄에서 VM을 생성하려면 VBoxManage 명령을 사용할 수 있습니다. 사용 가능한 스위치 목록은 다음을 참조하십시오:
$ VBoxManage --help(강력히 권장!) http://www.virtualbox.org/manual/ch08.html을 참조하십시오.
이제 Ubuntu 12.04 Server VM을 1024MB 메모리와 10GB 하드 드라이브로 생성하겠습니다. Ubuntu 12.04 Server iso 이미지(/home/ubuntu-12.04-server-amd64.iso에 저장됨)에서:
$ VBoxManage createvm –name “Ubuntu 12.04 Server” –register
$ VBoxManage modifyvm “Ubuntu 12.04 Server” –memory 1024 –acpi on –boot1 dvd –nic1 bridged –bridgeadapter1 eth0
$ VBoxManage createhd –filename Ubuntu_12_04_Server.vdi –size 10000
$ VBoxManage storagectl “Ubuntu 12.04 Server” –name “IDE Controller” –add ide
$ VBoxManage storageattach “Ubuntu 12.04 Server” –storagectl “IDE Controller” –port 0 –device 0 –type hdd –medium Ubuntu_12_04_Server.vdi
$ VBoxManage storageattach “Ubuntu 12.04 Server” –storagectl “IDE Controller” –port 1 –device 0 –type dvddrive –medium /home/ubuntu-12.04-server-amd64.iso
3.2 기존 VM 가져오기
예를 들어, examplevm이라는 VM이 있고 이 호스트에서 재사용하고 싶다고 가정해 보겠습니다. 이전 호스트에서는 VirtualBox 디렉토리의 Machines/examplevm에 디렉토리가 있어야 하며, Machines/examplevm에는 examplevm.xml 파일이 포함되어 있어야 합니다. examplevm 디렉토리(examplevm.xml 파일 포함)를 새 Machines 디렉토리로 복사합니다(사용자 이름이 admin인 경우 /home/admin/.VirtualBox/Machines - 결과는 /home/admin/.VirtualBox/Machines/examplevm/examplevm.xml이어야 합니다).
또한 이전 VDI 디렉토리에서 examplevm.vdi 파일을 새 디렉토리로 복사합니다(예: /home/admin/.VirtualBox/VDI/examplevm.vdi).
그런 다음 가져온 VM을 등록해야 합니다:
$ VBoxManage registervm Machines/examplevm/examplevm.xml3.3 VBoxHeadless로 VM 시작하기
새 VM을 생성하든 이전 VM을 가져오든 관계없이 다음 명령으로 시작할 수 있습니다:
$ VBoxHeadless --startvm "Ubuntu 12.04 Server"(여기서 Ubuntu 12.04 Server를 VM의 이름으로 바꾸십시오.)
VBoxHeadless는 VM을 시작하고 VRDP( VirtualBox 원격 데스크탑 프로토콜) 서버를 시작하여 다른 머신에서 VM의 출력을 원격으로 볼 수 있게 합니다.
VM을 중지하려면 다음을 실행하십시오:
$ VBoxManage controlvm "Ubuntu 12.04 Server" poweroffVM을 일시 중지하려면 다음을 실행하십시오:
$ VBoxManage controlvm "Ubuntu 12.04 Server" pauseVM을 재설정하려면 다음을 실행하십시오:
$ VBoxManage controlvm "Ubuntu 12.04 Server" resetVBoxHeadless에 대해 더 알아보려면 다음을 참조하십시오:
$ VBoxHeadless --help새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.