天天看點

虛拟機軟體簡介

1. 背景

在軟體開發過程中,通常需要對不同的系統平台進行測試,而不同的系統平台,大多需要安裝不同的作業系統,例如win32的windows系統家族以及基于unix/linux的作業系統。如果将這些作業系統安裝在不同的機器上,或者将其安裝在一台機器上,很多時候無法進行并行的測試。

虛拟機軟體是現在在同一個作業系統中運作多種作業系統的功能。這裡的虛拟機軟體是指作業系統級别的虛拟機軟體,當然還有應用程式級别的虛拟機軟體,例如Java虛拟機等等。

本文主要介紹了幾種常見的虛拟機軟體,包括了開源的虛拟機軟體以及商用的虛拟機軟體。首先将每種虛拟機軟體進行簡要的功能說明,然後縱向的比較這幾種虛拟機軟體。

2. VMWare

确切的說,應該是VMWare Workstation。這是筆者最開始接觸到的一個虛拟機軟體,主要使用該軟體進行多系統的并行測試。

VMWare Workstation隻是VMWare産品家族中的桌面産品一種。其他一些産品諸如VMWare vSphere(資料中心産品),VMPlayer(免費的虛拟機使用軟體-不可以建立虛拟機)等。

通過注冊,可以免費擷取VMWare Workstation的30天試用版本,超過30天後,軟體将不能再使用。但是VMPlayer一樣可以運作VMWare Workstation建立的虛拟機。當然,VMWare的功能相對有很多限制。

[tip:運作VMWare軟體的作業系統叫做host system,VMWare裡面運作的作業系統叫做guest system]

VMWare可以運作多種主流的作業系統。例如對于windows作業系統,涵蓋了windows 3.1,95,98,me,NT,2000 pro/server/advance server, xp home/pro, vista, server2003 standard/enterprise, server2008等版本以及對應的64bit版本(如果存在的話)。對于Linux作業系統,包含了RedHat 2/3/4/5, SUSE, Novell, Sun java desktop system, Mandrake,Ubuntu以及未列出的Linux2.2/2.4/2.6核心的作業系統及對應的64bit作業系統(如果存在的話)。當然還包括Novell Netware,Sun Solaris,DOS,BSD*作業系統。

在建立作業系統時,可以指定作業系統(虛拟的)運作的虛拟硬體環境,如下圖所示:

例如記憶體,硬碟,光驅,網卡,USB控制器,聲霸卡以及處理器個數等等。

同時,對于虛拟作業系統(guest系統),可以設定和主機的共享目錄,設定網絡連接配接方式(無網絡,隻和host系統連接配接,通路internet等),對虛拟作業系統進行某一時刻的snapshot,對運作的guest系統進行錄像/捕捉螢幕/儲存狀态/暫停/重新開機,在host/guest作業系統之間進行全螢幕的切換等等個性化的設定。

同時,對于虛拟作業系統,可以通過安裝VMWareTools進行網絡,顯示卡控制器,滑鼠,鍵盤等進行驅動的安裝,進而保持guest作業系統的可用性。

開發team中的一個使用者設定好虛拟機之後,可以通過clone的功能,分發給team内的其他成員使用,以保證環境的一緻性。

虛拟機軟體簡介

下圖顯示了一個運作在windows作業系統中的RedHat Linux作業系統。

虛拟機軟體簡介

VMWare Workstation的優點是作為商用軟體的穩定性和安全性,同時功能相對強大,并且提供了多平台的版本(Windows/Linux),而guest作業系統也是多平台的作業系統。

缺點自然就是它不是Free軟體或者開源軟體。并且不提供Community的版本。幾百美元對于普通的開發人員還是有些昂貴。

VMware Workstation 6.5 for Windows/Linux: $189.00

VMware Workstation 6.5 for Windows/Linux 5 Pack: $899.00

VMware Workstation 6.5 for Windows/Linux 10 Pack: $1,690.00

3. Sun xVM

對于Sun的VirtualBox的介紹,就對其官方的介紹文檔進行一下翻譯吧。

無論是對于個人還是企業,VirtualBox都是功能強大的x86/AMD64/Intel64虛拟産品,它不僅僅對于企業來說性能豐富,性能高效,對于個人使用者來說,也是開源的唯一專業軟體。

目前,VirtualBox運作于Windows,Linux,Mac以及OpenSolaris系統,同時支援非常多的guest作業系統,例如Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7), DOS/Windows 3.x, Linux (2.4 and 2.6), Solaris and OpenSolaris, and OpenBSD等等。

VirtualBox被持續的開發,連續的釋出帶有新的功能的版本。VirtualBox是community産品,同時由Sun公司來保證其專業性。

下圖顯示了一個運作于Sun VirtualBox中的CentOS作業系統。

虛拟機軟體簡介

(Windows上的CentOS)

虛拟機軟體簡介

(Fedora上的Ubuntu)

VirtualBox同樣可以在設定guest系統運作的硬體環境,host/guest作業系統之間進行全螢幕/無縫/自動調整螢幕,進行快照操作,設定共享目錄,随時insert/release CDROM,安裝各種驅動程式,設定網絡連接配接模式,其支援的guest作業系統的分類比VMWare更加的詳細主要展現在Linux和Solaris作業系統,設定硬碟分區的個數等等。

VirtualBox最大的優點還是在于其開源性,使用者不僅可以使用免費的軟體,設定可以通過svn擷取整個項目的source:svn co http://www.virtualbox.org/svn/vbox/trunk vbox。

其次,多平台,多guest作業系統平台,豐富的虛拟機功能也是其優點。

4. Microsoft VirualPC

微軟公司的VirtualPC是一款guest作業系統隻能為windows作業系統的虛拟機軟體。對于建立的guest作業系統,可以進行的設定選項包括:記憶體,硬碟,CD/DVD-ROM,COM接口,LPT接口,網絡服務,聲霸卡,滑鼠,共享目錄,顯示模式等。和其他的虛拟機軟體不同的是,Microsoft Virtual PC可以設定多個虛拟機網絡擴充卡,相當于有多塊虛拟網卡。

如下圖所示,一般網絡的設定包括(不使用網絡,僅本地連接配接,僅通路主機的網絡,Internet網絡,共享網絡等幾種)。

虛拟機軟體簡介

同樣,VirtualPC也包含全螢幕切換,加載光驅,安裝guest作業系統的裝置驅動等功能,但是相對前面介紹的兩種,其功能相對較少一些。

虛拟機軟體簡介

由于本身隻能運作于Windows作業系統中,是以軟體的相容性很好,滑鼠的內建(在host和guest系統中跨躍時的連續性等)也比較好。

但是相對于VMWare和VirtualBox,VirtualPC隻能運作于Windows作業系統,并且其guest作業系統隻能為windows作業系統,是以應該說是為windows軟體開發人員設計的虛拟機軟體。同時,作為商業軟體,普及到一半使用者的幾率相對較小。

5. Xen

“Xen采用開放式的開發模型,支援工業标準的管理API;同時我們與安全社群建立了緊密的關系,確定hypervisor的安全性。這使得Xen繼續領先于那些封閉開發的私有hypervisor産品。” - Ian Pratt,Xen創始者與Xen.org創始者

提高伺服器利用效率、整合伺服器資源、降低管理複雜性和整體擁有成本(TCO – Total Cost of Ownership),是企業選擇伺服器虛拟化的主要推動因素。Xen® hypervisor是目前最快和最安全的整體架構虛拟化解決方案,它支援主流的客戶機作業系統,例如Windows®、Linux®、Solaris® ,以及BSD作業系統的不同版本。

在Xen虛拟化架構中,一個纖薄的軟體層(Xen hypervisor)取代了原有運作在伺服器和桌面機上的作業系統。這個軟體層很好地抽象了實體資源,有效地将作業系統(以及運作其上的應用程式)和下面的實體伺服器剝離開,進而允許一台實體伺服器上同時運作一個或多個虛拟伺服器。

Xen hypervisor是一項獨一無二的開源技術,由Xen開源社群和來自于50多個公司的工程師共同開發。這些公司提供富有創新性的資料中心解決方案,包括AMD、Citrix、Dell、Fujitsu、HP、IBM、Intel、NEC、Novell、Red Hat、Samsung、SGI、Sun、Unisys和許多其它的業界領先者。Xen采用了GNU通用公共許可證(GPL2),在源代碼和目标格式的使用上不需要付費。Xen将來也會一直采用開源模式,繼續整合業界和Xen相關資源,加速虛拟化技術在企業中的普及。

Xen的設計理念結構如下(其實也是虛拟機系統的通用理念):

虛拟機軟體簡介

[筆者按:真是慚愧,Xen開源社群和50多個公司,那些公司中有美國,歐洲,日本,南韓,唯獨沒有中國的企業,不知道中國的IT巨頭們在想什麼。提起這個,筆者還有一點氣,就是在現在開源軟體的時候,或者大型的Linux開源作業系統時,一般主站都會分布鏡像站點,中國多數時候隻有北京或者上海交通大學有那麼一個鏡像站點(校内網/人人網還有個Apache的鏡像呢!),而僅僅一個台灣省差不多有點名氣的大學都會有鏡像站點。日本的鏡像站點也很多,很多時候一找Asia,就隻能找到日韓和中國的台灣省了,不知道中國的相關資訊産業委員會的滿腦子漿糊的人在想什麼]

另外就是Xen大會将于2009年在中國上海召開,點選這裡更多資訊。

虛拟機軟體簡介

由于筆者手頭沒有Linux的整機作業系統(虛拟機倒是一大堆,但是虛拟機裡面再套虛拟機,記憶體如果有8G,我就做一個),關于Xen的圖檔從網上貼一個吧:

虛拟機軟體簡介

6. 比較

比較項目 VMWare Sun VirtualBox Microsoft VPC Xen
開源? X X
跨平台? X X (僅Linux)
虛拟機檔案個數 多個檔案 單一檔案(vdi) 兩個檔案(配置+vhd)
獲得某一時刻的快照 X X X
guest系統種類 L/W/S L/W/S/I L/W/S
安裝虛拟機工具(裝置驅動程式) X X X X
host/guest的平滑切換 X X X X

自定義的

CTRL+ALT+DELETE

(guest:windows)

X X X

L: Linux, W: Windows, S: Solaris, I: IBM OS/2

7. 小結

本文主要介紹了VMWare,Sun VirtualBox,Microsoft VirtualPC以及Xen等虛拟機軟體,當然還有一些沒有介紹的虛拟機軟體(商業的/非商業的),之是以介紹VMWare和MPC這兩種商業軟體,是因為它們都有使用版本可以使用,如果隻做短期的測試,是可以使用的。

IBM,HP自己有作業系統(z Series system, s Seriers system, HP-UX...)也有各自作業系統的虛拟機,但是都是商業的虛拟機。

另外,還有一種提供使用版本的是Parrallels虛拟機系統。但是其試用期非常短,隻有14天,筆者申請的激活碼如下:

Your trial activation key is listed below:

PRODUCT : Parallels Desktop 4 for Windows and Linux

ACTIVATION KEY : GW8KX2-ENJN1P-C02H11-M8DYGK-TMVFE0

START DATE : 2009/10/19

END DATE : 2009/11/01

To download Parallels Desktop 4 for Windows and Linux, please visit Parallels Download Center at

詳細的虛拟機軟體(OS級别) 請參考虛拟機軟體比較。

x.參考資料

VMWare: http://www.vmware.com/

Microsoft VPC: http://www.microsoft.com/windows/virtual-pc/default.aspx

Sun VirtualBox: http://www.virtualbox.org/

Xen: http://www.xen.org/

Xen Intro by creator: http://www.xen.org/files/Marketing/XenBrochure_Q12009_chn.pdf

VirtualMache Wiki: http://en.wikipedia.org/wiki/Virtual_machine

VM comparison Wiki:

http://en.wikipedia.org/wiki/Comparison_of_platform_virtual_machines

繼續閱讀