VBoxHeadless - 使用VirtualBox 4.3运行虚拟机在无头Ubuntu 14.04 LTS服务器

VBoxHeadless - 使用VirtualBox 4.3运行虚拟机在无头Ubuntu 14.04 LTS服务器 本指南解释了如何运行虚拟机...

VBoxHeadless - 使用VirtualBox 4.3在无头Ubuntu 14.04 LTS服务器上运行虚拟机

版本1.0
作者:Falko Timme,由Srijan Kishore更新

本指南介绍如何在无头Ubuntu 14.04服务器上运行VirtualBox 4.3的虚拟机。 通常,您使用VirtualBox GUI来管理虚拟机,但服务器没有桌面环境。 幸运的是,VirtualBox带有一个名为VBoxHeadless的工具,允许您通过远程桌面连接连接到虚拟机,因此不需要VirtualBox GUI。

我不会保证这将为您工作!

1初步说明

我已经在Ubuntu 14.04服务器(主机系统)上测试了这个IP地址为192.168.0.100 ,我以普通用户身份登录(在本例中为用户名管理员 ),而不是root身份

2安装VirtualBox

要在我们的Ubuntu 14.04服务器上安装VirtualBox 4.3,我们打开/etc/apt/sources.list ...

sudo vi /etc/apt/sources.list

...并添加以下行:

[...]
deb http://download.virtualbox.org/virtualbox/debian trusty contrib

然后我们下载VirtualBox公钥

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

...并更新我们的包数据库:

sudo apt-get update

之后,我们安装VirtualBox 4.3如下:

sudo apt-get install linux-headers-$(uname -r) build-essential virtualbox-4.3 dkms

(如果Linux内核版本更改,则dkms软件包可确保VirtualBox主机内核模块正确更新。)

从版本4.0开始,VirtualBox引入了所谓的“扩展包”,并将一些功能(如V4.4之前的VirtualBox包的一部分的远程桌面连接支持(VRDP))外包给这些扩展包。 因为我们需要远程桌面连接来控制我们的虚拟机,所以我们需要安装相应的扩展包。 转到http://www.virtualbox.org/wiki/Downloads ,您将找到以下扩展程序包的链接:

VirtualBox 4.3.10 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.3.10/Oracle_VM_VirtualBox_Extension_Pack-4.3.10-93012.vbox-extpack
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.10-93012.vbox-extpack

(确保您从VirtualBox网站获取最新版本。)

(确保你运行最后一个命令sudo - sudo VBoxManage extpack install ... - 因为否则你会得到一个这样的错误:

administrator@server1:/tmp$ VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.10-93012.vbox-extpack
0%...
Progress state: NS_ERROR_FAILURE
VBoxManage: error: Failed to install "/tmp/Oracle_VM_VirtualBox_Extension_Pack-4.3.10-93012.vbox-extpack": The installer failed with exit code 127: Error creating textual authentication agent: Error opening current controlling terminal for the process (`/dev/tty'): No such device or address
administrator@server1:/tmp$

现在我们必须添加将运行VirtualBox(在本例中为管理员 )的用户到vboxusers组:

sudo adduser administrator vboxusers

VirtualBox现已安装并可以使用。

3在命令行上使用VirtualBox

3.1创建VM

要在命令行上创建一个虚拟机,我们可以使用VBoxManage命令。 看到

VBoxManage --help

有关可用开关的列表(强烈推荐!),请查看http://www.virtualbox.org/manual/ch08.html

现在,我将创建一个具有1024MB内存的Ubuntu 14.04服务器虚拟机以及Ubuntu 14.04 Server iso映像(我存储在/root/iso/ubuntu-14.04-server-amd64.iso中 )的10GB硬盘驱动器:

VBoxManage createvm --name "Ubuntu 14.04 Server" --register
VBoxManage modifyvm "Ubuntu 14.04 Server" --memory 1024 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0
VBoxManage createhd --filename Ubuntu_14_04_Server.vdi --size 10000
VBoxManage storagectl "Ubuntu 14.04 Server" --name "IDE Controller" --add ide
VBoxManage storageattach "Ubuntu 14.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /root/iso/Ubuntu_14_.04_Server.vdi
VBoxManage storageattach "Ubuntu 14.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /root/iso/ubuntu-14.04-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还是导入旧虚拟机,都可以使用以下命令启动它:

VBoxHeadless --startvm "Ubuntu 14.04 Server"

(用您的虚拟机的名称替换Ubuntu 14.04服务器 。)

VBoxHeadless将启动虚拟机和VRDP( VirtualBox远程桌面协议 )服务器,允许您在另一台计算机上远程查看虚拟机的输出。

要停止VM,请运行

VBoxManage controlvm "Ubuntu 14.04 Server" poweroff

要暂停虚拟机,请运行

VBoxManage controlvm "Ubuntu 14.04 Server" pause

要重置VM,请运行

VBoxManage controlvm "Ubuntu 14.04 Server" reset

要了解有关VBoxHeadless的更多信息,请查看

VBoxHeadless --help

并在http://www.virtualbox.org/manual/ch07.html#vboxheadless

4从远程桌面连接到虚拟机

4.1 Windows XP

您可以使用内置的远程桌面连接实用程序连接到虚拟机:

键入主机的主机名或IP地址(不是客人!):

和voilà,你应该连接到VM:

4.2 Ubuntu 14.04

在Ubuntu 14.04桌面上,您可以使用Remmina远程桌面客户端连接到虚拟机。 只需搜索远程桌面 ,然后双击Remmina远程桌面客户端图标:

Remmina远程桌面客户端中 ,单击加号图标添加新的远程桌面连接:

在“ 远程桌面首选项 ”窗口中,填写配置文件的名称(如Ubuntu 14.04 Server ),确保选择RDP作为协议(默认情况下应选择),然后填写主机IP地址 - 而不是IP的VirtualBox客人! - 在“ 服务器”字段中,选择较高的颜色深度,而不是默认的8bpp-16bpp就可以了。 然后点击连接

和voilà,你应该连接到VM:

4.3如果远程桌面连接不工作...

如果远程桌面连接不起作用,则可能错过了第2章中安装VirtualBox扩展包的步骤。请现在安装扩展包,停止虚拟机(请参见第3.3章),并修改虚拟机接受远程桌面连接:

VBoxManage modifyvm "Ubuntu 14.04 Server" --vrde on

(如果在创建虚拟机时已经安装了扩展包,则会自动启用远程桌面连接。)

然后再次启动虚拟机。