上一页
下一页
5.3. 虚拟化
Fedora 12中的虚拟化包含重大修改和新特徴,依然继续支持 KVM、Xen 以及许多其它虚拟机器平台。
本发行版的KVM和QEMU增加了一系列的新特性。通过加入KSM及KVM大页面备份内存,KVM客户机内存使用及性能都有所提高。qcow2镜像格式的性能大幅提高。增加了对SR-IOV和NIC热插拔支持。gPXE取代etherboot用于客户机PXE的引导。
libvirt方面,增加了针对存储管理和网络界面管理的API。libvirt无需权限即可运行QEMU进程。
新的库(
libguestfs
)和交互式工具(
guestfish
)可读取及修改虚拟机磁盘镜像。
5.3.1. 内核分页合并及减少客虚拟机的内存用量
Kernel SamePage Merging
(KSM) 允许完全相同的记忆分页由内核合并成一个分页,并在一个或多个处理器间共享。这项功能让KVM通过杠杆作用,使多个执行相近作业系统的客户虚拟机可以减少内存足迹。由於内存共享,使各个虚拟机合共使用的内存得以减少。
详情请参考
http://fedoraproject.org/wiki/Features/KSM
和
http://lwn.net/Articles/306704/
5.3.2. KVM巨大记忆分页支持
为KVM客户机启用大页面备份内存是为了减少内存消耗和通过降低CPU缓存压力来提高性能。使用大页面备份内存的KVM客户机用户应该能体会到通过降低主机内存消耗而带来的性能提升。性能提高取决于工作量。虽然客户机使用大页面也有缺点,但是您不必再为客户机交换或增加内存。
详情请参考:
http://fedoraproject.org/wiki/Features/KVM_Huge_Page_Backed_Memory
。
5.3.3. KVM NIC 热插拔
在不重启客户机的情况下使用
libvirt
/
virt-manager
可将网络连接添加到运行的KVM客户机上。
详情请参考:
http://fedoraproject.org/wiki/Features/KVM_NIC_Hotplug
。
5.3.4. KVM qcow2性能
qemu
的本地磁盘镜像文件格式为
qcow2
。Qcow2为原生镜像提供了增强功能,包括:基本镜像、快照、压缩以及加密。
用户通常会禁用主机上的写如缓存以防止客户机的数据受到主机破坏。之前这将会明显降低qcow2镜像中客户机的性能。
qcow2磁盘镜像的I/O性能得到很大改进。由于qcow2性能较差而不去使用的用户,现在可以考虑转换并利用该格式提供的针对原生磁盘镜像的特性。
详情请参考:
http://fedoraproject.org/wiki/Features/KVM_qcow2_Performance
和
http://www.gnome.org/~markmc/qcow-image-format.html
.
5.3.5. KVM 穩定客戶端 ABI
KVM客户机通过硬件模拟平台或者包含此平台的程序二进制接口(例如CPU、APIC、PIT、ACPI表、IDE/USB/VGA控制器、NIC等)得以实现。当QEMU更新至新版本时,此平台的某些层面会因新增的硬件性能而有所变化。这对Windows客户机来说是个问题,因为客户机ABI的变化可能需要重新进行安装。
通过QEMU更新,客户虚拟机将使用相同的ABI。
详情请参考:
http://fedoraproject.org/wiki/Features/KVM_Stable_Guest_ABI
and
http://fedoraproject.org/wiki/KVM_Stable_Guest_ABI_Design_Notes
。
5.3.6. 针对虚拟机操作的libguestfs库
Fedora 11开发周期中很晚才加入的
libguestfs
,现已成为Fedora 12的正式特性。
libguestfs
是读取和修改客户机磁盘镜像的库。通过Linux内核及
qemu
代码,
libguestfs
可访问Linux和QEMU所能访问的任何客户机文件系统。
libguestfs提供了以下工具及增强特性:
针对OCaml、Perl、Python、Ruby及Java编程语言的绑定。
guestfish
- 为编辑虚拟机文件系统及客户机上执行命令提供交互式shell。
virt-df
-显示虚拟机文件系统的剩余空间
virt-inspector
-显示虚拟机的操作系统版本、内核、驱动、挂载点、应用程序等。
virt-cat
- 从虚拟机内 "Cat" 任意文件。
了解更多信息请参考:
http://fedoraproject.org/wiki/Features/libguestfs
http://libguestfs.org/
5.3.7. 网络界面管理
像桥接、绑定、虚拟局域网以及其合理组合等常用的主机网络配置,现在可由通用网络配置库-netcf来创建。对
libvirt
API的增强展现了这个通过
libvirtd
进行主机远程管理的新特性。
了解更多信息请参考:
http://fedoraproject.org/wiki/Features/Network_Interface_Management
http://fedorahosted.org/netcf/
http://www.libvirt.org/remote.html
5.3.8. Single Root I/O Virtualizaton
Single Root I/O虚拟化是一种PCI特性,它允许创建与物理功能资源共享的虚拟功能(VF)。VF设备位于客户虚拟机中并以客户机PCI设备的形式出现。由于客户系统在直接有效地驱动硬件,因此I/O性能与实际硬件性能是一致的。
了解更多信息请参考:
http://fedoraproject.org/wiki/Features/SR-IOV
http://www.pcisig.com/specifications/iov/
http://fedoraproject.org/wiki/Features/KVM_PCI_Device_Assignment
5.3.9. 客户端默认使用gPXE
QEMU客户机目前使用更新的并且处于维护中的
gpxe
代替了etherboot工具用于PXE引导。
了解更多信息请参考:
http://fedoraproject.org/wiki/Features/VirtgPXE
http://etherboot.org/wiki/index.php
5.3.10. Virt 权限
对QEMU/KVM虚拟机做了一些修正,以改进在QEMU二进制中发生一个瑕疵事件时的主机安全性。
/dev/kvm的权限更新,可让无权限用户使用KVM硬件加速。
由在本地桌面安装的virt-manager生成的QEMU进程现在以桌面用户身份运行。
由具有权限的libvirtd守护程序生成的QEMU进程,现在将以无权限帐户运行,用户“qemu”,组“qemu”。
除了只读/共享磁盘外,libvirtd在虚拟机启动时将把虚拟机上所有磁盘的所有者更改为用户“qemu”,组“qemu”。
要恢复之前Fedora中以“root”用户运行QEMU的行为,涉及到/etc/libvirt/qemu.conf文件中的两个配置参数。并不推荐修改。
了解更多信息请参考:
http://fedoraproject.org/wiki/Features/VirtPrivileges
5.3.11. 虚拟化存储管理
Fibre Channel N_Port ID虚拟化或NPIV允许在单一物理主机总线适配器上创建多个虚拟N_Ports。libvirt节点设备API已扩展可使用NPIV创建和破坏虚拟适配器。
这些API的允许储存设备发现和池创建的功能扩展至在per-SCSI-host基础上发现和重新扫描储存设备。管理员现在不再需要多种工具就可以为虚拟机发现、配置以及提供储存设备。
了解更多信息请参考:
http://fedoraproject.org/wiki/Features/VirtStorageManagement
http://libvirt.org/storage.html
5.3.12. 其它改进
5.3.12.1. Libvirt Technology 兼容性套件
Fedora增加了libvirt 的技术兼容性套件(Technology Compatibility Kit,TCK)。这是一个功能测试套件,它能够提供功能上的详细报告,可供每一个libvirt驱动使用,还可以用来快速识别Fedora虚拟化特性开发中出现的错误或回归。
了解更多信息请参考:
http://fedoraproject.org/wiki/Features/VirtTCK
http://libvirt.org/drivers.html
5.3.12.2. 虚拟化技术预览库
为喜欢测试最新虚拟化相关软件包的用户建立了虚拟化预览仓库。本仓库目的主要是为了协助测试和早期实验。并不打算为“生产”部署。
了解更多信息请参考:
http://fedoraproject.org/wiki/Virtualization_Preview_Repository
5.3.12.3. Xen 内核支持
Fedora 12 的内核支持作为用户机 domU 引导,但还不能作为 dom0 使用,直到上游内核可提供这种支持。这些工作正在进行,并且很有希望在Fedora 13和2.6.33的核心中得到支持。
最早可以支持dom0的Fedora发行版是Fedora 8。
在 Fedora 12 主机中引导 Xen domU 用户机需要基于xenner的KVM。Xenner将虚拟机内核和小型Xen模拟器当作KVM的虚拟机一起运行。
KVM需要宿主系统有硬件虚拟功能。
当前没有硬件虚拟化功能的系统不支持 Xen 虚拟机。
了解更多信息请参考:
http://sourceforge.net/projects/kvm
http://kraxel.fedorapeople.org/xenner/
http://fedoraproject.org/wiki/Features/XenPvops
http://fedoraproject.org/wiki/Features/XenPvopsDom0
上一页
5.2. 安全性
上一级
起始页
下一页
5.4. 网页和内容服务器