VBoxHeadless  - 使用VirtualBox 3.1.x在无头Fedora 12服务器上运行虚拟机

VBoxHeadless - 使用VirtualBox 3.1.x在无头Fedora 12服务器上运行虚拟机

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

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

1初步说明

我已经使用IP地址192.168.0.100的Fedora 12服务器(主机系统)进行了测试 ,我以普通用户身份登录(在本例中为用户名admin ),而不是root用户登录

如果您只有root帐户,但没有正常的用户帐户,请创建如下(用户admin ,组管理员 )...

# groupadd admin
# useradd -d /home/admin -m -g admin -s /bin/bash admin

...为新用户创建密码...

# passwd admin

...并以该用户身份登录。

2安装VirtualBox

要在我们的Fedora 12服务器上安装VirtualBox 3.1.x,我们需要root权限,因此我们运行

$ su

然后我们为VirtualBox 3.1.x安装依赖关系,如下所示:

# yum groupinstall 'Development Tools'
# yum groupinstall 'Development Libraries'
# yum install SDL kernel-devel kernel-headers dkms

接下来,我们从http://www.virtualbox.org/wiki/Linux_Downloads中选择正确的VirtualBox包; 选择适用于Fedora 12(“Constantine”)的i386或AMD64软件包(取决于您的体系结构) (您可以通过运行

# uname -m

我的测试系统的输出是

[root@server1 admin]# uname -m
x86_64
[root@server1 admin]#

这意味着我必须选择AMD64包。

)...

...并下载如下:

# cd /tmp
# wget http://download.virtualbox.org/virtualbox/3.1.2/VirtualBox-3.1-3.1.2_56127_fedora12-1.x86_64.rpm

该包可能以.rpm?xxx而不是.rpm存储。 要检查,运行

# ls -l
[root@server1 tmp]# ls -l
total 40436
-rw-r--r-- 1 root root 41402824 2009-12-17 16:23 VirtualBox-3.1-3.1.2_56127_fedora12-1.x86_64.rpm?e=1265037514&h=1853fb07cfc1d09b911c61ffb4cc1bff
-rw-r--r-- 1 root root        0 2009-11-20 15:07 yum.log
[root@server1 tmp]#

如你所见,我的包名为VirtualBox-3.1-3.1.2_56127_fedora12-1.x86_64.rpm?e = 1265037514&h = 1853fb07cfc1d09b911c61ffb4cc1bff 。 所以我重命名它:

# mv VirtualBox-3.1-3.1.2_56127_fedora12-1.x86_64.rpm\?e\=1265037514\&h\=1853fb07cfc1d09b911c61ffb4cc1bff VirtualBox-3.1-3.1.2_56127_fedora12-1.x86_64.rpm

(您可以使用TAB键让shell自动完成文件名。)

之后,我们安装VirtualBox 3.1.x,如下所示:

# yum --nogpgcheck install VirtualBox-3.1-3.1.2_56127_fedora12-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

现在我将创建一个Ubuntu 9.10服务器虚拟机,256MB内存和一个10GB硬盘从Ubuntu 9.10服务器iso映像(我存储在/home/ubuntu-9.10-server-amd64.iso ):

$ VBoxManage createvm --name "Ubuntu 9.10 Server" --register
$ VBoxManage modifyvm "Ubuntu 9.10 Server" --memory 256 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0
$ VBoxManage createhd --filename Ubuntu_9_10_Server.vdi --size 10000 --register
$ VBoxManage storagectl "Ubuntu 9.10 Server" --name "IDE Controller" --add ide
$ VBoxManage storageattach "Ubuntu 9.10 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_9_10_Server.vdi
$ VBoxManage storageattach "Ubuntu 9.10 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-9.10-server-amd64.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.10 Server"

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

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

要停止VM,请运行

$ VBoxManage controlvm "Ubuntu 9.10 Server" poweroff

要暂停虚拟机,请运行

$ VBoxManage controlvm "Ubuntu 9.10 Server" pause

要重置VM,请运行

$ VBoxManage controlvm "Ubuntu 9.10 Server" reset

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

$ VBoxHeadless --help

并在http://www.virtualbox.org/manual/UserManual.html

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏