如何管理遠(yuǎn)程無外設(shè)服務(wù)器上的VirtualBox虛擬機(jī)?
譯文大多數(shù)VirtualBox用戶可能認(rèn)為,VirtualBox僅僅是用于桌面環(huán)境的,虛擬機(jī)的管理通過VirtualBox圖形用戶界面(GUI)來完成。不過,VirtualBox實(shí)際上可以在無外設(shè)服務(wù)器上運(yùn)行,在無外設(shè)模式下啟動的VirtualBox虛擬機(jī)可以通過外部的VirtualBox前端客戶程序?qū)崿F(xiàn)遠(yuǎn)程管理。
我在本教程中將解釋如何管理遠(yuǎn)程無外設(shè)服務(wù)器上的VirtualBox虛擬機(jī)。
想遠(yuǎn)程管理VirtualBox,你可以使用RemoteBox(http://knobgoblin.org.uk/),這是一款開源VirtualBox客戶軟件。RemoteBox讓你可以連接至安裝了VirtualBox的遠(yuǎn)程無外設(shè)服務(wù)器,并且管理和操控VirtualBox虛擬機(jī)。
就這種環(huán)境而言,你至少需要一個安裝了VirtualBox的無外設(shè)服務(wù)器主機(jī)。你還需要一個另外的Linux桌面主機(jī)作為VirtualBox客戶端主機(jī)。RemoteBox將安裝在客戶端主機(jī)上。
配置VirtualBox服務(wù)器
在無外設(shè)服務(wù)器端,你需要安裝VirtualBox 4.2.0或更高版本。
除了VirtualBox外,你還需要在服務(wù)器上安裝VirtualBox擴(kuò)展包。遠(yuǎn)程桌面顯示和PXE啟動需要用到擴(kuò)展包。
假設(shè)已安裝VirtualBox的版本是4.2.16,你可以將相應(yīng)的VirtualBox擴(kuò)展包安裝到服務(wù)器上,如下所示。
$ 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
***,你需要在服務(wù)器上創(chuàng)建VirtualBox Web服務(wù),那樣RemoteBox等VirtualBox客戶軟件可以與VirtualBox進(jìn)行遠(yuǎn)程通信。
在這么做之前,先要確定VirtualBox Web服務(wù)將以哪種Linux用戶來運(yùn)行。如果你以某個特定的Linux用戶來運(yùn)行VirtualBox Web服務(wù),那么只能控制由同一個用戶運(yùn)行的虛擬機(jī)。
下面我將創(chuàng)建一個新的用戶(比如vbox)和一個新的用戶組(比如vboxusers),專門用于VirtualBox Web服務(wù)。
$ sudo groupadd vboxusers
$ sudo useradd -g vboxusers vbox
想配置服務(wù)器上的VirtualBox Web服務(wù),繼續(xù)按如下操作。
首先,在/etc/default/virtualbox處,為Web服務(wù)創(chuàng)建一個配置文件。
$ 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被設(shè)置成了Linux用戶:你將以該用戶來運(yùn)行VirtualBox Web服務(wù),VBOXWEB_HOST對應(yīng)于服務(wù)器的IP地址。
下一步,初始化并設(shè)置日志文件的所有權(quán):
$ sudo touch /var/log/vboxwebservice.log
$ sudo chown vbox:vboxusers /var/log/vboxwebservice.log
創(chuàng)建VirtualBox配置目錄:
$ sudo mkdir /home/vbox/.VirtualBox
$ sudo chown vbox:vboxusers /home/vbox/.VirtualBox
開啟VirtualBox Web服務(wù):
$ sudo service vboxweb-service start
核查VirtualBox Web服務(wù)的狀態(tài):
$ sudo service vboxweb-service status
Checking for VBox Web Service ...running
另外,核實(shí)VirtualBox Web服務(wù)在偵聽端口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服務(wù)器的配置。接下來,繼續(xù)在客戶端主機(jī)上安裝RemoteBox。#p#
在客戶端主機(jī)上安裝RemoteBox的要求
想讓RemoteBox與服務(wù)器正常通信,服務(wù)器主機(jī)和客戶端主機(jī)并不需要運(yùn)行同樣的操作系統(tǒng)。
在客戶端主機(jī)上運(yùn)行RemoteBox之前,有幾個必要的程序包是你先要安裝的。
想在基于Ubuntu、Mint或Debian的客戶端主機(jī)上安裝必要的程序包:
$ sudo apt-get install libgtk2-perl libsoap-lite-perl rdesktop
想在基于Fedora、CentOS或RHEL的客戶端主機(jī)上安裝必要的程序包:
$ sudo yum install perl-Gtk2 perl-SOAP-Lite rdesktop
在客戶端主機(jī)上安裝和配置RemoteBox
想在客戶端主機(jī)上運(yùn)行RemoteBox,先從其官方網(wǎng)站下載二進(jìn)制代碼程序包,只要運(yùn)行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服務(wù)器,只要點(diǎn)擊工具欄中的“Connect”(連接)按鈕。
填寫服務(wù)器信息:
•URL:http://
•用戶名/密碼:VirtualBox Web服務(wù)的Linux用戶及其密碼。
一旦你成功地登錄到該服務(wù)器上,就可以查看顯示在VirtualBox上創(chuàng)建的虛擬機(jī)的列表。
在啟動訪客虛擬機(jī)之前,先編輯其設(shè)置,以便為虛擬機(jī)啟用遠(yuǎn)程顯示功能。
點(diǎn)擊啟用遠(yuǎn)程顯示服務(wù)器的復(fù)選框。
點(diǎn)擊“Start”(開啟)按鈕,開啟訪客虛擬機(jī)。
虛擬機(jī)一經(jīng)啟動,RemoteBox就會自動開啟rdesktop,通過遠(yuǎn)程桌面會話,顯示虛擬機(jī)的控制臺。
大多數(shù)VirtualBox用戶可能認(rèn)為,VirtualBox僅僅是用于桌面環(huán)境的,虛擬機(jī)的管理通過VirtualBox圖形用戶界面(GUI)來完成。不過,VirtualBox實(shí)際上可以在無外設(shè)服務(wù)器上運(yùn)行,在無外設(shè)模式下啟動的VirtualBox虛擬機(jī)可以通過外部的VirtualBox前端客戶程序?qū)崿F(xiàn)遠(yuǎn)程管理。#p#
我在本教程中將解釋如何管理遠(yuǎn)程無外設(shè)服務(wù)器上的VirtualBox虛擬機(jī)。
想遠(yuǎn)程管理VirtualBox,你可以使用RemoteBox(http://knobgoblin.org.uk/),這是一款開源VirtualBox客戶軟件。RemoteBox讓你可以連接至安裝了VirtualBox的遠(yuǎn)程無外設(shè)服務(wù)器,并且管理和操控VirtualBox虛擬機(jī)。
就這種環(huán)境而言,你至少需要一個安裝了VirtualBox的無外設(shè)服務(wù)器主機(jī)。你還需要一個另外的Linux桌面主機(jī)作為VirtualBox客戶端主機(jī)。RemoteBox將安裝在客戶端主機(jī)上。
配置VirtualBox服務(wù)器
在無外設(shè)服務(wù)器端,你需要安裝VirtualBox 4.2.0或更高版本。
除了VirtualBox外,你還需要在服務(wù)器上安裝VirtualBox擴(kuò)展包。遠(yuǎn)程桌面顯示和PXE啟動需要用到擴(kuò)展包。
假設(shè)已安裝VirtualBox的版本是4.2.16,你可以將相應(yīng)的VirtualBox擴(kuò)展包安裝到服務(wù)器上,如下所示。
$ 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
***,你需要在服務(wù)器上創(chuàng)建VirtualBox Web服務(wù),那樣RemoteBox等VirtualBox客戶軟件可以與VirtualBox進(jìn)行遠(yuǎn)程通信。
在這么做之前,先要確定VirtualBox Web服務(wù)將以哪種Linux用戶來運(yùn)行。如果你以某個特定的Linux用戶來運(yùn)行VirtualBox Web服務(wù),那么只能控制由同一個用戶運(yùn)行的虛擬機(jī)。
下面我將創(chuàng)建一個新的用戶(比如vbox)和一個新的用戶組(比如vboxusers),專門用于VirtualBox Web服務(wù)。
$ sudo groupadd vboxusers
$ sudo useradd -g vboxusers vbox
想配置服務(wù)器上的VirtualBox Web服務(wù),繼續(xù)按如下操作。
首先,在/etc/default/virtualbox處,為Web服務(wù)創(chuàng)建一個配置文件。
$ 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被設(shè)置成了Linux用戶:你將以該用戶來運(yùn)行VirtualBox Web服務(wù),VBOXWEB_HOST對應(yīng)于服務(wù)器的IP地址。
下一步,初始化并設(shè)置日志文件的所有權(quán):
$ sudo touch /var/log/vboxwebservice.log
$ sudo chown vbox:vboxusers /var/log/vboxwebservice.log
創(chuàng)建VirtualBox配置目錄:
$ sudo mkdir /home/vbox/.VirtualBox
$ sudo chown vbox:vboxusers /home/vbox/.VirtualBox
開啟VirtualBox Web服務(wù):
$ sudo service vboxweb-service start
核查VirtualBox Web服務(wù)的狀態(tài):
$ sudo service vboxweb-service status
Checking for VBox Web Service ...running
另外,核實(shí)VirtualBox Web服務(wù)在偵聽端口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服務(wù)器的配置。接下來,繼續(xù)在客戶端主機(jī)上安裝RemoteBox。
在客戶端主機(jī)上安裝RemoteBox的要求
想讓RemoteBox與服務(wù)器正常通信,服務(wù)器主機(jī)和客戶端主機(jī)并不需要運(yùn)行同樣的操作系統(tǒng)。
在客戶端主機(jī)上運(yùn)行RemoteBox之前,有幾個必要的程序包是你先要安裝的。
想在基于Ubuntu、Mint或Debian的客戶端主機(jī)上安裝必要的程序包:
$ sudo apt-get install libgtk2-perl libsoap-lite-perl rdesktop
想在基于Fedora、CentOS或RHEL的客戶端主機(jī)上安裝必要的程序包:
$ sudo yum install perl-Gtk2 perl-SOAP-Lite rdesktop
在客戶端主機(jī)上安裝和配置RemoteBox
想在客戶端主機(jī)上運(yùn)行RemoteBox,先從其官方網(wǎng)站下載二進(jìn)制代碼程序包,只要運(yùn)行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服務(wù)器,只要點(diǎn)擊工具欄中的“Connect”(連接)按鈕。
填寫服務(wù)器信息:
•URL:http://
•用戶名/密碼:VirtualBox Web服務(wù)的Linux用戶及其密碼。
一旦你成功地登錄到該服務(wù)器上,就可以查看顯示在VirtualBox上創(chuàng)建的虛擬機(jī)的列表。
在啟動訪客虛擬機(jī)之前,先編輯其設(shè)置,以便為虛擬機(jī)啟用遠(yuǎn)程顯示功能。
點(diǎn)擊啟用遠(yuǎn)程顯示服務(wù)器的復(fù)選框。
點(diǎn)擊“Start”(開啟)按鈕,開啟訪客虛擬機(jī)。
虛擬機(jī)一經(jīng)啟動,RemoteBox就會自動開啟rdesktop,通過遠(yuǎn)程桌面會話,顯示虛擬機(jī)的控制臺。