kvm開發(fā)人員沒有從底層編寫新的管理程序,而是選擇基于Linux的內(nèi)核,通過加載新模塊將Linux內(nèi)核轉(zhuǎn)換為管理程序。
目前,kvm的設(shè)計(jì)是通過可加載的內(nèi)核模塊來支持廣泛的客戶端操作系統(tǒng),包括Windows。
在KVM體系結(jié)構(gòu)中,虛擬機(jī)作為常規(guī)的Linux進(jìn)程實(shí)現(xiàn),這些進(jìn)程由標(biāo)準(zhǔn)的Linux調(diào)度程序調(diào)度。實(shí)際上,每個(gè)虛擬CPU都是作為一個(gè)常規(guī)的Linux進(jìn)程實(shí)現(xiàn)的。這使得kvm可以享受Linux內(nèi)核的所有功能。
KVM本身不執(zhí)行任何模擬。用戶空間程序需要通過/dev/kvm接口設(shè)置客戶端虛擬服務(wù)器的地址空間,為其提供模擬I/O,并將其視頻顯示映射回主機(jī)的顯示屏。此應(yīng)用程序是著名的QEMU。
REHL6.x系統(tǒng)中的kvm客戶機(jī)可以支持160個(gè)虛擬CPU和高達(dá)2TB的內(nèi)存。kvm主機(jī)支持4096個(gè)CPU內(nèi)核和高達(dá)64TB的內(nèi)存。
操作系統(tǒng)內(nèi)核設(shè)計(jì)分為微核和單核兩種。
單個(gè)內(nèi)核意味著整個(gè)內(nèi)核被實(shí)現(xiàn)為單個(gè)大型進(jìn)程,同時(shí)在單獨(dú)的地址空間中運(yùn)行。所有內(nèi)核服務(wù)都在如此大的內(nèi)核空間中運(yùn)行,內(nèi)核之間的通信可以簡單地作為函數(shù)調(diào)用來實(shí)現(xiàn)。
對(duì)于微內(nèi)核,內(nèi)核的功能分為幾個(gè)獨(dú)立的進(jìn)程,每個(gè)進(jìn)程稱為服務(wù)器。許多服務(wù)器在自己的地址空間中運(yùn)行,只有少數(shù)核心服務(wù)器以特權(quán)模式運(yùn)行,服務(wù)器之間的通信采用進(jìn)程間通信機(jī)制。獨(dú)立的服務(wù)器進(jìn)程提高了系統(tǒng)的健壯性,但是進(jìn)程間通信的開銷遠(yuǎn)遠(yuǎn)超過函數(shù)調(diào)用,因?yàn)樗婕皟?nèi)核空間和用戶空間之間的上下文切換。
Linux采用務(wù)實(shí)的設(shè)計(jì):Linux內(nèi)核設(shè)計(jì)為單核,以滿足性能要求,同時(shí)Linux內(nèi)核還具有模塊化設(shè)計(jì)和內(nèi)核模塊動(dòng)態(tài)加載的能力。除了進(jìn)程切換和內(nèi)存管理等核心功能外,大多數(shù)內(nèi)核功能都是作為單獨(dú)的內(nèi)核模塊設(shè)計(jì)和實(shí)現(xiàn)的。編譯完這些模塊后,它們作為單獨(dú)的二進(jìn)制文件存在。在運(yùn)行過程中,內(nèi)核根據(jù)需要?jiǎng)討B(tài)加載并鏈接到內(nèi)核空間。未使用的模塊也可以在操作期間動(dòng)態(tài)卸載。該設(shè)計(jì)不僅保證了內(nèi)核的性能,而且提高了傳統(tǒng)單核設(shè)計(jì)的靈活性。
KVM作為內(nèi)核模塊存在,它為Linux內(nèi)核添加了虛擬化。
從虛擬機(jī)的基本架構(gòu)來看,它可以分為兩種類型:類型1和類型2。
類型1:當(dāng)系統(tǒng)通電時(shí),它首先加載并運(yùn)行虛擬機(jī)監(jiān)視程序,而傳統(tǒng)的操作系統(tǒng)運(yùn)行在它創(chuàng)建的虛擬機(jī)中。
類型1管理程序可以看作是為虛擬機(jī)優(yōu)化的操作系統(tǒng)內(nèi)核。
著名的開放源碼虛擬化軟件Xen、商用軟件vmware esx/esxi和微軟的hper-v都是類型1的代表。
類型2:系統(tǒng)通電后,仍運(yùn)行通用操作系統(tǒng)(也稱主機(jī)操作系統(tǒng))。作為一種特殊的應(yīng)用,虛擬機(jī)監(jiān)控程序可以作為操作系統(tǒng)功能的擴(kuò)展。
對(duì)于類型2的虛擬機(jī),最大的優(yōu)點(diǎn)是它們可以充分利用現(xiàn)有的操作系統(tǒng),但是它們也會(huì)受到主機(jī)操作系統(tǒng)的限制。
kvm、vmware工作站和virtualbox屬于類型2虛擬機(jī)。
客服聯(lián)系電話: 15301086273
企業(yè)采購: 15301086273
大客戶采購-微信咨詢
