?

用戶怎樣選擇虛擬化解決方案

2009-12-17 08:40
網絡與信息 2009年12期
關鍵詞:指令虛擬化客戶端

方 案

目前服務器領域最熱門的新技術之一就是虛擬化,虛擬化技術能允許用戶在一臺服務器上安裝一個或者多個操作系統的多重實例。這項技術對于那些工作負載不大的服務器來說尤其適用,因為它取代了為所需的操作系統上的每個實例配置一臺單獨的物理服務器的傳統方式。然而我們現在面臨許多不同的虛擬化選擇,在相互競爭爭奪這塊市場。本文意在闡明對虛擬化各種可能性的看法,你也可以從中了解如何安裝Ubuntu服務器來實現虛擬化。

一、了解虛擬化

你將會了解到有關虛擬化的不同解決方案,我們會對兩種主要的虛擬化途徑進行深度解析:即全虛擬化和半虛擬化。目前市場上有很多虛擬化解決方案,其中有三種解決方案尤其重要:即VMware、Xen、KVM(Kernel平臺上的虛擬機)。

對于其他的解決方案,你經常無法在數據中心尋覓到它們的蹤跡。因為其他的虛擬化解決方案都存在很多的局限性,諸如缺乏必要的技術支持,在虛擬機上安裝的操作系統的選擇限制,使用過程中嚴重的性能不足等。出于以上原因的考慮,我們對這些解決方案忽略不計。

在這三個重要的虛擬化技術中。VMware公司是目前市場上的領軍人物,原因可能是源于它為多個不同操作系統的虛擬化提供了~套商用解決方案。在數據中心中應用的最重要的VMware版本是VMware ESX虛擬化管理程序,它提供了一套結臺了Virtual MachineManager的Linux kernel。如果你想將VMware ESX作為虛擬化平臺使用,你就必須在VMware虛擬化環境中通過將Ubuntu服務器作為虛擬化客戶端操作系統的方式來實現。目前還沒有辦法能將VMwareESX與Ubuntu服務器結合起來共同作為虛擬化主機平臺使用。

提示:在Xen社區,在我們討論操作系統時通常避免使用“主機”、“客戶機”這樣的詞匯。不過為了更加清楚地對虛擬化進行解析,我在隨后的定義中還會繼續使用這樣的詞匯來描述。主機就是提供虛擬化服務的物理服務器,主機可能會也可能不會運行特定的操作系統來提供這些服務??蛻魴C是指沒有任何與虛擬化有關職責的虛擬機。

在虛擬化領域位居第二把交椅的是KVM,它們在Linux kernel上提供虛擬化支持。如果你要使用KVM,你需要運行Linux操作系統的kvm Ko kernel模塊,一個提供嵌入式虛擬化支持的中央處理器,當然還有支持KVM虛擬化的kernel(2.6.20 kernel是第一款支持虛擬化的Linux kernel)。要想創建KVM虛擬機,你需要使用,dev/kvm界面和QEMU程序的修訂版。QEMU最初是作為開源虛擬化產品研發的,但它并不十分成功。不過它的自帶工具卻非常有用,QEMU工具和解決方案在KVM和Xen虛擬化環境中廣泛使用。目前KVM的虛擬化主機能支持多數操作系統,能在同樣的處理器體系架構上運行。

Linux虛擬化市場上第三個主角是Xen,它在劍橋大學作為一項研究計劃開始發展起來。Xen的核心組件是它的管理程序,管理程序層使創建虛擬機成為可能。當使用虛擬機主機時,管理程序取代常規的Linux kernel(它在Xen管理程序之后進行裝載)。Xen是目前供Linux操作系統使用的最佳虛擬化平臺之一,這主要是因為它有強大的開發者社區作為支持,這個社區包括硬件廠商(諸如英特爾公司、惠普公司和AMD公司)和軟件廠商(諸如NOVELL和紅帽公司)。自Ubuntu服務器7 10發布之后,Ubuntu服務器成為Xen主機虛擬化平臺一個強有力的選擇。

二、虛擬化的途徑

Xen和KVM這兩種虛擬化解決方案都能提供兩種途徑的虛擬化方式:全面虛擬化和部分虛擬化。在創建虛擬化解決方案之前,你需要先了解一下這兩種虛擬化途徑的不同之處。

1半虛擬化

半虛擬機需要一個客戶端操作系統的修訂版,這個修訂版產生的指令能相對容易地被管理程序處理。這個管理程序是能夠破譯虛擬化指令并將它們傳遞給物理硬件的組件。因為操作系統能在部分虛擬化中產生修訂指令,因此對于虛擬化而言它也是最有效的途徑。這些修訂指令意味著虛擬機管理員不再需要按照虛擬化環境中的格式更改虛擬機的常規指令。部分虛擬化也不需要任何特定的硬件,不過它最大的劣勢在于它需要客戶端操作系統的一個特定的修訂版。出于競爭的需要,一些操作系統(諸如Windows操作系統)都不提供這樣的版本。

2全虛擬化

相對部分虛擬化而言的另外一個選擇就是全虛擬化,它能允許用戶使用常規的、無需修訂的操作系統來作為客戶端。但它需要特定的硬件支持,目前AMD公司和英特爾公司的中央處理器都能提供這種支持。因為這是一種服務器中央處理器中的嵌入式支持,全面虛擬機就能夠最大可能地提升工作效率。不過來自虛擬化操作系統的指令需要虛擬機管理人員自行破譯,因為客戶端操作系統對虛擬機沒有概念,只能產生常規指令。因此這可能會導致客戶端操作系統和硬件之間的虛擬化層產生問題。向中央處理器傳遞指令對虛擬化來說比較困難,特別是對于i386體系架構。因此要確保中央處理器的硬件虛擬化支持的性能代價不會太大。

三、哪種虛擬化途徑是最佳選擇?

看到這里,你可能會考慮這兩種虛擬化途徑哪種是你的最佳選擇。事實上。你不可能總是選擇到理想的解決方案。如果你的操作系統無法提供部分虛擬化支持,全面虛擬化就成為唯一可供選擇的方式。不過,如果你的中央處理器和操作系統都能提供虛擬化支持,那么最好選擇部分虛擬化的方式,因為虛擬化操作系統產生的指令對于虛擬化環境來說是最優的。采用這種方式,由于虛擬化而導致的性能損失也能降低到最小化。

如果你因為你的操作系統無法提供支持而不能采用部分虛擬化的方式,你可以檢查一下是否部分虛擬化驅動程序是可用的。這種驅動程序在很多情況下都能提供,它們能幫助提高特殊設備的性能,諸如你的網絡接口卡。不過通常情況下,你會發現全面虛擬化是你唯一的解決方案,因為你想虛擬化的操作系統沒有給你選擇的機會。如果是KVM虛擬化方案,對于完整的操作系統的部分虛擬化也無法提供支持。因此接下來我們假設有可以提供虛擬化支持的中央處理器。

提示:多數Pentium IV和至強處理器都能提供虛擬化支持。如果你對自己的中央處理器不能確認,只需檢查一下系統上的BlOS(基本輸入輸出系統)設置。如果可以支持虛擬化,BlOS將包含一個虛擬化選項。作為一個選擇,你也可以檢查中央處理中,Droc/cpuinfo文件的VMX標記,如果有這個標記,那就說明你的中央處理器能夠支持虛擬化。1使用KVM安裝虛擬機如果你的中央處理器能支持虛擬化,KVM虛擬化解決方案是最為簡便的使用方式(雖然它還只是剛剛發展起來)。在本文中,你會了解到如何將KVM虛擬主機進行部署,如何在KVM虛擬化環境中將Windows和Ubuntu作為虛擬化操作系統進行安裝。

警告:在使用虛擬化時,有個非常好的方法將主機操作系統與其他操作系統相區別。主機操作系統是你的服務器引導的第一個操作系統,它也對其他的操作系統負有特別的職責,諸如對驅動器入口和虛擬機本身進行管理等。為了確保它能以最有效的方式執行任務,請不要在主機操作系統上運行任何服務性工作。2在Ubuntu服務器上安裝KVM按照以下的步驟執行來安裝虛擬服務器(這里描述的安裝步驟以Ubuntu Server 7.04為基礎):

(1)安裝所有KVM虛擬化所需的軟件(KVM和QEMU套裝)。作為根文件,使用“apt-get instaII kvm qemu”命令。

(2)安裝完這些軟件套裝后,確保所需的驅動程序已經裝載完畢。作為根文件,如果你使用的是英特爾公司出品的CPU。使用mod-probe kvm—intel,如果是AMD公司的CPU。則使用modprobekvm-amd。

(3)進入kerneI kvm k0模塊界面,在/dev目錄下創建,dev/kvm文件。你要確認你的用戶有權限訪問這個文件。然后使用chmod 777/dev/kvm。

現在大功告成!你的Ubuntu服務器目前已經為客戶端操作系統虛擬化準備就緒。

猜你喜歡
指令虛擬化客戶端
一樣,不一樣
《單一形狀固定循環指令G90車外圓仿真》教案設計
新機研制中總裝裝配指令策劃研究
虛擬專用網絡訪問保護機制研究
新聞客戶端差異化發展策略
淺談虛擬化工作原理
太空第一人
別再誤會客戶端虛擬化了
虛擬化整合之勢凸顯
虛擬化技術:綠色IT的希望
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合