VBoxHeadless - 使用VirtualBox 3.1.x在无头OpenSUSE 11.2服务器上运行虚拟机
本指南介绍了如何在无头OpenSUSE 11.2服务器上运行具有Sun VirtualBox 3.1.x的虚拟机。 通常,您使用VirtualBox GUI来管理虚拟机,但服务器没有桌面环境。 幸运的是,VirtualBox带有一个名为VBoxHeadless的工具,允许您通过远程桌面连接连接到虚拟机,因此不需要VirtualBox GUI。
我不会保证这将为您工作!
1初步说明
我已经使用IP地址192.168.0.100
的OpenSUSE 11.2服务器(主机系统)进行了测试
,我以普通用户身份登录(在本例中为用户名admin
),而不是根用户登录
。
如果您只有root帐户,但没有正常的用户帐户,请创建如下(用户admin
,组管理员
)...
# groupadd admin
# useradd -d /home/admin -m -g admin -s /bin/bash admin
...为新用户创建密码...
# passwd admin
...并以该用户身份登录。
2安装VirtualBox
要在我们的OpenSUSE 11.2服务器上安装VirtualBox 3.1.x,我们需要root权限,因此我们运行
$ su
首先我们要找出我们安装了什么内核:
# uname -a
server1:/home/admin # uname -a
Linux server1 2.6.31.5-0.1-desktop #1 SMP PREEMPT 2009-10-26 15:49:03 +0100 x86_64 x86_64 x86_64 GNU/Linux
server1:/home/admin #
如您所见,我已经安装了内核 - 桌面
软件包 - 如果您安装了内核 - 服务器
软件包,请在以下命令中将桌面
替换为服务器
。
我们如下安装VirtualBox 3.1.x的依赖项(通过再次安装kernel-desktop
/ kernel-server
软件包,我们确保我们安装了最新版本):
# yast -i kernel-desktop kernel-desktop-devel kernel-source kernel-syms Xerces-c gcc make
如果内核得到更新,YaST会告诉你必须重新启动系统 - 在这种情况下运行:
# reboot
再次以普通用户身份登录,然后成为root用户:
$ su
接下来下载并注册Sun的公共rpm键:
# wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | rpm --import -
现在我们在我们的系统上启用了VirtualBox OpenSUSE存储库:
# cd /etc/zypp/repos.d/
# wget http://download.virtualbox.org/virtualbox/rpm/opensuse/11.2/virtualbox.repo
现在我们可以简单的安装VirtualBox 3.1.x,如下所示:
# yast -i VirtualBox-3.1
然后确保加载了vboxdrv
内核模块:
# modprobe vboxdrv
以下命令确保在引导系统时vboxdrv
内核模块自动加载:
# insserv vboxdrv
现在我们必须添加将运行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