什么是虛擬化:
虛擬化(Virtualization)技術(shù)最早出現(xiàn)在 20 世紀 60 年代的 IBM 大型機系統(tǒng)铝穷,在70年代的 System 370 系列中逐漸流行起來夭坪,這些機器通過一種叫虛擬機監(jiān)控器(Virtual Machine Monitor古程,VMM)的程序在物理硬件之上生成許多可以運行獨立操作系統(tǒng)軟件的虛擬機(Virtual Machine)實例户盯。隨著近年多核系統(tǒng)询枚、集群违帆、網(wǎng)格甚至云計算的廣泛部署浙巫,虛擬化技術(shù)在商業(yè)應用上的優(yōu)勢日益體現(xiàn)金蜀,不僅降低了 IT 成本,而且還增強了系統(tǒng)安全性和可靠性的畴。
常用的虛擬化產(chǎn)品有哪些
1.Kvm(redhat)企業(yè)級
2.Vmware:
- - Vmware-workstation(windows和linux)桌面級
- -Vmware-fusion(mac)
- -Vmware-esxi(企業(yè)級別)本身就是一個操作系統(tǒng)渊抄。
3.hyper-v(微軟)
4.Ovm(oracle公司--Windows linux) virtulbox
5.Xen(rhel6之前所有版本默認用的虛擬化產(chǎn)品)
虛擬化技術(shù)的分類:
平臺虛擬化(Platform Virtualization),針對計算機和操作系統(tǒng)的虛擬化//針對計算機操作系統(tǒng)丧裁。
資源虛擬化(Resource Virtualization)护桦,針對特定的系統(tǒng)資源的虛擬化,比如內(nèi)存煎娇、存儲二庵、網(wǎng)絡資源等。
應用程序虛擬化(Application Virtualization)缓呛,包括仿真催享、模擬、解釋技術(shù)等哟绊。把硬件的東西變成了一個應用
我們通常所說的虛擬化主要是指平臺虛擬化技術(shù)因妙,通過使用控制程序(Control Program,也被稱為 Virtual Machine Monitor(虛擬監(jiān)控器VMM) 或Hypervisor票髓,隱藏特定計算平臺的實際物理特性攀涵,為用戶提供抽象的、統(tǒng)一的洽沟、模擬的計算環(huán)境(稱為虛擬機)以故。
平臺虛擬化類型
操作系統(tǒng)虛擬化:有一個非常常見的操作系統(tǒng)叫openvz。特點是所有的虛擬機共享宿主機的內(nèi)核裆操。
全虛擬化(Full Virtualization):
全虛擬化是指虛擬機模擬了完整的底層硬件怒详,包括處理器、物理內(nèi)存跷车、時鐘棘利、外設等,使得為原始硬件設計的操作系統(tǒng)或其它系統(tǒng)軟件完全不做任何修改就可以在虛擬機中運行朽缴。
現(xiàn)在的kvm與vmware都支持全虛擬化
全虛擬化的運行速度要快于硬件模擬善玫,但是性能方面不如裸機,因為Hypervisor需要占用一些資源
半虛擬化(Para Virtualization):
半虛擬化(也叫超虛擬化)是另一種類似于全虛擬化的技術(shù),它使用Hypervisor分享存取底層的硬件茅郎,但是它的guest操作系統(tǒng)集成了虛擬化方面的代碼蜗元。因為操作系統(tǒng)自身能夠與虛擬進程進行很好的協(xié)作。
半虛擬化需要guest操作系統(tǒng)做一些修改系冗,使guest操作系統(tǒng)意識到自己是處于虛擬化環(huán)境的奕扣,但是半虛擬化提供了與原操作系統(tǒng)相近的性能。
硬件輔助虛擬化
硬件輔助虛擬化是指借助硬件(主要是主機處理器)的支持來實現(xiàn)高效的全虛擬化掌敬。
部分虛擬化
企業(yè)級虛擬化與桌面級虛擬化的區(qū)別
桌面級虛擬化:
App ---在安裝APP养葵,通過App實現(xiàn)各種功能
guestos ---客戶機也叫客戶操作系統(tǒng)
vmware-workstation(hypervisor(虛擬機管理程序)+圖形管理工具)
os
硬件
企業(yè)級虛擬化
App(圖形管理工具)
guestos
os+hypervisor:在操作系統(tǒng)級別加上了虛擬機管理程序
硬件
KVM虛擬化技術(shù)簡介
KVM 針對運行在 x86 硬件上的、駐留在內(nèi)核中的虛擬化基礎結(jié)構(gòu)掉丽。KVM 是第一個成為原生 Linux 內(nèi)核(2.6.20)的一部分的 hypervisor签孔,它是由 Avi Kivity 開發(fā)和維護的,現(xiàn)在歸 Red Hat 所有华临。
KVM 是作為內(nèi)核模塊實現(xiàn)的
KVM虛擬化技術(shù)簡介
kvm架構(gòu)圖
從rhel6開始使用 直接把kvm的模塊做成了內(nèi)核的一部分
xen用在rhel6之前的企業(yè)版中 默認內(nèi)核不支持芯杀,需要重新安裝帶xen功能的內(nèi)核
KVM 針對運行在 x86 硬件上的、駐留在內(nèi)核中的虛擬化基礎結(jié)構(gòu)雅潭。KVM 是第一個成為原生 Linux 內(nèi)核(2.6.20)的一部分的 hypervisor揭厚,它是由 Avi Kivity 開發(fā)和維護的,現(xiàn)在歸 Red Hat 所有扶供。
這個 hypervisor 提供 x86 虛擬化筛圆,同時擁有到 PowerPC? 和 IA64 的通道。另外诚欠,KVM 最近還添加了對對稱多處理(SMP)主機(和來賓)的支持顽染,并且支持企業(yè)級特性,比如活動遷移(允許來賓操作系統(tǒng)在物理服務器之間遷移)轰绵。
KVM 是作為內(nèi)核模塊實現(xiàn)的粉寞,因此 Linux 只要加載該模塊就會成為一個hypervisor。KVM 為支持 hypervisor 指令的硬件平臺提供完整的虛擬化(比如 Intel? Virtualization Technology [Intel VT] 或 AMD Virtualization [AMD-V] 產(chǎn)品)左腔。KVM 還支持準虛擬化來賓操作系統(tǒng)唧垦,包括 Linux 和 Windows?。
這種技術(shù)由兩個組件實現(xiàn)液样。第一個是可加載的 KVM 模塊振亮,當在 Linux 內(nèi)核安裝該模塊之后,它就可以管理虛擬化硬件鞭莽,并通過 /proc 文件系統(tǒng)公開其功能坊秸。第二個組件用于 PC 平臺模擬,它是由修改版 QEMU 提供的澎怒。QEMU 作為用戶空間進程執(zhí)行褒搔,并且在來賓操作系統(tǒng)請求方面與內(nèi)核協(xié)調(diào)。
當新的操作系統(tǒng)在 KVM 上啟動時(通過一個稱為 kvm 的實用程序),它就成為宿主操作系統(tǒng)的一個進程星瘾,因此就可以像其他進程一樣調(diào)度它走孽。但與傳統(tǒng)的 Linux 進程不一樣,來賓操作系統(tǒng)被 hypervisor 標識為處于 "來賓" 模式(獨立于內(nèi)核和用戶模式)琳状。
每個來賓操作系統(tǒng)都是通過 /dev/kvm 設備映射的磕瓷,它們擁有自己的虛擬地址空間,該空間映射到主機內(nèi)核的物理地址空間念逞。如前所述困食,KVM 使用底層硬件的虛擬化支持來提供完整的(原生)虛擬化。I/O 請求通過主機內(nèi)核映射到在主機上(hypervisor)執(zhí)行的 QEMU 進程肮柜。
KVM 在 Linux 環(huán)境中以主機的方式運行陷舅,不過只要底層硬件虛擬化支持倒彰,它就能夠支持大量的來賓操作系統(tǒng).