在現(xiàn)代IT系統(tǒng)的核心組件中開源技術(shù)已經(jīng)成為不可或缺的力量,比如x86架構(gòu)操作系統(tǒng)Linux、Unix操作系統(tǒng)BSD、MySQL數(shù)據(jù)庫、Apache Web服務(wù)等。
據(jù)統(tǒng)計,超過50%的技術(shù)開發(fā)人員都信奉開源哲學,時至今日,已經(jīng)完全形成了一套成熟完整的開源軟件生態(tài)體系。在開源技術(shù)欣欣向榮的現(xiàn)象背后,真正推動其迅速發(fā)展的本質(zhì)往往是因為其蘊含的價值:
開源軟件普遍價格實惠,用戶能夠?qū)⒏嗟馁Y金投入到核心業(yè)務(wù)上;
開源軟件使得廠商甚至客戶有權(quán)利自由的修改軟件,產(chǎn)生不同形態(tài)的產(chǎn)品,用戶能有更多選擇產(chǎn)品的空間,防止被某一廠商綁定;
開源軟件在定制化開發(fā)方面有天然優(yōu)勢,可以根據(jù)用戶業(yè)務(wù)系統(tǒng)特點定制化,為業(yè)務(wù)系統(tǒng)的高效穩(wěn)定運行提供良好的支撐。
主流服務(wù)器虛擬化技術(shù)的開源門派有兩個——KVM和Xen。
廣義上的KVM架構(gòu)由KVM內(nèi)核模塊(狹義的KVM)和QEMU-KVM模擬模塊組成。KVM內(nèi)核模塊是在Linux內(nèi)核的基礎(chǔ)上增加的虛擬機管理模塊,通過重用Linux內(nèi)核中已經(jīng)完善的進程調(diào)度、內(nèi)存管理、I/O管理等模塊。QEMU-KVM模擬模塊負責為虛擬機提供一個互相隔離的虛擬化資源環(huán)境,包括vCPU、vRAM、vDisk、vNIC等,每一個虛擬機都是QEMU-KVM的一個進程,由Hypervisor中的進程調(diào)度模塊統(tǒng)一管理調(diào)度。
廣義上的Xen架構(gòu)由Xen Hypervisor和虛擬域(Domain)兩大部分組成。Xen Hypervisor負責將CPU和RAM兩大硬件資源虛擬出互相隔離的資源,供虛擬域使用,同時管理和監(jiān)控虛擬域的資源和系統(tǒng)運行情況;每個虛擬域就是一個虛擬機環(huán)境,其中虛擬域又分為特權(quán)虛擬域(Dom0)和非特權(quán)虛擬域(DomU),Dom0先于DomU啟動,DomU訪問I/O資源必須要經(jīng)過Dom0,Dom0負責I/O資源的虛擬化,可以直接訪問I/O物理資源。如果將Xen架構(gòu)比作完整的汽車,Xen Hypervisor就是其中的發(fā)動機,安裝了一系列域管理和控制工具的Dom0就是其他零部件,兩者合一才能使虛擬化系統(tǒng)正常運轉(zhuǎn)起來。