CentOS/Redhat如何安装虚拟化软件KVM
KVM(基于内核的虚拟机)是针对x86硬件上Linux的完整虚拟化解决方案,其中包含虚拟化扩展Intel VT或AMD-V。
KVM是官方Linux内核的一部分,并由Novell和Redhat完全支持。
Linux内核2.6.20及更高版本包含了KVM。
RHEL/CentOS5开始都自带并支持KVM,它也已作为可加载的内核模块移植到FreeBSD。
如何在CentOS或Red Hat Enterprise Linux 5.5版下安装KVM?
KVM需要安装的软件包
您必须安装以下软件包:
kmod-kvm
:kvm内核模块kvm
:基于内核的虚拟机kvm-qemu-img
:Qemu磁盘映像实用程序kvm-tools
:KVM调试和诊断工具python-virtinst
:用于安装虚拟机的Python模块和实用程序virt-manager
:虚拟机管理器(GUI应用程序,用于安装和配置VM)virt-viewer
:虚拟机查看器(另一个轻量级应用程序,用于查看VM控制台和/或安装VM)bridge-utils
:用于配置Linux以太网桥的实用程序(推荐用于KVM网络)
KVM软件包组
CentOS / RHEL中自带了KVM软件组,其中包括KVM的完全虚拟化支持。
查看软件组信息:
# yum groupinfo KVM
libvirt
libvirt是用于管理平台虚拟化的开源API和管理工具。
它用于通过图形界面(例如Virtual Machine Manager)和高级工具(例如oVirt)来管理Linux KVM和Xen虚拟机。
QEMU
QEMU是一种处理器仿真器,它依靠动态二进制转换来实现合理的速度,同时又易于移植到新的主机CPU架构上。当用作虚拟器时,QEMU通过直接在主机CPU上执行客户代码来达到接近本机的性能。在Xen虚拟机管理程序下执行或在Linux中使用KVM内核模块时,QEMU支持虚拟化。使用KVM时,QEMU可以虚拟化x86,服务器和嵌入式PowerPC以及S390 guest虚拟机。
Virtio驱动程序
Virtio是用于kvm/Linux的半虚拟化驱动程序。这样,您可以运行运行未修改的Linux或Windows VM的多个虚拟机。每个虚拟机都有专用的虚拟化硬件,网卡,磁盘,图形适配器等。据Redhat称:
半虚拟化驱动程序可增强完全虚拟化客户系统的性能。使用半虚拟化驱动程序,客户I/O延迟减少,吞吐量增加到接近裸机水平。建议对运行I/O繁重任务和应用程序的完全虚拟化客户使用半虚拟化驱动程序。
主机操作系统
您的主要操作系统(例如CentOS或RHEL)被称为主机操作系统。 KVM是Linux内核模块,使经过修改的QEMU程序可以使用硬件虚拟化。您只需要在主机操作系统下安装KVM。
KVM域
KVM域是在主机操作系统下运行的客户操作系统。每个kvm域必须具有唯一的名称和ID(由系统分配)。
客户操作系统
KVM支持各种客户操作系统,例如
- MS-Windows 2008/2000/2003服务器
- MS-Windows 7/Vista/XP
- FreeBSD
- OpenBSD的
- Sun Solaris
- 各种Linux发行版。
- NetBSD
- MINIX
- QNX
- MS DOS
- FreeDOS
- Haiku
- Amiga Research操作系统
安装KVM
执行以下命令以在RHEL或CentOS中安装KVM:
# yum install kvm virt-viewer virt-manager libvirt libvirt-python python-virtinst
或者
# yum groupinstall KVM
配置文件和日志文件
KVM相关配置文件和目录:
/etc/libvirt/
主配置目录。/etc/libvirt/qemu/
虚拟机配置目录。有关VM的所有xml文件都存储在这里。您可以手动或通过virt-manager编辑它们。/etc/libvirt/qemu/networks/
您的KVM的网络连接,包括默认NAT。仅建议将NAT用于小型安装程序或台式机。我强烈建议您使用基于桥接的网络来提高性能。/etc/libvirt/qemu/networks/default.xml
NAT设备virbr0使用的默认NAT配置。/var/log/libvirt/
默认的日志文件目录。所有特定于VM的日志文件都存储在此处。/etc/libvirt/libvirtd.conf
主libvirtd配置文件。/etc/libvirt/qemu.conf
QEMU驱动程序的主配置文件。
KVM的TCP/UDP端口
默认情况下,libvirt不会打开任何TCP或UDP端口。但是,您可以通过编辑/etc/libvirt/libvirtd.conf文件来进行配置。此外,默认情况下,VNC配置为侦听127.0.0.1。要使其在所有公共接口上侦听,请编辑/etc/libvirt/qemu.conf文件。