虛擬裝置

虛擬裝置

虛擬裝置(virtual appliance)是在作業系統上預先安裝好應用程式的“應用程式+作業系統”套裝軟體。

概述

虛擬裝置(virtual appliance)是在作業系統上預先安裝好應用程式的“應用程式+作業系統”套裝軟體。虛擬裝置的優點在於既然軟體已安裝到作業系統上,那么所有的配置設定,都可以由軟體商預先進行,軟體商甚至可以把作業系統內非必要的組件移除,以最佳化系統,無須用戶自行調校,便可取得最佳效果。也就是說,這裡的作業系統,是適用於應用程式的特殊作業系統。把虛擬裝置安裝到虛擬機上,就可直接使用應用程式,不再需要經歷各種專業複雜的安裝配置以及調試過程。

創建虛擬裝置的原則是完全封裝。虛擬裝置要求所有的組件運行在一個虛擬層上,在製作虛擬裝置前,需要對這些組件做好配置,使它們能正確運行並且性能達到最優。由於虛擬裝置是針對某個具體套用的解決方案,所以用戶沒有必要擁有虛擬裝置中作業系統的管理員許可權,甚至在某些套用中,用戶完全沒有必要訪問虛擬裝置內部。當然,最好的方式是,在虛擬裝置中配置一個“瀏覽器/伺服器”模式的界面,用戶通過瀏覽器的方式登錄使用,以這樣的方式來達到限制用戶對虛擬裝置訪問的目的。

創建步驟

最佳化作業系統

創建一個虛擬裝置和創建一個物理裝置所遵循的原則基本相同,但是虛擬裝置沒有事先安裝在任何物理硬體上,所以在創建虛擬裝置時,需要在創建過程中一步一步最佳化和縮減大小。物理裝置開發商喜歡安裝一個“胖”作業系統,因為他們往往有一個很充足的存儲空問,但是虛擬裝置則不同,它們必須變小,以便能夠在網路上上傳和下載。

在這裡,“夠用就好”(just enough OS)是虛擬裝置中作業系統定製的基本出發點。“夠用就好”的思想最早來源於模組化的作業系統如Linux,但是,目前也有工具可以把微軟的作業系統修剪到一個just enough OS。一個比較極端的例子是BEA的Liquid VM,BEA公司的虛擬裝置把BEA J—Rockit Java虛擬機部署在一個很“薄”的層上,該層把Java虛擬機產生的低級系統調用直接翻譯成VMware虛擬機可以執行的指令。這樣一來,Java虛擬機不再像在以往的作業系統上受到重重限制了。

虛擬裝置不需要的服務和連線埠必須剔除和關閉。比如,如果虛擬裝置不需要向檔案系統中寫入數據,那么有必要關閉FTP服務和相應連線埠。當然,你還是需要打開Web連線埠,以便虛擬裝置的用戶通過Web的方式來修改虛擬裝置的一些配置信息。

初始化設定

一旦虛擬裝置安裝上以後,用戶應該儘量不去修改它的配置。於是,初始化設定變得非常重要,而且開發人員必須能夠讓用戶在初始化的時候設定某些配置,比如設定虛擬裝置的IP或者虛擬裝置支持DHCP,並且在配置時給出Web管理界面的URL(http/https+IP位址+連線埠)。

有了Web控制台或者命令行控制台後,用戶就可以執行一部分對虛擬裝置的管理操作了。對於開發人員來說,初始化虛擬裝置時,需要支持以下配置:建立用戶名和密碼,以及管理員用戶(虛擬裝置的管理員,並非作業系統的管理員),設定網路配置信息,使用DHCP或者使用靜態IP並且為虛擬裝置設定主機名,設定SNMP配置信息,設定虛擬裝置上各種服務的日誌級別以及日誌rotation策略,生成一個用於生成SSL證書的SSL證書請求,上傳一個SSL證書來保證虛擬裝置的通信安全,同步系統日期時間,出廠設定等。

添加標準組件

雖然不同的虛擬裝置可能會需要不同的組件,但是以下組件基本上是每個虛擬裝置都需要的。這些“標準”組件以後可能會被寫作一個“虛擬裝置框架”中,方便開發人員建立虛擬裝置,這些組件有:

(1)一個“夠用就好”的作業系統

同最佳化作業系統所述的夠用就好(just enough)的作業系統。

(2)命令行控制台

最好提供一個單獨開發的命令行界面,可以自己制定一些參數或者語法。它的基本功能有:設定/顯示網路配置,設定SSL,監控進程,管理用戶,生命周期管理。

(3)Web管理控制台

即使開發人員提供了功能強大的命令行控制台來管理虛擬裝置,但是用戶更傾向使用圖形化的Web控制台。Web控制台需要具備的基本功能有:包括命令行控制台的主要功能、日誌管理、NTP(網路時間服務)。此外還有解決方案配置信息:虛擬裝置提供某類解決方案,會涉及一些自定義的控制選項,使用Web控制台的方式讓用戶填寫這些信息,可以使配置流程更加清晰。

虛擬機設定

一個虛擬裝置是創建在一個虛擬機內部的,於是根據虛擬裝置上的具體套用來配置虛擬機也是一個必要步驟。由於大部分虛擬裝置提供的是伺服器端服務,所以很多虛擬硬體是不會使用到的,如軟碟、CD、USB等,所以最好將這些虛擬硬體移出虛擬機。

打包和發布

當創建完成一個虛擬裝置並且測試通過後,就可以將它打包供用戶下載了。先準備一個空資料夾,將虛擬機的虛擬硬碟和配置檔案,以及readme等說明檔案放入,壓縮成.zip或者.tar檔案即可。

至此,經過“最佳化作業系統”、“初始化設定”、“添加‘標準’組件”、“虛擬機設定”、“打包和發布”一系列步驟,一個虛擬裝置被創建並可以被用戶下載使用了。

相關詞條

相關搜尋

熱門詞條

聯絡我們