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的架構。
總結
以上是生活随笔為你收集整理的Xen虚拟化技术中PV和HVM的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 德化陶瓷特点(德化窑瓷器的特征及鉴定)
- 下一篇: 域环境下如何保护重要资料文件的安全(一)