複製鏈接
請複製以下鏈接發送給好友

虛擬裝置

鎖定
虛擬裝置(virtual appliance)是在操作系統上預先安裝好應用程序的“應用程序+操作系統”套裝軟件。 [1] 
中文名
虛擬裝置
外文名
virtual bench
定    義
操作系統預先安裝好的套裝軟件
創建步驟
優化、初始化、添加組件等
系    統
虛擬機
應用學科
計算機原理

虛擬裝置軟件簡介

虛擬裝置(virtual appliance)是在操作系統上預先安裝好應用程序的“應用程序+操作系統”套裝軟件。虛擬裝置的優點在於既然軟件已安裝到操作系統上,那麼所有的配置設置,都可以由軟件商預先進行,軟件商甚至可以把操作系統內非必要的組件移除,以優化系統,無須用户自行調校,便可取得最佳效果。也就是説,這裏的操作系統,是適用於應用程序的特殊操作系統。把虛擬裝置安裝到虛擬機上,就可直接使用應用程序,不再需要經歷各種專業複雜的安裝配置以及調試過程。
創建虛擬裝置的原則是完全封裝。虛擬裝置要求所有的組件運行在一個虛擬層上,在製作虛擬裝置前,需要對這些組件做好配置,使它們能正確運行並且性能達到最優。由於虛擬裝置是針對某個具體應用的解決方案,所以用户沒有必要擁有虛擬裝置中操作系統的管理員權限,甚至在某些應用中,用户完全沒有必要訪問虛擬裝置內部。當然,最好的方式是,在虛擬裝置中配置一個“瀏覽器/服務器”模式的界面,用户通過瀏覽器的方式登錄使用,以這樣的方式來達到限制用户對虛擬裝置訪問的目的。 [1] 

虛擬裝置創建步驟

虛擬裝置優化操作系統

創建一個虛擬裝置和創建一個物理裝置所遵循的原則基本相同,但是虛擬裝置沒有事先安裝在任何物理硬件上,所以在創建虛擬裝置時,需要在創建過程中一步一步優化和縮減大小。物理裝置開發商喜歡安裝一個“胖”操作系統,因為他們往往有一個很充足的存儲空問,但是虛擬裝置則不同,它們必須變小,以便能夠在網絡上上傳和下載。
在這裏,“夠用就好”(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文件即可。
至此,經過“優化操作系統”、“初始化設置”、“添加‘標準’組件”、“虛擬機設置”、“打包和發佈”一系列步驟,一個虛擬裝置被創建並可以被用户下載使用了。 [1] 
參考資料
  • 1.    金海等著,計算系統虛擬化:原理與應用,清華大學出版社,2008.12,91-94