了解5種類型的服務(wù)器虛擬化
通過(guò)虛擬化,網(wǎng)絡(luò)、存儲(chǔ)和計(jì)算資源被抽象化,使應(yīng)用程序、服務(wù)和功能減少對(duì)物理硬件的依賴。IT管理員可以在自己的環(huán)境(包括操作系統(tǒng)、支持軟件、網(wǎng)絡(luò)和存儲(chǔ)資源)中提供應(yīng)用程序、服務(wù)和功能,這種環(huán)境不太容易受相同基礎(chǔ)資源上運(yùn)行其他工作負(fù)載問(wèn)題的影響?;蛘咚鼈兛梢怨蚕碣Y源以降低成本,并提高整體利用率和性能。
從標(biāo)準(zhǔn)基于服務(wù)器的虛擬化的早期開始(不包括IBM長(zhǎng)期存在的大型機(jī)虛擬化功能),管理員就開始創(chuàng)建虛擬機(jī),其中包含運(yùn)行工作負(fù)載所需的一切,包括操作系統(tǒng)的完整副本、所有支持軟件和模擬系統(tǒng),例如作為網(wǎng)絡(luò)接口卡。有些IT部門正在轉(zhuǎn)向較小的方法,例如容器化,在這種方法中,工作負(fù)載被最小化到一個(gè)數(shù)據(jù)包中,該數(shù)據(jù)包位于虛擬化資源之上并共享操作系統(tǒng)功能。
計(jì)算資源虛擬化以多種方式進(jìn)行,包括基于硬件的虛擬化、管理程序和基于軟件的虛擬化。因此,管理員必須謹(jǐn)慎選擇虛擬化方法。
硬件虛擬化
在這種情況下,該系統(tǒng)通過(guò)將CPU的一部分分配給不同的工作負(fù)載來(lái)提供虛擬化。這是IBM Power架構(gòu)的主要方面,其中核心的部分或者整個(gè)核心可以分割,為工作負(fù)載創(chuàng)建專用平臺(tái),并根據(jù)需要?jiǎng)討B(tài)分配額外資源。這樣,不同工作負(fù)載可提供給專用環(huán)境,并可隨工作負(fù)載的需要而擴(kuò)展和縮減,并且任何單個(gè)工作負(fù)載的不良行為都不會(huì)影響其他工作負(fù)載。
硬件虛擬化還支持需要更高可用性的工作負(fù)載(例如虛擬專用網(wǎng)或防病毒引擎),讓它們擁有專用資源,其他工作負(fù)載無(wú)法調(diào)用。英特爾和AMD不太關(guān)注完整的硬件虛擬化,而是分別在硬件輔助方法中使用Intel Virtualization Technology和 AMD Virtualization。
硬件輔助虛擬化
對(duì)于硬件輔助虛擬化,操作系統(tǒng)和其他軟件可以完成繁重的工作,但軟件需要硬件功能來(lái)提供優(yōu)化的虛擬化,同時(shí)將性能損失降至最低。API將調(diào)用從應(yīng)用層傳遞到硬件,繞過(guò)大量侵入性仿真和代碼執(zhí)行路徑中的調(diào)用處理。
硬件輔助虛擬化通常被認(rèn)為是基于管理程序的虛擬化的功能,結(jié)合底層可用CPU。
基于虛擬管理程序的虛擬化
基于管理程序的虛擬化是企業(yè)數(shù)據(jù)中心中最常見的虛擬化形式。Type 1管理程序,也稱為裸機(jī)管理程序,包括VMware vSphere/ESXi、Microsoft Hyper-V和Linux KVM。通過(guò)使用Type 1管理程序,虛擬化在操作系統(tǒng)真正啟動(dòng)之前發(fā)揮作用,創(chuàng)建虛擬化硬件平臺(tái),主機(jī)操作系統(tǒng)的多個(gè)實(shí)例可以通過(guò)該管理程序?qū)舆M(jìn)行交互。
Type 2管理程序,也稱為托管管理程序,在主機(jī)操作系統(tǒng)之上。通常用于桌面以支持來(lái)賓操作系統(tǒng),與服務(wù)器虛擬化方法相反,Type 2管理程序示例包括Oracle VM VirtualBox、Parallels Desktop和VMware Fusion。
半虛擬化
完全虛擬化是指虛擬化環(huán)境中的工作負(fù)載沒有察覺自己沒有直接運(yùn)行在物理平臺(tái)。半虛擬化采用稍微不同的方法。半虛擬化沒有模擬硬件環(huán)境—每個(gè)工作負(fù)載都運(yùn)行自己的隔離域。
Xen等產(chǎn)品同時(shí)支持全虛擬化和半虛擬化,Oracle VM for x86和IBM LPAR使用經(jīng)過(guò)修改的操作系統(tǒng),該操作系統(tǒng)了解半虛擬化層并優(yōu)化功能,例如從工作負(fù)載到硬件的特權(quán)調(diào)用等功能。
操作系統(tǒng)級(jí)虛擬化
操作系統(tǒng)級(jí)虛擬化(也稱為容器化)在過(guò)去幾年中得到很多人的青睞。容器化使不同的工作負(fù)載能夠以互不信任的方式共享相同的底層資源:由一個(gè)工作負(fù)載引起的任何問(wèn)題都不會(huì)影響共享相同底層資源的其他工作負(fù)載。但情況并非總是如此。Docker的早期實(shí)例允許來(lái)自一個(gè)容器的特權(quán)調(diào)用干擾物理環(huán)境,從而導(dǎo)致多米諾骨牌效應(yīng)的容器損壞?,F(xiàn)在,默認(rèn)情況下對(duì)受保護(hù)底層資源的特權(quán)調(diào)用被禁用。
與硬件輔助虛擬化一樣,隨著直接對(duì)底層操作系統(tǒng)調(diào)用,而無(wú)需任何仿真,性能得以優(yōu)化。隨著Docker的出現(xiàn),可簡(jiǎn)單地創(chuàng)建工作負(fù)載,以從一個(gè)平臺(tái)移動(dòng)到另一個(gè)平臺(tái),同時(shí)最大限度地減少用于提供虛擬化的資源量,操作系統(tǒng)級(jí)虛擬化被嵌入到很多云平臺(tái)中,并得到大多數(shù)DevOps系統(tǒng)的支持。其他提供操作系統(tǒng)級(jí)虛擬化的平臺(tái)包括Linux Containers 和IBM Workload Partitions for AIX。
云平臺(tái)傾向于使用基于管理程序或操作系統(tǒng)級(jí)別的虛擬化,或者將操作系統(tǒng)級(jí)別的虛擬化功能置于基于管理程序的平臺(tái)之上。
虛擬化類型的選擇取決于支持來(lái)賓OS的需求、安裝和管理的工作負(fù)載數(shù)量、所需的總體性能以及總體成本,當(dāng)你試圖虛擬化包含數(shù)百個(gè)操作系統(tǒng)的整個(gè)平臺(tái)時(shí),許可費(fèi)用可能很高。