- 论坛徽章:
- 0
|
Demystifying Xen HVM
Xen HVM uses the AMD SVM (Pacifica) and
Intel VTX
(Vanderpool) hardware CPU virtualization.
Both
Parallels
and
VMWare
now utilize the same VTX technologies in their products. Based on blogs
I have read, VMWare added VTX support somewhere around or just before
VMWare Workstation 5.5, and Parallels has supported Core-Duo Intel Macs
since their beginning. No, I don't know if either supports AMD's SVM
quite yet.
Aside from these products, I am currently unaware of anything else that use today's modern CPU SVM or VTX features.
VMWare Workstation and Server normally runs alongside a host OS,
inserting a "vmmon" driver into Ring0. VMWare ESX has its own
hypervisor, much like Xen, though you do need to embrace RedHat for
their management harness. Hardware is emulated virtually in software
(IDE, SCSI via Buslogic/LSI, Network via Pcnet32/VMX, etc). Guest OSes
talk to these drivers as if they were running on a physical machine.
Xen is a small hypervisor that "paravirtualizes" CPU scheduling and
assigns hardware resources to virtual "domains". The first domain,
dom0, is responsible for talking to your PC's hardware directly. Each
"guest" domain, or domU, can only talk directly to hardware if it has
been configured to allow such access. Typically, a domU only has
"frontend" drivers that talk to resources exposed by a "backend"
typically from dom0. Things like virtual block devices and virtual
network interfaces are handled by native Xen aware device drivers in
such paravirtualized domUs.
Xen can also run in HVM mode. This means that instead of
paravirtualized devices, a real set of virtual hardware is exposed to
the domU to use real device drivers to talk to. Much like VMWare.
Xen initially called the HVM subsystem "VMX", but quickly abstracted
it when SVM support was added. If you see mention of VMX in Xen mailing
list archives, related that to the newer HVM layer.
HVM hardware is emulated via a patched
QEMU
"device manager" (qemu-dm)
daemon running as a backend in dom0. There is no SCSI emulation, only
PIIX3 IDE (with some rudimentary PIIX4 capabilities), Cirrus Logic or
vanilla VGA emulated video, RTL8139 or NE2000 network emulation, PAE,
and somewhat limited ACPI and APIC support. Basically the same devices
available in QEMU 0.8.2 today (with a number of patches for
performance, etc).
For our initial deployment, we are testing a number of AMDX2 capable
motherborards. Only the AM2 and F socket based dies appear to offer SVM.
My next post will detail the conversion process for migrating VMWare images to HVM.
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/8059/showart_1806979.html |
|