Xen:Linux 虛擬機器軟體

作者:徐秉義(Albert Hsu)

本文主要介紹 Xen:一種使用在 Linux/Unix 系統下「虛擬機器(Virtual Machine)軟體」。

虛擬機器(Virtual Machine):將實體機器作虛擬化的動作,藉由軟體的模擬,使得一台實體機器能夠運行起來像是好多台電腦一樣,而「虛擬出來的機器」對於一般使用者來說,除非特別去調查,與「一般其他的實體機器」並不會感受到太大的差別。

底下列出一般常見的虛擬機器與其用途,提供參考:

 

功能範例
模擬早期電動玩具機台任天堂、PlayStation、大型電玩 等等電玩模擬器
用來執行跨平台應用程式Java 與 .NET 虛擬機器
模擬 x86 主機VMware 與 Xen 虛擬機器軟體

Xen 架構

了解虛擬機器概念後,接著來談到我們的主角:『Xen』

現階段主要運行於 Linux/Unix 系統的 Xen 虛擬機器,是一個注重效能的平行虛擬化(Paravirtualization)系統,雖然說 Xen 能夠運行在許多 Unix/Linux 系統,但因為考量介紹 Xen 系統的方便性,以下主要以當紅的 Linux 作業系統來探討 Xen。

要使得 Linux 支援 Xen 必須從 Linux Kernel 來做改造,也就是要重新編譯 Linux Kernel,重新編譯 Linux Kernel 聽起來似乎不是一件簡單的事情,所幸許多 Linux Distribution 已經將支援 Xen 的 Linux Kernel 編譯好囉,所以我們只要直接使用 Xen 的 Kernel 來開機即可,另外要特別聲明 Xen Kernel 有兩種『Xen0』(Domain-0)與『XenU』(Guest 系統)。

Xen0

要跑 Xen 的實體電腦需先跑 Xen0 的 Kernel 以後,再以 Xen0 為基礎來執行多個 XenU Guest 系統於 Xen0 系統上,簡單說 Xen0 是全部 XenU 的母系統。

Note:意思是若 Xen0 故障損壞,會影響到所有的 XenU Guest 系統。

XenU

您可以同時運行『多個』XenU Guest 系統在一個 Xen0 的實體電腦上,且各個 XenU 系統是獨立並且不互相影響,意思是若其中一個 XenU 故障損壞亦不會影響到其他 Xen 系統。

Xen 示意圖

Xen 優點

相對其他的虛擬機器軟體來說,Xen 最大優勢在於『高效能』(High Performance),因為 Xen 採用 Paravirtualization 而不是使用模擬(Emulation)、全系統模擬(full system simulation)方式,所以能夠使得 Xen 系統效能優於其他虛擬機器軟體。

Tips:全系統模擬以 VMware 為例,是模擬 x86 PC,可以從 BIOS 開機重新安裝作業系統,缺點是「效能」上就比不上 Xen 使用 Paravirtualization 方式,優點是可以隨性安裝 Windows、Linux 或 FreeBSD 這一類 x86 的作業系統。

安全(Security)

XenU Guest 系統之間除了正常管道外(例如:ssh、vnc 或 NFS 這些網路服務等等),是無法互相影響彼此安全性,若是 Xen0 有著多張網路介面卡,Xen 系統甚至能夠使得 XenU 使用獨立網路卡(限制 XenU 無法使用所有的網路卡),而且某個 XenU 若是故障損壞了,也不會使得其他的 XenU 或 Xen0 故障。

Note:注重系統安全是虛擬機器基本功能之一。

Xen 缺點

說到 Xen 缺點應該算以『不能執行 Windows 作業系統』這個問題最大,原因還是在於講求效能的 Xen 採用 Paravirtualization 虛擬技術必須更改 Windows Kernel 才能執行 Windows Guest 系統,當然 Windows 並沒有提供我們來更改。

不過另外有個好消息,由 CPU 大廠 Intel 提供 VT 技術(Virtualization Technology),使得虛擬機器軟體(例如 Xen、VMware)透過「全虛擬」動作來運行許多不同的 x86 作業系統,使得 Xen 藉由 Intel VT 作『全虛擬』在不修改 Windows 核心下,也能跑 Windows Guest 系統。

使用 Intel VT 技術的另一個重點是:以往在沒有 Intel VT 技術時,全虛擬 Guest 系統效能低落,藉由 Intel VT 技術,可使 Guest 系統存取硬體效能更加快速與直接,大大增進 Guest 系統效能與可用度。

Note:與 Intel 同為 CPU 大廠之一 AMD 也推出類似的技術名稱為『Pacifica』。

Xen 與同性質軟體比較

與『Xen』類似的虛擬機器軟體較知名有「VMware」、「微軟 Virtual PC 與 Virtual Server」與「Parallels Workstation」

Xen 採用 Paravirtualization 方式,主要是她主推效能至上,也就是以效能見長。而其他採用全虛擬方式(例如 VMware、Parallels Workstation)虛擬機器,主要是可以執行任何 x86 作業系統,所以是以相容性見長。而微軟 Virtual PC 官方網站說明只支援 Windows 系列 Guest 系統,故比較封閉。

Note:全部 x86 的虛擬機器系統,皆期待 CPU 廠商「Intel VT」與「AMD Pacifica」技術來提昇虛擬出來的 Guest 系統效能,屆時虛擬機器軟體會支援以上兩項技術,應該會大大提高虛擬機器技術的實用性。

Xen 系統實戰演練

硬體準備及基本需求

一台個人電腦,搭配最少需『超過』512 MB 記憶體(256 MB 給 Domain-0 的 Xen0 使用、256 MB 給 test 的 XenU 使用),特別注意因為 Linux Kernel 啟動時會使用部份記憶體,導致若剛好 512 MB 記憶體會無法安裝 XenU Guest 系統(記憶體不足 256 MB)建議記憶體 768 MB 以上。

磁碟空間建議使用 20GB 以上硬碟。測試期間最大磁碟用量為:「2 個 Fedora core 5 完整安裝」+「Fedora Core 5 安裝來源檔案」(2 x 9G + 3G = 21G 左右)

「Fedora Core 5 安裝來源檔案」是使用於網路安裝 XenU Guest 系統。

Note:當您使用 Xen Kernel 時,每個 Fedora Core 5 最少需要 256 MB 記憶體才能夠正常啟動,此與 Fedora Core 5 預設最低需求 128 MB 不同。

Tips:避免使用完整安裝,以減少安裝時所花費的測試時間。

下表為筆者此次測使所使用硬體規格表:(可以同時啟動一個 Xen0 與兩個 XenU)

 

CPUPentium 4 1.6 GHz
記憶體1024 MB
硬碟40G
網路介面一般網路卡

Note:筆者測試環境有 DHCP 伺服器能夠提供 Xen0 與 XenU 的 IP 設定,若是讀者測試環境沒有 DHCP 伺服器也沒有關係,只要將 Xen0 與 XenU 的 IP 設定成同網段(NetID)能夠互相連線即可,例 Xen0 192.168.2.2/24、XenU 192.168.2.3/24(24 的意思是 255.255.255.0)。

Tips:另外筆者測試環境還有 DNS 伺服器能夠提供 Xen0 與 XenU 的主機名稱解析,若是讀者測試環境沒有 DNS 伺服器也沒有關係,只要將底下範本使用主機名稱的部份,將之改成 IP 即可,以下筆者此次主機名稱與 IP 的資訊。

 

Xen主機名稱IP/Mask
Xen0r7-101.ol172.16.7.101/16
XenUr5-148.ol172.16.5.148/16
XenUr6-135.ol172.16.6.135/16

軟體準備

Fedora Core 5 安裝光碟共五片,DVD 版本也可以。

操作開始-建置 Xen0

第一步:以標準步驟安裝 Fedora Core 5

使用光碟開機後開始安裝 Fedora Core 5,大多使用預設值按下『下一步』,在軟體選擇方面可省略「Office and Productivity」(辦公與出版)軟體,以此方式安裝好 Fedora Core 5 大約使用 2GB 左右磁碟空間。

Note:安裝期間語系選擇「中文」或「英文」並不會影響到 Xen 測試。

Tips:安裝時期關於『Firewall』、『SELinux』設定皆使用預設值即可,需注意有些早期版本 Xen 必須關閉 SELinux 才能運作(例如 Fedora Core 4)若使用 Fedora Core 5 則不需要關閉 SELinux,防火牆的部份可以在有需要關閉時才關閉即可。

安裝畫面

第二步:安裝 Xen 相關軟體

Xen 相關軟體有三個,列表如下:

 

軟體名稱主要功能測試版本號碼
xenXen 工具套件xen-3.0.1-4.i386.rpm
kernel-xen0Xen Domain-0 核心kernel-xen0-2.6.15-1.2054_FC5.i686.rpm
kernel-xenUXen Guest System 核心kernel-xenU-2.6.15-1.2054_FC5.i686.rpm

以上雖然列出三個與 Xen 相關的套件,事實上若作為 Xen0 系統只需安裝 xen 與 kernel-xen0 套件,操作如下:

在 Xen0 主機(筆者的為 r7-101.ol 主機)使用指令「rpm -ivh xen-3.0.1-4.i386.rpm bridge-utils-1.0.6-1.2.i386.rpm sysfsutils-1.3.0-1.2.1.i386.rpm」來安裝 xen 套件。

Note:xen 套件相依 bridge-utils 與 sysfsutils 套件,請一併安裝。

接下來使用指令「rpm -ivh kernel-xen0-2.6.15-1.2054_FC5.i686.rpm」來安裝 kernel-xen0 套件。

Tips:Fedora Core 5 套件都放在光碟片 Fedora/RPMS 目錄中。

Note:作為 XenU 系統只需安裝 kernel-xenU 稍待會在 XenU 建置過程中自動安裝。

安裝 xen 套件圖檔

第三步:使用 Xen0 核心開機

重開機於 GRUB 選單下,於秒數尚未讀完前,按方向鍵『上下鍵』,會發現多一個選擇,即『Xen0 核心開機』選項。接下來選擇『Xen0』核心開機。

特別注意:筆者嘗試三台電腦,有兩台電腦使用 Xen0 核心開機都會卡在「Checking for hardware changes」(檢查硬體變更)猜測是此版 Xen0 臭蟲,或許更新到新版 Xen0 可解決這個問題。筆者的解決方法是先換回原本預設核心開機後,輸入指令「chkconfig kudzu off」關閉開機硬體檢查的動作後,再度重新開機使用 Xen0 核心即可。

Note:「Checking for hardware changes」動作是由『kudzu』這個服務啟動。

關閉 kudzu 圖檔

第四步:設定開機預設使用 Xen0 核心(建議)

已經使用 Xen0 核心正常開機成功後,建議您將開機預設值改成使用『Xen0 核心』。使用指令「vim /boot/grub/menu.lst」修改 GRUB 設定檔案,將「default=1」改成「default=0」。

Tips:GRUB 設定檔 menu.lst 的 default 參數若是 0 代表第一個 title(Xen0 核心)、若是 1 代表第二個 title(Fedora Core 5 預設核心)。

進階學習:您可使用指令「uname -a」來確認正在使用的核心版本號碼。

GRUB 圖檔

準備 XenU 之網路安裝伺服器

Fedora Core 5 安裝 XenU Guest 系統已支援從 anaconda 安裝(「anaconda」是 RedHat、Fedora 預設使用的圖形安裝程式),接下來使用網路安裝(透過 NFS、HTTP、FTP)我們會先將安裝來源(也就是光碟片內容)放在 Xen0 主機,透過網路來安裝 XenU Guest 系統,以下為準備網路安裝伺服器步驟。

Note:網路安裝一般使用 NFS、HTTP、FTP 通訊方式來傳輸,以下步驟以 NFS 為例。

第一步:將安裝光碟內容拷貝至主機硬碟

筆者的作法是將光碟內容放至 Xen0 主機硬碟「/FC5src」目錄下

使用指令「mount /dev/cdrom /mnt」掛載光碟片至 /mnt 目錄下

使用指令「mkdir /FC5src」製作目錄

使用指令「cp -r /mnt/* /FC5src」將資料拷貝過去

使用指令「eject」將光碟退出

Note:使用一般 CD 當安裝來源需將一至五片皆拷貝到硬碟,若是使用 DVD 則一片即可。

進階學習:若我們使用一般 CD 當安裝片(非 DVD 片)時,主要是把第二、三、四、五光碟內 Fedora/RPMS 目錄下的套件都整合到硬碟內同一個 Fedora/RPMS 目錄下。

Tips:CD 裝置代號可能不同,請正確輸入裝置代號名稱(例 /dev/cdrom)。

拷貝安裝來源圖檔

第二步: 修改 NFS 設定檔 /etc/exports,啟動 NFS 服務,關閉防火牆

修改「/etc/exports」加入一行「/FC5src」

使用指令「/etc/init.d/nfs start」來啟動 NFS 服務。

使用指令「/etc/init.d/iptables stop」來關閉防火牆服務。

Note:上例 NFS 設定是將 /FC5src 目錄分享給所有主機皆唯讀。

Tips:此刻關閉防火牆是因為接下來安裝 XenU 時 NFS 服務會被防火牆所阻擋住。

進階學習:若是要開啟 NFS 服務且仍需使用防火牆的話,需將 NFS Daemon 所使用 port 號固定後,再調整防火牆相關設定即可。

nfs 圖檔

開始安裝 XenU

在 Fedora Core 5 安裝 XenU Guest 系統採「直覺化」設計,幾乎可以 Step By Step 完成安裝,並且不像以前(例 Fedora Core 4)需要透過 Internet 來安裝,Fedora Core 5 只需要自行準備安裝伺服器即可(也就是先前步驟所建立之安裝伺服器)。

第一步:使用指令「xenguest-install.py」開始安裝 XenU Guest 系統

問題一 What is the name of your virtual machine?(您的虛擬機器名稱)

回答一 test

Note:此時回答「test」會成為設定檔檔名,之後使用虛擬機器相關命令亦是會用到這個名稱。

問題二 How much RAM should be allocated (in megabytes)?(此虛擬機器使用多少記憶體,使用 MB 作單位)

回答二 256

問題三 What would you like to use as the disk (path)?(虛擬機器所使用磁碟位於那裡)

回答三 /root/test.iso

Note:檔案名稱不一定要使用『.iso』結尾,檔案擺放在那裡請自行記住。

問題四 How large would you like the disk to be (in gigabytes)?(虛擬機器磁碟大小,以 GB 為單位)

回答四 9

Note:以上兩個動作會在 /root/test.iso 產生一個 9 GB 的檔案,然後成為 XenU 之 /dev/xvda 磁碟裝置

問題五 What is the install location?(安裝來源位於那裡)

回答五 nfs:172.16.7.101:/FC5src

Note:172.16.7.101 是 Xen0 主機 IP 位址,也就是安裝伺服器 IP 位址。

進階學習:除了 NFS 提供安裝時所需資料來源,還可以使用 HTTP 與 FTP 方式(但仍需準備好安裝伺服器),NFS、HTTP 與 FTP 輸入格式列表如下

NFSnfs:my.nfs.domain.com:/path/to/src/
HTTPhttp://my.http.domain.com/path/to/src/
FTPftp://my.ftp.domain.com/path/to/src

py 圖檔

第二步:選單模式基礎設定

此時 test 已經由 XenU Kernel 開機

選擇「English」或「Chinese(Traditional)」語系(Language)

選擇「us」(美式)鍵盤

設定好 IP 位址(筆者使用 DHCP 來設定網路,讀者請依照您測試環境來作調整)

選擇「Start VNC」啟用 vnc 安裝模式,接著選擇「No password」

會看到如下一段文字:

The VNC server is now running. 
Please connect to 「IP 或是主機名稱」:1 to begin the install...
Starting graphical installation...

Note:上述文字中第二行「IP 或是主機名稱」:1 請先記下來,待會使用 vncviewer 時會用到。

Tips:以上設定方式通稱「menu」(選單)模式,此時無法使用滑鼠來點選按鈕,請善用「Tab 鍵」、「空白鍵」與「Enter 鍵」來控制與設定。

VNC 安裝圖檔

第三步:使用 vncviewer 來執行 anaconda 程式

在 Xen0 主機圖形介面下,使用指令「vncviewer 172.16.5.148:1」來繼續 anaconda 程式。

之後安裝方式大致上與一般 Fedora Core 5 無異,只是會遇到切割「xvda」磁碟時,需回答『Yes』(是)才能繼續安裝。

Note:若是讀者發現沒有 vncviewer 指令,大概是 vnc Client 工具還沒安裝到系統,使用指令「rpm -ivh vnc-4.1.1-36.i386.rpm」,將 vnc 套件裝起來即可使用 vncviewer 指令。

切割 xvda 圖檔

安裝完 Xen0、XenU 系統之操控

在安裝完成 XenU 後,接下來需要學會一些基本控制,一般來說是在 Xen0 主機使用 xm 相關指令來操控。

xm 工具使用介紹

使用指令「xm help」來觀看 xm 有那些參數

使用指令「xm list」列出正在執行的 Xen0 與 XenU

使用指令「xm console test」連接到 test 的 XenU 終端機

使用指令「xm shutdown test」使 test 的 XenU 關機

使用指令「xm create -c test」使 test 的 XenU 開機

(-c 順便連接到 test 的 console)

使用指令「xm mem-set 4 266」來調整 test 的 XenU 記憶體設定成 266 MB

使用指令「xm top」來觀察 Xen0 與 XenU 程序管理

Note:以上用於指令中的 test 皆可使用 Xen Domain ID(圖示中的 test XenU 之 ID 先前為 3 之後 4)

xm 圖檔

使用 ssh 「X11 forwarding」來使用 XenU 圖形介面

若只是使用 xm 工具則只能使用 Command 模式來使用 XenU Guest 系統,若要使用圖形模式來使用 XenU Guest 系統的話,可以應用 X11 forwarding 功能,這種方法比較適合用於 Linux/Unix 這些使用 X Window 的作業系統操控,使用「ssh -X user@hostname」來連結到 XenU Guest 系統,之後就可以執行圖形程式顯示到您的圖形介面上。

Note:這 X11 forwarding 需要 ssh Daemon 與 ssh Client 皆同意才可以運行。

進階學習:這是 X Window 系統與 ssh 程式結合運用的方法,X Window 相關程式還有 xauth、相關檔案為 ~/.Xauthority。

Tips:eog 是 GNOME 程式「Eye of GNOME」。

sshX 圖檔

使用 vnc 來使用 XenU 圖形介面

方才使用「X11 forwarding」方式較適合用於 Linux/Unix 的 X Window 系統,若是使用 Windows 系統,使用 vnc 方式來連線居多。

vnc 採用 Client/Server 架構,所以兩台主機分別要安裝 vnc Server 與 vnc Viewer 程式,若要啟動 XenU Guest 系統上的 vnc Server,請先在 XenU Guest 系統執行 vncpasswd 設定好 vnc 通行密碼後(六碼以上),再使用指令「vncserver」來啟動 vnc Server。

至於 vnc Client 端這邊,使用指令「vncviewer ServerIP或主機名稱:1」連線上去並輸入 vnc 通行密碼來連線到 XenU Guest 系統。

vncserver 與 vncviewer 皆可跑在 Linux、Windows、MAC OS X 與 FreeBSD 這些常見作業系統。

Tips:XenU Guest 系統上的 Firewall 預設會擋到 vncserver 連線,可使用「/etc/init.d/iptables stop」來停止 Firewall,若是對防火牆設定較熟悉,您也可以設定防火牆特別允許 vncserver 連線。

進階學習:預設啟動的 Window Manager 為「twm」,一般人不大容易習慣此 Window Manager 的操作方式,若要修改預設啟動的 Window Manager 請開啟 vnc Server 主機上的 ~/.vnc/xstartup 檔案,找到 twm 修改成您喜好的桌面環境,記得使用指令「vncserver -kill :1」來停止 vnc Server 後,再使用指令「vncserver」重新啟動 vnc Server。

twmTab Window Manager
startkdeK Desktop Environment(KDE)
gnome-sessionGNOME Desktop Environment

Note:Fedora Core 5 預設值沒有安裝 KDE,需要請自行安裝(或加裝)。

Note:在 vnc Server 看到「:1」的意思是 vnc Server 聆聽(LISTEN)連接埠 5801 提供 vnc Client 使用 vncviewer 存取,同時間也聆聽連接埠 5901 提供客戶端使用瀏覽器存取(瀏覽器必須搭配使用 JAVA 虛擬機器),若再啟動一個 vncserver 就會變成「:2」,使用 5802 與 5902 連接埠依此類推。

Note:vnc 應用相關說明請見官方網站「http://www.vnc.com/」,Windows 的 vnc 程式也是在此下載。

vnc 圖檔

vncviewer 圖檔

進階議題

其他支援 Xen 的 Linux Distribution

除了 Fedora Core 5 之外,許多 Distribution 都支援 Xen 系統,只是 Fedora Core 5 使用 anaconda 安裝 XenU 更加直覺化架設 Xen 系統,其他像是 Unbuntu、Novell SuSE、Gentoo 與 Debian 也都支援 Xen 系統架設。

多重開機變成同時開機

以往在同一台電腦安裝兩個以上的 Linux 都只能同時間運作一個,藉由 Xen 技術,我們能夠同時運作兩個以上的 Linux 於同一台實體電腦,若是硬體規格較高還可以一台電腦當做好幾台用,商用上可以節省不少硬體費用。

也可以使用單獨 device 來當 XenU 磁碟

之前我們使用單一檔案 /root/test.iso 來當作 XenU 的硬碟,若是讀者有多顆硬碟,也可以使用單獨的磁碟(或磁區)來當作 XenU 的硬碟,只要在當初建置時的問題三回答方式不一樣即可,例如:

問題三 What would you like to use as the disk (path)?(虛擬機器所使用磁碟位於那裡)

回答三 /dev/sdb

這樣 /dev/sdb 裝置就成為 XenU 所使用的磁碟了。

Note:此法要很小心使用,否則會造成資料遺失喔(位於 /dev/sdb 的資料會遺失)。

使用裝置當磁碟圖檔

XenU 設定檔案介紹

XenU 設定檔預設放在 /etc/xen/ 目錄下,通常使用 Domain 名稱來當作檔名,例如我們之前使用 xenguest-install.py 建立 test 的 XenU Guest 系統,所以 test 的設定檔就是 /etc/xen/test ,內容簡介如下:

# Automatically generated xen config file
name = "test"
memory = "256"
disk = [ 'file:/root/test.iso,xvda,w' ]
vif = [ 'mac=00:16:3e:2d:d1:89' ]
bootloader="/usr/bin/pygrub"

on_reboot   = 'restart'
on_crash    = 'restart'
參數名稱中文解釋
nameXenU Domain 名稱
memory使用記憶體數量(MB)
disk使用硬碟
vif網路卡 MAC 地址

進階學習:使用指令「man xmdomain.cfg」參考說明。除了使用「xenguest-install.py」指令來建立 XenU Guest 系統外,另外您也可以自行編寫設定檔案來啟用 XenU Guest 系統或是自行使用指令模式來安裝 XenU Guest 系統。

Tips:py 是程式語言「python」縮寫,先前「xenguest-install.py」scripts 程式也是使用 python 所撰寫。xvda 是 Xen Virtual Disk A 意思,以別於我們一般 hda 或 sda 磁碟。

設定開機自動啟動 XenU Guest 系統

若是您將設定檔案放到『/etc/xen/auto』目錄下,這樣子就可以使用指令「/etc/init.d/xendomains start」來啟動位於 /etc/xen/auto 目錄下的 XenU Guest 系統。若再配合指令「chkconfig xendomains on」就可以使得位於 /etc/xen/auto 目錄下的 XenU Guest 系統於開機時自動啟動。

Note:xendomains 這個服務於 Fedora Core 5 在安裝 xen 套件時就設定成開機自動啟動。

自動啟動 XenU 圖檔

混用不同版本的 Xen0 與 XenU

在先前的測試中,我們使用同一版本 Xen0 Kernel 與 XenU Kernel 能夠運作 Xen 系統,至於是否能夠使用不同版本的 Xen0 與 XenU 呢?筆者的測試結果是失敗了,這只是筆者簡單的測試,至於真實可行性還未知。

筆者簡述測試過程如下:使用 FC5 Xen0 Kernel 配合 FC4 XenU Kernel 開機失敗,但使用 FC5 Xen0 Kernel 配合 FC5 XenU Kernel 卻使用 Fedora Core 4 應用程式(也就是 Fedora Core 4 安裝好只是將 Kernel 換成 FC5 XenU)能夠啟動,所以猜測 Xen 主要與 Kernel 較息息相關。圖為同時啟動兩個 XenU 一個是 Fedora Core 5 應用程式、一個是 Fedora Core 4 應用程式的情形。

不同版本核心圖檔

Xen 應用範疇

Xen 又是一個從大型系統技術轉戰到 Linux 的一個案例,以往只能在大型主機見到的虛擬機器系統,拜硬體技術日新月異所賜,使得 x86 PC 也有機會實際成為商用虛擬機器系統,說到商業用途,以下列舉一些可以將虛擬機器技術實際應用的案例。

多平台測試機:

許多軟體開發公司及人員,經常會需要許多不同作業系統或不同軟體版本,來測試他們開發的軟體,此時很有可能使用「多重開機」的作業方式來完成,像是切換到不同的 Windows 例如 Windows 2000、Windows XP 或 Windows 2003,若是切換不同 Linux Distribution 版本更是多到不勝枚舉,以前需要切換的多重開機系統,透過虛擬機器技術,搖身一變成「同時開機」系統,可簡化測試流程與時間。

伺服器應用:

有些時候因為應用程式需求,而必須使用不同作業系統,此時若單一系統上的應用程式必須執行但是卻不需要大量系統資源時, 使用虛擬機器來運行此應用程式不僅可以省下一台電腦硬體費用,還可以節省伺服主機擺放空間,亦可節省電費,尤其當伺服主機是放在寸土寸金的都市精華地帶或 ISP 業者 Co-Location 時,節省出來的經濟效益會是相當可觀。

快速的備份與還原作業系統:

重新安裝一個 Guest 系統(或是一般的作業系統)其實是蠻浪費時間的,藉由虛擬機器技術,我們可以很快速的備份 Guest 系統,只要在離線(Guest 系統關機)時備份所使用的磁碟檔案(例如 test.iso)即可,不論是依照既有 Guest 系統快速複製另一個 Guest 系統,或是還原之前備份的 Guest 系統,都會比重灌快多了,這樣一來就不會常常花時間在重灌作業系統上。

 

Valid XHTML 1.0! Valid CSS! Get Firefox

Creative Commons License
This site is licensed under a Creative Commons Attribution 2.5 Taiwan License.