大多数VirtualBox用户可能认为,VirtualBox仅仅是用于桌面环境的,虚拟机的管理通过VirtualBox图形用户界面(GUI)来完成。不过,VirtualBox实际上可以在无外设服务器上运行,在无外设模式下启动的VirtualBox虚拟机可以通过外部的VirtualBox前端客户程序实现远程管理。
我在本教程中将解释如何管理远程无外设服务器上的VirtualBox虚拟机。
想远程管理VirtualBox,你可以使用RemoteBox(http://knobgoblin.org.uk/),这是一款开源VirtualBox客户软件。RemoteBox让你可以连接至安装了VirtualBox的远程无外设服务器,并且管理和操控VirtualBox虚拟机。
就这种环境而言,你至少需要一个安装了VirtualBox的无外设服务器主机。你还需要一个另外的Linux桌面主机作为VirtualBox客户端主机。RemoteBox将安装在客户端主机上。
配置VirtualBox服务器
在无外设服务器端,你需要安装VirtualBox 4.2.0或更高版本。
除了VirtualBox外,你还需要在服务器上安装VirtualBox扩展包。远程桌面显示和PXE启动需要用到扩展包。
假设已安装VirtualBox的版本是4.2.16,你可以将相应的VirtualBox扩展包安装到服务器上,如下所示。
$ wget http://download.virtualbox.org/virtualbox/4.2.16/
Oracle_VM_VirtualBox_Extension_Pack-4.2.16-86992.vbox-extpack
$ sudo VBoxManage extpack install ./Oracle_VM_VirtualBox_
Extension_Pack-4.2.12-84980.vbox-extpack
***,你需要在服务器上创建VirtualBox Web服务,那样RemoteBox等VirtualBox客户软件可以与VirtualBox进行远程通信。
在这么做之前,先要确定VirtualBox Web服务将以哪种Linux用户来运行。如果你以某个特定的Linux用户来运行VirtualBox Web服务,那么只能控制由同一个用户运行的虚拟机。
下面我将创建一个新的用户(比如vbox)和一个新的用户组(比如vboxusers),专门用于VirtualBox Web服务。
$ sudo groupadd vboxusers
$ sudo useradd -g vboxusers vbox
想配置服务器上的VirtualBox Web服务,继续按如下操作。
首先,在/etc/default/virtualbox处,为Web服务创建一个配置文件。
$ sudo vi /etc/default/virtualbox VBOXWEB_USER="vbox"
VBOXWEB_TIMEOUT=0
VBOXWEB_LOGFILE="/var/log/vboxwebservice.log"
VBOXWEB_HOST="10.0.0.121"
在该配置文件中,VBOXWEB_USER被设置成了Linux用户:你将以该用户来运行VirtualBox Web服务,VBOXWEB_HOST对应于服务器的IP地址。
下一步,初始化并设置日志文件的所有权:
$ sudo touch /var/log/vboxwebservice.log
$ sudo chown vbox:vboxusers /var/log/vboxwebservice.log
创建VirtualBox配置目录:
$ sudo mkdir /home/vbox/.VirtualBox
$ sudo chown vbox:vboxusers /home/vbox/.VirtualBox
开启VirtualBox Web服务:
$ sudo service vboxweb-service start
核查VirtualBox Web服务的状态:
$ sudo service vboxweb-service status
Checking for VBox Web Service ...running
另外,核实VirtualBox Web服务在侦听端口18083。
$ sudo netstat -nap | grep vboxwebsrv
tcp 0 0 10.0.0.121:18083 0.0.0.0
:* LISTEN 15855/vboxwebsrv
unix 3 [ ] STREAM CONNECTED 1
52848 15855/vboxwebsrv
这完成了VirtualBox服务器的配置。接下来,继续在客户端主机上安装RemoteBox。#p#
在客户端主机上安装RemoteBox的要求
想让RemoteBox与服务器正常通信,服务器主机和客户端主机并不需要运行同样的操作系统。
在客户端主机上运行RemoteBox之前,有几个必要的程序包是你先要安装的。
想在基于Ubuntu、Mint或Debian的客户端主机上安装必要的程序包:
$ sudo apt-get install libgtk2-perl libsoap-lite-perl rdesktop
想在基于Fedora、CentOS或RHEL的客户端主机上安装必要的程序包:
$ sudo yum install perl-Gtk2 perl-SOAP-Lite rdesktop
在客户端主机上安装和配置RemoteBox
想在客户端主机上运行RemoteBox,先从其官方网站下载二进制代码程序包,只要运行remotebox命令。
$ wget http://knobgoblin.org.uk/downloads/RemoteBox-1.5.tar.gz
$ tar xvfvz RemoteBox-1.5.tar.gz
$ cd RemoteBox-1.5
$ ./remotebox
Remotebox的屏幕截图看起来如下所示。想连接到VirtualBox服务器,只要点击工具栏中的“Connect”(连接)按钮。
填写服务器信息:
•URL:http://
•用户名/密码:VirtualBox Web服务的Linux用户及其密码。
一旦你成功地登录到该服务器上,就可以查看显示在VirtualBox上创建的虚拟机的列表。
在启动访客虚拟机之前,先编辑其设置,以便为虚拟机启用远程显示功能。
点击启用远程显示服务器的复选框。
点击“Start”(开启)按钮,开启访客虚拟机。
虚拟机一经启动,RemoteBox就会自动开启rdesktop,通过远程桌面会话,显示虚拟机的控制台。
大多数VirtualBox用户可能认为,VirtualBox仅仅是用于桌面环境的,虚拟机的管理通过VirtualBox图形用户界面(GUI)来完成。不过,VirtualBox实际上可以在无外设服务器上运行,在无外设模式下启动的VirtualBox虚拟机可以通过外部的VirtualBox前端客户程序实现远程管理。#p#
我在本教程中将解释如何管理远程无外设服务器上的VirtualBox虚拟机。
想远程管理VirtualBox,你可以使用RemoteBox(http://knobgoblin.org.uk/),这是一款开源VirtualBox客户软件。RemoteBox让你可以连接至安装了VirtualBox的远程无外设服务器,并且管理和操控VirtualBox虚拟机。
就这种环境而言,你至少需要一个安装了VirtualBox的无外设服务器主机。你还需要一个另外的Linux桌面主机作为VirtualBox客户端主机。RemoteBox将安装在客户端主机上。
配置VirtualBox服务器
在无外设服务器端,你需要安装VirtualBox 4.2.0或更高版本。
除了VirtualBox外,你还需要在服务器上安装VirtualBox扩展包。远程桌面显示和PXE启动需要用到扩展包。
假设已安装VirtualBox的版本是4.2.16,你可以将相应的VirtualBox扩展包安装到服务器上,如下所示。
$ wget http://download.virtualbox.org/virtualbox/4.2.16/
Oracle_VM_VirtualBox_Extension_Pack-4.2.16-86992.vbox-extpack
$ sudo VBoxManage extpack install ./Oracle_VM_VirtualBox_
Extension_Pack-4.2.12-84980.vbox-extpack
***,你需要在服务器上创建VirtualBox Web服务,那样RemoteBox等VirtualBox客户软件可以与VirtualBox进行远程通信。
在这么做之前,先要确定VirtualBox Web服务将以哪种Linux用户来运行。如果你以某个特定的Linux用户来运行VirtualBox Web服务,那么只能控制由同一个用户运行的虚拟机。
下面我将创建一个新的用户(比如vbox)和一个新的用户组(比如vboxusers),专门用于VirtualBox Web服务。
$ sudo groupadd vboxusers
$ sudo useradd -g vboxusers vbox
想配置服务器上的VirtualBox Web服务,继续按如下操作。
首先,在/etc/default/virtualbox处,为Web服务创建一个配置文件。
$ sudo vi /etc/default/virtualbox VBOXWEB_USER="vbox"
VBOXWEB_TIMEOUT=0
VBOXWEB_LOGFILE="/var/log/vboxwebservice.log"
VBOXWEB_HOST="10.0.0.121"
在该配置文件中,VBOXWEB_USER被设置成了Linux用户:你将以该用户来运行VirtualBox Web服务,VBOXWEB_HOST对应于服务器的IP地址。
下一步,初始化并设置日志文件的所有权:
$ sudo touch /var/log/vboxwebservice.log
$ sudo chown vbox:vboxusers /var/log/vboxwebservice.log
创建VirtualBox配置目录:
$ sudo mkdir /home/vbox/.VirtualBox
$ sudo chown vbox:vboxusers /home/vbox/.VirtualBox
开启VirtualBox Web服务:
$ sudo service vboxweb-service start
核查VirtualBox Web服务的状态:
$ sudo service vboxweb-service status
Checking for VBox Web Service ...running
另外,核实VirtualBox Web服务在侦听端口18083。
$ sudo netstat -nap | grep vboxwebsrv
tcp 0 0 10.0.0.121:18083 0.0.0.0
:* LISTEN 15855/vboxwebsrv
unix 3 [ ] STREAM CONNECTED 1
52848 15855/vboxwebsrv
这完成了VirtualBox服务器的配置。接下来,继续在客户端主机上安装RemoteBox。
在客户端主机上安装RemoteBox的要求
想让RemoteBox与服务器正常通信,服务器主机和客户端主机并不需要运行同样的操作系统。
在客户端主机上运行RemoteBox之前,有几个必要的程序包是你先要安装的。
想在基于Ubuntu、Mint或Debian的客户端主机上安装必要的程序包:
$ sudo apt-get install libgtk2-perl libsoap-lite-perl rdesktop
想在基于Fedora、CentOS或RHEL的客户端主机上安装必要的程序包:
$ sudo yum install perl-Gtk2 perl-SOAP-Lite rdesktop
在客户端主机上安装和配置RemoteBox
想在客户端主机上运行RemoteBox,先从其官方网站下载二进制代码程序包,只要运行remotebox命令。
$ wget http://knobgoblin.org.uk/downloads/RemoteBox-1.5.tar.gz
$ tar xvfvz RemoteBox-1.5.tar.gz
$ cd RemoteBox-1.5
$ ./remotebox
Remotebox的屏幕截图看起来如下所示。想连接到VirtualBox服务器,只要点击工具栏中的“Connect”(连接)按钮。
填写服务器信息:
•URL:http://
•用户名/密码:VirtualBox Web服务的Linux用户及其密码。
一旦你成功地登录到该服务器上,就可以查看显示在VirtualBox上创建的虚拟机的列表。
在启动访客虚拟机之前,先编辑其设置,以便为虚拟机启用远程显示功能。
点击启用远程显示服务器的复选框。
点击“Start”(开启)按钮,开启访客虚拟机。
虚拟机一经启动,RemoteBox就会自动开启rdesktop,通过远程桌面会话,显示虚拟机的控制台。