RHEL6安装KVM虚拟机
一、KVM虚拟机简介
Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已经成为学术界的主流VMM之一。
KVM的虚拟机需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己到进程调度器、存储管理模块等,所以代码较为庞大。广为流传商业系统虚拟化软件VMware ESX系列也是基于软件模拟的Para-Virtualization。
一个普通的 Linux 进程有两种运行模式:内核和用户。 KVM 增加了第三种模式:客户模式(有自己的内核和用户模式)。
二、KVM虚拟机安装使用
1.前期准备:
1.1 确定机器是否支持虚拟化(VT)
[root@desktop4 ~]# grep vmx --color=auto /proc/cpuinfo (Intel 芯片)
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt aes lahf_lm ida arat tpr_shadow vnmi flexpriority ept vpid
[root@desktop4 ~]# grep svm --color=auto /proc/cpuinfo (ADM 芯片)
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy misalignsse
[root@desktop4 ~]# egrep "(vmx|svm)" --color=always /proc/cpuinfo (模糊查询)
或者 [root@desktop4 ~]# grep flags /proc/cpuinfo
vmx:如果输出的结果包含 vmx,它是 Intel处理器虚拟机技术标志;
svm:如果包含 svm,它是 AMD处理器虚拟机技术标志。
如果你甚么都得不到,那应你的系统并没有支持虚拟化的处理 ,不能使用kvm。
lm:长模式。表示支持64位。Linux 发行版本必须在64bit环境中才能使用KVM。
1.2 确保BIOS里开启VT
Intel(R) Virtualization Tech [Enabled]
如果有必要,还需要在BIOS中开启VT-d
1.3 确保内核版本较新,支持KVM
[root@desktop4 ~]# uname -r (确保在2.6.20 以上版本。)
2.安装KVM
安装KVM模块、管理工具和libvirt (一个创建虚拟机的工 具),我们使用命令行安装:
[root@desktop4 ~]# yum install kvm virt-manager libvirt
[root@desktop4 ~]# /sbin/service libvirtd start
确定正确加载kvm模块
运行命令 lsmod | grep kvm 检查 KVM 模块是否成功安装。
如果结果类似于以下输出,那么 KVM 模块已成功安装:
[root@desktop4 ~]# lsmod | grep kvm
kvm_amd 69416 1
kvm 226208 2 ksm,kvm_amd
检查KVM是否成功安装
[root@desktop4 ~]# virsh -c qemu:///system list
将会显示如下结果:
如果在这里显示的是一个错误的信息,说明有些东西出现了问题。