CentOS 7 安装 KVM

KVM是Kernel Based Virtual Machine的简称,可以利用硬件虚拟扩展来提供多种操做系统的虚拟化软件,KVM可以经过两种方式来管理,一种是命令行,另外一种是图形化界面。python

 Virt-Manager(Virtual Machine Manager)是基于KVM使用最为频繁的管理应该程序,可以建立、编辑、开始和暂停虚拟机。linux

  

依赖

KVM须要CPU支持硬件虚拟化,能够经过下面命令查询是否支持,若是输出有相关的vmx或者svm,代表CPU支持,若是返回值为0或空,就不支持。es6

systemctl stop firewalld.service api

systemctl disable firewalld.service网络

   

执行 egrep '(vmx|svm)' /proc/cpuinfo 或者 egrep -c '(vmx|svm)' /proc/cpuinfo 命令工具

 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 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt aes lahf_lm ida arat dtherm tpr_shadow vnmi flexpriority ept vpidflex

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 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt aes lahf_lm ida arat dtherm tpr_shadow vnmi flexpriority ept vpidui

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 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt aes lahf_lm ida arat dtherm tpr_shadow vnmi flexpriority ept vpidspa

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 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt aes lahf_lm ida arat dtherm tpr_shadow vnmi flexpriority ept vpid操作系统

 

安装KVM

经过下面命令安装qemu和virt-manager软件包

yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python python-virtinst libvirt-client virt-install virt-viewer bridge-utils

说明:

qemu-kvm:qemu模拟器

qemu-img:qemu磁盘image管理器

virt-install:用来建立虚拟机的命令行工具

libvirt:提供libvirtd daemon来管理虚拟机和控制hypervisor

libvirt-client:提供客户端API用来访问server和提供管理虚拟机命令行工具的virsh实体

virt-viewer:图形控制台

 

经过下面的命令建立虚拟机:

virt-install --name=itzgeekguest --ram=1024 --vcpus=1 --cdrom=/tmp/CentOS-6.5-x86_64-minimal.iso --os-type=linux --os-variant=rhel6 --network bridge=br0 --graphics=spice --disk path=/var/lib/libvirt/images/itzgeekguest.dsk,size=4

说明:

-name:虚拟机的名字

-ram:内存大小MB

-vcpus:CPU个数

-cdrom:ISO镜像位置

-os-variant:OS类型,例如rhel 6,solaris

-network:网络,友情连接:建立经过Virt Manager建立桥接网络

-graphics:Guest显示设置

-disk path:磁盘位置

CentOS 7 - Guest Installation command Line Virt Viewer

  

图形化界面建立虚拟机

使用virt-manager工具

virt-manager

    

在host os查看KVM安装是否成功:

kvm内核模块

将kvm嵌入到内核:

modprobe kvm
modprobe kvm-intel

而后使用命令查看是否已经嵌入成功,

若是显示下面的结果则表明嵌入成功。

[root@controller ~]# lsmod | grep kvm

kvm_intel 55496 0 

kvm 337900 1 kvm_intel 

[root@controller ~]#

 

若是嵌入不成功,须要启动libvirt

service libvirtd restart
chkconfig libvirtd on

 

在guest OS 上查看CPU是否成功开启硬件虚拟化:

egrep -c '(vmx|svm)' /proc/cpuinfo

输出结果大于0