VBoxHeadless - 使用VirtualBox 3.0在无头Fedora 11服务器上运行虚拟机
本指南介绍如何在无头Fedora 11服务器上运行具有Sun VirtualBox 3.0 (2009年6月30日发布)的虚拟机。 通常,您使用VirtualBox GUI来管理虚拟机,但服务器没有桌面环境。 幸运的是,VirtualBox带有一个名为VBoxHeadless的工具,允许您通过远程桌面连接连接到虚拟机,因此不需要VirtualBox GUI。
我不会保证这将为您工作!
1初步说明
我已经在IP地址为192.168.0.100
的Fedora 11服务器(主机系统)上进行了测试
,我以普通用户身份登录(在本例中为用户名admin
),而不是根用户登录
。
如果您只有root帐户,但没有正常的用户帐户,请创建如下(用户admin
,组管理员
)...
# groupadd admin
# useradd -d /home/admin -m -g admin -s /bin/bash admin
...为新用户创建密码...
# passwd admin
...并以该用户身份登录。
2安装VirtualBox
要在我们的Fedora 11服务器上安装VirtualBox 3.0,我们需要root权限,因此我们运行
$ su
然后我们为VirtualBox 3.0安装依赖关系,如下所示:
# yum groupinstall 'Development Tools'
# yum groupinstall 'Development Libraries'
# yum install SDL kernel-devel kernel-headers
接下来,我们从http://www.virtualbox.org/wiki/Linux_Downloads中选择正确的VirtualBox包; 选择适用于Fedora 11(“Leonidas”)
的i386或AMD64软件包(取决于您的体系结构)
(您可以通过运行
# uname -m
我的测试系统的输出是
[root@server1 admin]# uname -m
x86_64
[root@server1 admin]#
这意味着我必须选择AMD64包。
)...
...并下载如下:
# cd /tmp
# wget http://download.virtualbox.org/virtualbox/3.0.0/VirtualBox-3.0.0_49315_fedora11-1.x86_64.rpm
该包可能以.rpm?xxx
而不是.rpm
存储。 要检查,运行
# ls -l
[root@server1 tmp]# ls -l
total 43860
-rw-r--r-- 1 root root 44906413 2009-06-30 14:24 VirtualBox-3.0.0_49315_fedora11-1.x86_64.rpm?e=1247145598&h=bd5420531eeb13489ca4560a74bbf532
-rw-r--r--. 1 root root 0 2009-07-09 14:06 yum.log
[root@server1 tmp]#
如你所见,我的包名为VirtualBox-3.0.0_49315_fedora11-1.x86_64.rpm?e = 1247145598&h = bd5420531eeb13489ca4560a74bbf532
。 所以我重命名它:
# mv VirtualBox-3.0.0_49315_fedora11-1.x86_64.rpm\?e\=1247145598\&h\=bd5420531eeb13489ca4560a74bbf532 VirtualBox-3.0.0_49315_fedora11-1.x86_64.rpm
(您可以使用TAB
键让shell自动完成文件名。)
之后,我们安装VirtualBox 3.0如下:
# rpm -ivh VirtualBox-3.0.0_49315_fedora11-1.x86_64.rpm
现在我们必须添加将运行VirtualBox(在本例中为admin
)的用户到vboxusers
组:
# /usr/sbin/usermod -G vboxusers admin
VirtualBox现已安装并可以使用。
类型
# exit
离开root帐户,再次成为普通用户( admin
)。
3在命令行上使用VirtualBox
3.1创建VM
要在命令行上创建一个虚拟机,我们可以使用VBoxManage
命令。 看到
$ VBoxManage --help
有关可用的交换机列表(强烈推荐!),请查看http://www.virtualbox.org/manual/UserManual.html#vboxmanage 。
现在我将创建一个具有256MB内存的Ubuntu 9.04服务器虚拟机和Ubuntu 9.04服务器iso映像的10GB硬盘驱动器(我存储在/home/admin/ubuntu-9.04-server-i386.iso中
):
$ VBoxManage createvm -name "Ubuntu 9.04 Server" -register
$ VBoxManage modifyvm "Ubuntu 9.04 Server" -memory "256MB" -acpi on -boot1 dvd -nic1 nat
$ VBoxManage createvdi -filename "Ubuntu_9_04_Server.vdi" -size 10000 -register
$ VBoxManage modifyvm "Ubuntu 9.04 Server" -hda "Ubuntu_9_04_Server.vdi"
$ VBoxManage registerimage dvd /home/admin/ubuntu-9.04-server-i386.iso
$ VBoxManage modifyvm "Ubuntu 9.04 Server" -dvd /home/admin/ubuntu-9.04-server-i386.iso
3.2导入现有的虚拟机
假设你有一个叫做examplevm
的虚拟机,你想在这个主机上重用。 在旧主机上,您应该在VirtualBox 目录
中有一个目录Machines /
examplevm; Machines / examplevm
应包含examplevm.xml
文件。 将examplevm
目录(包括examplevm.xml
文件)复制到新的机器
目录(如果您的用户名为admin
,则为/home/admin/.VirtualBox/Machines
- 结果应为/home/admin/.VirtualBox/Machines /examplevm/examplevm.xml
)。
除了将examplevm.vdi
文件从旧VDI
目录复制到新VDI
目录(例如/home/admin/.VirtualBox/VDI/examplevm.vdi
)之外。
之后,您必须注册导入的VM:
$ VBoxManage registervm Machines/examplevm/examplevm.xml
3.3使用VBoxHeadless启动虚拟机
无论创建新VM还是导入旧VM,都可以使用以下命令启动它:
$ VBoxHeadless -startvm "Ubuntu 9.04 Server"
(用您的虚拟机名称替换Ubuntu 9.04服务器
。)
VBoxHeadless
将启动虚拟机和VRDP( VirtualBox远程桌面协议
)服务器,允许您在另一台计算机上远程查看虚拟机的输出。
要了解有关VBoxHeadless的
更多信息,请查看
$ VBoxHeadless --help
并在http://www.virtualbox.org/manual/UserManual.html#id2515738 。