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