1 虛擬化定義
虛擬化指的是計算機(jī)的物理抽象。換句話說,就是把分配給一臺虛擬機(jī)的物理資源從它的物理實(shí)體上抽象出來。虛擬磁盤、虛擬網(wǎng)卡、虛擬局域網(wǎng)、虛擬交換機(jī)、虛擬CPU以及虛擬內(nèi)存,都是映射到一臺物理計算機(jī)系統(tǒng)的對應(yīng)物理資源上的。主機(jī)將其上運(yùn)行的客戶虛擬機(jī)(guest VM)視為應(yīng)用程序,并且給它們分配了一部分專屬資源或者共享資源。
虛擬化有很多種:平臺虛擬化、應(yīng)用虛擬化、網(wǎng)絡(luò)虛擬化以及存儲虛擬化。一般來說,虛擬化是指平臺虛擬化。平臺虛擬化就是利用服務(wù)器硬件作為主機(jī),運(yùn)行多個虛擬機(jī)并將其視為客戶機(jī)。每一臺虛擬機(jī)都是一個安裝了某個操作系統(tǒng)的穩(wěn)定的虛擬硬件環(huán)境,并且獨(dú)立于其他客戶機(jī)。
2 使用虛擬化的好處
通過使用虛擬化,我們可以在硬件、冷卻、電力和IT人力上節(jié)省不少資金。除以上特點(diǎn),還有很多現(xiàn)實(shí)的優(yōu)點(diǎn)。
① 硬件成本最小化
② 提供容災(zāi)特性
③ 整合空閑負(fù)荷
④ 負(fù)荷均衡
⑤ 軟件測試
⑥ 集中了服務(wù)器管理
⑦ 節(jié)能
⑧ 部署新服務(wù)器更快速
3 幾種虛擬化技術(shù)介紹
現(xiàn)階段流行的幾種虛擬化策略,他們的運(yùn)作原理都是有所不同的。包括他們的界面(控制臺)和創(chuàng)建、導(dǎo)入、轉(zhuǎn)換虛擬機(jī)的方法以及各自的特征、調(diào)優(yōu)方法和工具軟件都各有特點(diǎn)。以下將簡單介紹幾個虛擬化技術(shù)的代表性例子。
3.1 客戶機(jī)操作系統(tǒng)
客戶機(jī)操作系統(tǒng)又叫做寄居式虛擬化。它主要是通過在一個現(xiàn)存的操作系統(tǒng)上安裝第三方虛擬化軟件,并創(chuàng)建多個客戶機(jī)操作系統(tǒng)來實(shí)現(xiàn)的。每一個客戶機(jī)都使用宿主機(jī)提供的共享資源并且在宿主機(jī)上運(yùn)行。客戶機(jī)一般由一個或幾個虛擬磁盤文件和一個虛擬機(jī)定義文件組成。虛擬機(jī)則由一個宿主應(yīng)用程序集中管理,且每一臺虛擬機(jī)都會被當(dāng)做一個獨(dú)立的應(yīng)用程序。
這種虛擬化主要的優(yōu)點(diǎn)是(虛擬機(jī)的)設(shè)備和驅(qū)動數(shù)量是有限的。每臺虛擬機(jī)(客戶機(jī))都有一致的硬件集。最大的缺點(diǎn)是磁盤I/O很糟,磁盤操作速度遠(yuǎn)遠(yuǎn)達(dá)不到磁盤應(yīng)有的性能。
3.1.1 VMware Server
VMware Server 是一款免費(fèi)的產(chǎn)品,并且是針對小型環(huán)境、測試環(huán)境或個人的介紹性的軟件包。因?yàn)樗鼘μ摂M機(jī)的內(nèi)存有限制,且磁盤性能也很差,所以很少用于大型的環(huán)境中。
3.1.2 VirtualBox
VirtualBox 也是免費(fèi)和跨平臺的產(chǎn)品。和VMware Server 一樣,適合于小型的網(wǎng)絡(luò)環(huán)境。因?yàn)閂irtualBox 有可調(diào)的顯存、RDP連接、遠(yuǎn)程設(shè)備連接和很好的性能,所以它可能是最佳的寄居式虛擬化軟件。
3.2仿真
仿真是為特定操作系統(tǒng)模仿特定種類的硬件的能力,且不管底層的主機(jī)操作系統(tǒng)是什么。仿真軟件能模擬其他平臺的完整的計算機(jī)系統(tǒng)。硬件仿真雖然在某些場合下非常的慢,但是新的技術(shù),新的仿真軟件和驅(qū)動加上快速的主機(jī)處理器使仿真技術(shù)成為了虛擬化的一個人可行方案。而且這種技術(shù)尤其適用于驅(qū)動程序的編寫者和需要為其他硬件平臺開發(fā)程序的用戶。Bochs和QEMU是硬件仿真軟件的最佳實(shí)例。
3.2.1 Bochs
Bochs是Intel x86 體系結(jié)構(gòu)的32為仿真器,能在Unix、Linux、Window和MacOSX上運(yùn)行,但是只能支持基于x86 體系結(jié)構(gòu)的操作系統(tǒng)。Bochs可以模擬所有x86處理器和x86_64處理器架構(gòu),是很成熟的軟件。它是免費(fèi)的、開源的,而且也支持多處理器,但是現(xiàn)在還不能完全利用到SMP的好處。
3.2.2 QEMU
QEMU也是免費(fèi)的、開源的的仿真程序。它提供了對x86、x86_64、ARM、Sparc、PowERPC、MIPS以及m68k客戶機(jī)操作系統(tǒng)的仿真,但是只能運(yùn)行在有限的幾種主機(jī)架構(gòu)(x86、x86_64以及PowERPC)上。
3.2.3 Microsoft Virtual PC 和Virtual Server
Virtual PC是免費(fèi)的虛擬化軟件包。Virtual PC 用仿真技術(shù)來提供虛擬機(jī)環(huán)境。它能讓少量虛擬機(jī)快速且廉價的運(yùn)行起來,但是不適合大型環(huán)境。
3.3 hypervisor
Hypervisor是虛擬化直接運(yùn)行在裸機(jī)上的實(shí)現(xiàn)方法。Hypervisor和寄居式虛擬化很相似,但是卻有著顯著的區(qū)別。Hypervisor是操作系統(tǒng)運(yùn)行在虛擬化軟件上。而寄居式虛擬化則不同,它是利用了操作系統(tǒng),并且以應(yīng)用的形式(在操作系統(tǒng)上)運(yùn)行虛擬化軟件。Hypervisor軟件安裝在裸機(jī)上,然后再安裝操作系統(tǒng),而這個操作系統(tǒng)也是一個半虛擬化的虛擬機(jī),稱為宿主機(jī)操作系統(tǒng)。
3.3.1 Ctrix Xen
Xen是一款開放源代碼的虛擬機(jī)監(jiān)視器。它在x86、x86_64、PowERPC和其他CPU架構(gòu)上都能提供強(qiáng)大、高效和安全的虛擬化特性。而且它能支持廣泛的客戶操作系統(tǒng)。Xen 3.0 或者更早版本有點(diǎn)難用,但是Xen 4.x 還是很好用的。如果對高端的虛擬化有需求,Xen 4.x是不錯的選擇。因?yàn)橛盟鼇聿渴鹦碌奶摂M機(jī)比較直觀快速。
3.3.2 VMware ESX/VMware ESXi
ESX是VMware公司最重要的企業(yè)級虛擬化平臺產(chǎn)品,也是虛擬化軟件套餐VMware Infrastucture中最重要的組成部分。ESXi是公司2008年推出的免費(fèi)的虛擬化平臺。
ESX 和ESXi 都需要64位(處理器)架構(gòu),但是后者對硬件的要求更為特殊。ESX這款產(chǎn)品已經(jīng)比較成熟,在虛擬化級別上只有Xen 能與之匹敵。
3.3.3 Microsoft Hyper-V
Hyper-V 是一款基于Windows的企業(yè)級虛擬化產(chǎn)品。Ctrix Xen和VMware都是基于Linux的。如果對Linux和Unix 命令不熟的話,微軟產(chǎn)品是不錯的選擇。在不斷成熟后,Hyper-V 有望挑戰(zhàn)Ctrix Xen和VMware。
3.4 內(nèi)核級虛擬化
內(nèi)核虛擬化的每臺虛擬機(jī)都用特有的內(nèi)核來啟動客戶虛擬機(jī),無視主機(jī)正在運(yùn)行中的內(nèi)核。
3.4.1 KVM
KVM運(yùn)用了虛擬化處理器擴(kuò)展技術(shù)。它支持很多種x86和x86_64架構(gòu)的客戶機(jī)操作系統(tǒng),包括Windows、Linux和FreeBSD。
3.4.2 用戶模式Linux
UML(User-ModeLinux,用戶模式Linux)使用可執(zhí)行內(nèi)核和根文件系統(tǒng)來創(chuàng)建虛擬機(jī)。就是說,如果要創(chuàng)建一臺虛擬機(jī),要用戶空間可執(zhí)行內(nèi)核(客戶內(nèi)核)和UML創(chuàng)建的根文件系統(tǒng)這兩個組件一起組成一臺UML虛擬機(jī)。連接到遠(yuǎn)程主機(jī)系統(tǒng)的命令行終端會話就是虛擬機(jī)的控制臺。
3.5 共享內(nèi)核
共享內(nèi)核虛擬化又被稱為系統(tǒng)級虛擬化或操作系統(tǒng)虛擬化,充分利用了Unix和Linux的與系統(tǒng)上其他進(jìn)程共享內(nèi)核的能力。
變更根系統(tǒng)(chroot)的特性使得這種共享虛擬化能夠?qū)崿F(xiàn)。Chroot又常被稱為Chroot監(jiān)獄(Chroot jail)或者基于容器的虛擬化。它通過改變一個進(jìn)程的根文件系統(tǒng)使之隔離,進(jìn)而提供某種安全性。Chroot可以模擬整個系統(tǒng),使得整個系統(tǒng)都可以被變更根系統(tǒng),以此來創(chuàng)建一臺虛擬機(jī)。共享內(nèi)核虛擬化有以下幾個優(yōu)點(diǎn):① 增強(qiáng)的安全性和系統(tǒng)隔離;② 原生的性能;③ 虛擬系統(tǒng)的高密度。缺點(diǎn)就是主機(jī)內(nèi)核和客戶機(jī)的兼容性。
共享內(nèi)核虛擬化最大的好處是性能而不是它的安全性,雖然安全性也是要考慮的因素。用這種方式的虛擬化,每個獨(dú)立的系統(tǒng)會得到原生的性能。每個系統(tǒng)不僅可以在原生的系統(tǒng)下運(yùn)行,還能在一臺主機(jī)系統(tǒng)上運(yùn)行超出標(biāo)準(zhǔn)數(shù)量的虛擬機(jī)。標(biāo)準(zhǔn)數(shù)量是指若是以內(nèi)存作為限定條件,并給主機(jī)預(yù)留1GB內(nèi)存而把剩余的內(nèi)存全部用于虛擬機(jī)時,邏輯上在一臺主機(jī)系統(tǒng)上可以運(yùn)行的虛擬機(jī)數(shù)量。
在一臺主機(jī)系統(tǒng)上Chroot系統(tǒng)的虛擬機(jī)數(shù)量限制和在獨(dú)立系統(tǒng)上同時運(yùn)行多個應(yīng)用程序的情況非常像。把每個Chroot系統(tǒng)都看做是應(yīng)用系統(tǒng)而不是虛擬機(jī)的話,可以更好的分配資源,并獲得更好的性能。
共享內(nèi)核虛擬化的缺點(diǎn)就是所有虛擬機(jī)都必須和正在運(yùn)行的內(nèi)核兼容。也就是說,我們不能運(yùn)行Windows操作系統(tǒng)、Solaris、Mac OS X或者其他不能獨(dú)自運(yùn)行當(dāng)前系統(tǒng)內(nèi)核的操作系統(tǒng)。一些服務(wù)器托管商都是采用這種方式的,這樣客戶能獲得他們自己的虛擬服務(wù)器來滿足托管主機(jī)的需求。
3.5.1 Solars Containers (Zones)
Solars 10操作系統(tǒng)也叫做全局區(qū)域(Global Zone)。它帶有內(nèi)建的虛擬化。Solars Zones的每個區(qū)域都帶有自己的模擬了一個完整的操作系統(tǒng)和文件系統(tǒng)的虛擬跟系統(tǒng)(root)。當(dāng)創(chuàng)建一個區(qū)域時,會直接復(fù)制一個完整的文件系統(tǒng)到新的區(qū)域目錄中去。且每個區(qū)域都只看得見自己的進(jìn)程和文件系統(tǒng)。每個區(qū)域都相信自己是完整獨(dú)立的操作系統(tǒng),只有全局區(qū)域知道虛擬化的存在。Solars區(qū)域是一個易用的、提供原生性能的、可擴(kuò)展的企業(yè)級虛擬化解決方案。
3.5.2 OpenVZ
OpenVZ內(nèi)核針對虛擬化做了優(yōu)化,。而且,它在為其他虛擬化產(chǎn)品處理虛擬化時很高效。OpenVZ和Solars Zone很相似,只是OpenVZ可以在同一個內(nèi)核上運(yùn)行比同的Linux分發(fā)版本。在OpenVZ的網(wǎng)站上有不少的分發(fā)模板供應(yīng)。
3.6 幾種技術(shù)簡單對比
Xen或VMware ESX對于企業(yè)級虛擬化是比較好的。如果你需要在一臺主機(jī)系統(tǒng)上虛擬化多個操作系統(tǒng)的話,hpervisor技術(shù)是首選。這兩個雖然貴,但是絕對物有所值,因?yàn)樗@的性能是非常好的。
Solars Zones適用于需要持續(xù)性、安全性和原生硬件性能的Unix主機(jī)系統(tǒng)。內(nèi)核級虛擬化適用于隔離應(yīng)用且非常適用于全局區(qū)域(主機(jī)操作系統(tǒng))。
對于小型環(huán)境、桌面環(huán)境或者IT實(shí)驗(yàn)環(huán)境,Microsoft Virtual PC和VMware Server是不錯的選擇。它們免費(fèi)、易用,并能支持多種客戶機(jī)操作系統(tǒng)。但是對于高負(fù)荷的生產(chǎn)環(huán)境或者企業(yè)級應(yīng)用,不是很適用。Virtual PC只支持Windows,而VMware Server和Sun x VM支持多平臺使用。
4 結(jié)束語
本文簡單介紹了一些虛擬化技術(shù)以及各自的優(yōu)缺點(diǎn)。真正的在實(shí)際應(yīng)用中,還得根據(jù)需要選擇最佳的方案。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.guhuozai8.cn/
本文標(biāo)題:虛擬化技術(shù)淺談
本文網(wǎng)址:http://www.guhuozai8.cn/html/support/1112155611.html