VBoxHeadless - 使用VirtualBox 4.0在无头Ubuntu 10.10服务器上运行虚拟机
本指南介绍如何在无头Ubuntu 10.10服务器上运行VirtualBox 4.0的虚拟机。 通常,您使用VirtualBox GUI来管理虚拟机,但服务器没有桌面环境。 幸运的是,VirtualBox带有一个名为VBoxHeadless的工具,允许您通过远程桌面连接连接到虚拟机,因此不需要VirtualBox GUI。
我不会保证这将为您工作!
1初步说明
我已经在Ubuntu 10.10服务器(主机系统)上测试了这个IP地址为192.168.0.100
,我以普通用户身份登录(在本示例中为用户名管理员
),而不是root用户身份
。
2安装VirtualBox
要在我们的Ubuntu 10.10服务器上安装VirtualBox 4.0,我们打开/etc/apt/sources.list
...
sudo vi /etc/apt/sources.list
...并添加以下行:
[...] deb http://download.virtualbox.org/virtualbox/debian maverick contrib |
然后我们下载VirtualBox公钥
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
...并更新我们的包数据库:
sudo apt-get update
之后,我们安装VirtualBox 4.0,如下所示:
sudo apt-get install linux-headers-$(uname -r) build-essential virtualbox-4.0 dkms
(如果Linux内核版本更改,则dkms
软件包可确保VirtualBox主机内核模块正确更新。)
从版本4.0开始,VirtualBox引入了所谓的“扩展包”,并将一些功能(如V4.4之前的VirtualBox包的一部分的远程桌面连接支持(VRDP))外包给这些扩展包。 因为我们需要远程桌面连接来控制我们的虚拟机,所以我们需要安装相应的扩展包。 转到http://www.virtualbox.org/wiki/Downloads ,您将找到以下扩展程序包的链接:
VirtualBox 4.0 Oracle VM VirtualBox Extension Pack
Support for USB 2.0 devices, VirtualBox RDP and PXE boot for Intel cards
下载并安装扩展包如下:
cd /tmp
wget http://download.virtualbox.org/virtualbox/4.0.0/Oracle_VM_VirtualBox_Extension_Pack-4.0.0-69151.vbox-extpack
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.0.0-69151.vbox-extpack
(确保您从VirtualBox网站获取最新版本。)
现在我们必须添加将运行VirtualBox(在本例中为管理员
)的用户到vboxusers
组:
sudo adduser administrator vboxusers
VirtualBox现已安装并可以使用。
3在命令行上使用VirtualBox
3.1创建VM
要在命令行上创建一个虚拟机,我们可以使用VBoxManage
命令。 看到
VBoxManage --help
有关可用开关的列表(强烈推荐!),请查看http://www.virtualbox.org/manual/ch08.html 。
我现在将创建一个具有256MB内存的Ubuntu 10.10服务器虚拟机和来自Ubuntu 10.10 Server iso映像(我存储在/home/ubuntu-10.10-server-amd64.iso中
)的10GB硬盘驱动器:
VBoxManage createvm --name "Ubuntu 10.10 Server" --register
VBoxManage modifyvm "Ubuntu 10.10 Server" --memory 256 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0
VBoxManage createhd --filename Ubuntu_10_10_Server.vdi --size 10000
VBoxManage storagectl "Ubuntu 10.10 Server" --name "IDE Controller" --add ide
VBoxManage storageattach "Ubuntu 10.10 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_10_10_Server.vdi
VBoxManage storageattach "Ubuntu 10.10 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-10.10-server-amd64.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 "Ubuntu 10.10 Server"
(用您的虚拟机的名称替换Ubuntu 10.10服务器
。)
VBoxHeadless
将启动虚拟机和VRDP( VirtualBox远程桌面协议
)服务器,允许您在另一台计算机上远程查看虚拟机的输出。
要停止VM,请运行
VBoxManage controlvm "Ubuntu 10.10 Server" poweroff
要暂停虚拟机,请运行
VBoxManage controlvm "Ubuntu 10.10 Server" pause
要重置VM,请运行
VBoxManage controlvm "Ubuntu 10.10 Server" reset
要了解有关VBoxHeadless的
更多信息,请查看
VBoxHeadless --help