VBoxHeadless - 运行虚拟机与VirtualBox 2在一个无头版Debian Lenny服务器
本指南介绍如何在无头Debian Lenny服务器上运行带有Sun xVM VirtualBox 2的虚拟机。 通常,您使用VirtualBox GUI来管理虚拟机,但服务器没有桌面环境。 幸运的是,VirtualBox带有一个名为VBoxHeadless的工具,允许您通过远程桌面连接连接到虚拟机,因此不需要VirtualBox GUI。
我不会保证这将为您工作!
1初步说明
我已经在IP地址为192.168.0.100
的Debian Lenny服务器(主机系统)上进行了测试
,我以普通用户身份登录(在本例中为用户名管理员
),而不是根用户登录
。
如果您只有root帐户,但没有正常的用户帐户,请创建如下(用户管理员
,组管理员
)...
# groupadd administrator
# useradd -d /home/administrator -m -g administrator -s /bin/bash administrator
...为新用户创建密码...
# passwd administrator
...并以该用户身份登录。
2安装VirtualBox
要在我们的Debian Lenny服务器上安装VirtualBox 2,我们需要root权限,因此我们运行
$ su
然后我们将VirtualBox存储库添加到我们的apt配置中:
# echo "deb http://download.virtualbox.org/virtualbox/debian lenny non-free" > /etc/apt/sources.list.d/virtualbox.list
然后我们下载Sun的公钥
# wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | apt-key add -
...并更新我们的包数据库:
# aptitude update
现在我们将系统更新:
# aptitude safe-upgrade
(可能内核得到更新,如果是这种情况,请重新启动系统...
# reboot
...再次以普通用户身份登录,成为root用户:
$ su
)
之后,我们安装VirtualBox 2如下:
# aptitude install linux-headers-$(uname -r) build-essential virtualbox-2.2
创建组'vboxus'
VirtualBox的用户必须是该组的成员。
主机网络接口将被分配给该组。
< - 好的
无法为当前内核找到一个预编译的模块![...]
应该现在编译vboxdrv内核模块吗?
< - 是的
现在我们必须添加将运行VirtualBox(在本例中为管理员
)的用户到vboxusers
组:
# adduser administrator vboxusers
VirtualBox现已安装并可以使用。
类型
# exit
离开root帐户,再次成为普通用户( 管理员
)。
3在命令行上使用VirtualBox
3.1创建VM
要在命令行上创建一个虚拟机,我们可以使用VBoxManage
命令。 看到
$ VBoxManage --help
有关可用交换机的列表(强烈推荐!),请参阅VirtualBox 2.2用户手册中的第8章(VBoxManage参考)。
现在我将从Debian Lenny Netinstall iso映像(我存储在/home/debian-500-i386-netinst.iso
)中创建一个256MB内存的Debian Lenny Server VM和一个10GB的硬盘驱动器:
$ VBoxManage createvm -name "Debian Lenny Server" -register
$ VBoxManage modifyvm "Debian Lenny Server" -memory "256MB" -acpi on -boot1 dvd -nic1 nat
$ VBoxManage createvdi -filename "Debian_Lenny_Server.vdi" -size 10000 -register
$ VBoxManage modifyvm "Debian Lenny Server" -hda "Debian_Lenny_Server.vdi"
$ VBoxManage registerimage dvd /home/debian-500-i386-netinst.iso
$ VBoxManage modifyvm "Debian Lenny Server" -dvd /home/debian-500-i386-netinst.iso
3.2导入现有的虚拟机
假设你有一个叫做examplevm
的虚拟机,你想在这个主机上重用。 在旧主机上,您应该在VirtualBox 目录
中有一个目录Machines /
examplevm; Machines / examplevm
应包含examplevm.xml
文件。 将examplevm
目录(包括examplevm.xml
文件)复制到新的机器
目录(如果您的用户名是管理员,则为/home/administrator/.VirtualBox/Machines
),结果应为/home/administrator/.VirtualBox/Machines /examplevm/examplevm.xml
)。
除了将examplevm.vdi
文件从旧VDI
目录复制到新VDI
目录(例如/home/administrator/.VirtualBox/VDI/examplevm.vdi
)之外。
之后,您必须注册导入的VM:
$ VBoxManage registervm Machines/examplevm/examplevm.xml
3.3使用VBoxHeadless启动虚拟机
无论创建新VM还是导入旧VM,都可以使用以下命令启动它:
$ VBoxHeadless -startvm "Debian Lenny Server"
(用虚拟机的名称替换Debian Lenny Server
。)
VBoxHeadless
将启动虚拟机和VRDP( VirtualBox远程桌面协议
)服务器,允许您在另一台计算机上远程查看虚拟机的输出。
要了解有关VBoxHeadless的
更多信息,请查看
$ VBoxHeadless --help
以及VirtualBox 2.2用户手册中的第7.4章( 远程虚拟机(VRDP支持)
)。