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