Xen虛擬化技術中PV和HVM的區別


轉自 這里

Xen是一個開源的type-1或者裸機管理程序,它使得一個物理主機能夠同時並行運行多個相同的或者不同的操作系統實例。Xen是目前唯一的開源可得的type-1管理程序。Xen被應用於許多商業和開源的應用程序中,比如:服務器虛擬化(server virtualization)、基礎設施即服務(Infrastructure as a Service)、桌面虛擬化(desktop virtualization)、安全應用程序(security applications)、嵌入式和硬件設備(embedded and hardware appliances)。毫無疑問,Xen驅動着當今大部分的雲計算市場。

Xen支持運行兩種不同類型的虛擬機:半虛擬化(PV)和全虛擬化(HVM)。在一個單一的Xen系統中可以同時運行這兩種不同類型的虛擬機。另外,在全虛擬化(HVM)虛擬機中也能夠使用半虛擬化(PV)技術:實質上是創建一個半虛擬化(PV)和全虛擬化(HVM)的連續體。這種方式被稱為PV on HVM。想要獲取更多關於虛擬化的知識可以看這里

那么Xen虛擬化技術中的半虛擬化(PV)和全虛擬化(HVM)有什么區別呢?

Xen Paravirtualization (PV)

半虛擬化是由Xen引入的高效和輕量的虛擬化技術,隨后被其他虛擬化平台采用。半虛擬化技術不需要物理機CPU含有虛擬化擴展。但是,要使虛擬機能夠高效的運行在沒有仿真或者虛擬仿真的硬件上,半虛擬化技術需要一個Xen-PV-enabled內核和PV驅動。可喜的是,Linux、NetBSD、FreeBSD和OpenSolaris都提供了Xen-PV-enabled內核。Linux內核從2.6.24版本起就使用了Linux pvops框架來支持Xen。這意味着半虛擬化技術可以在絕大多數的Liunx發行版上工作(除了那么內核很古老的發行版)。關於半虛擬化技術的更多信息可以看這里)

Xen Full Virtualization (HVM)

全虛擬化或者叫硬件協助的虛擬化技術使用物理機CPU的虛擬化擴展來虛擬出虛擬機。全虛擬化技術需要Intel VT或者AMD-V硬件擴展。Xen使用Qemu來仿真PC硬件,包括BIOS、IDE硬盤控制器、VGA圖形適配器(顯卡)、USB控制器、網絡適配器(網卡)等。虛擬機硬件擴展被用來提高仿真的性能。全虛擬化虛擬機不需要任何的內核支持。這意味着,Windows操作系統可以作為Xen的全虛擬化虛擬機使用(眾所周知,除了微軟沒有誰可以修改Windows內核)。由於使用了仿真技術,通常來說全虛擬化虛擬機運行效果要遜於半虛擬化虛擬機。

PV on HVM

為了提高性能,全虛擬化虛擬機也可以使用一些特殊的半虛擬化設備驅動(PVHVM 或者 PV-on-HVM驅動)。這些半虛擬化驅動針對全虛擬化環境進行了優化並對磁盤和網絡IO仿真進行分流,從而得到一個類似於或優於半虛擬化虛擬機性能的全虛擬化虛擬機。這意味着,你可以對只支持全虛擬化技術的操作系統進行優化,比如Windows。

Xen半虛擬化虛擬機自動使用PV驅動-因此不需要提供這些驅動,你已經在使用這些優化過的驅動了。另外,只有Xen全虛擬化虛擬機才需要PVHVM驅動。關於PV on HVM的更多信息可以看這里

PV in an HVM Container (PVH) - New in Xen 4.4

Xen 4.4會帶來一個被稱作PVH的新的虛擬化模式。實質上,它是一個使用了針對啟動和I/O的半虛擬化驅動的半虛擬化模式。與全虛擬化不同的是,它使用了硬件虛擬化擴展,但是不需要進行仿真。在Xen 4.3發布后,xen-unstable會加入對此模式的補丁,Xen 4.4中將可以預覽到這個功能。PVH擁有結合和權衡所以虛擬化模式優點的潛力,與此同時簡化Xen的架構。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM