如何管理遠程無外設服務器上的VirtualBox虛擬機?
譯文大多數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,通過遠程桌面會話,顯示虛擬機的控制臺。