KVM,Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM已成为学术界的主流VMM(virtual machine monitor)之一。

     KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。

部署环境如下:

XEN虚拟化和KVM 虚拟化 kvm xen_服务器

第一步:查看服务器CPU是否开启虚拟化

XEN虚拟化和KVM 虚拟化 kvm xen_XEN虚拟化和KVM_02

(vmx为Intel处理器的虚拟化,svm为AMD处理器的虚拟化,如果上面命令结果为空记得在BIOS里打开Intel VT或AMD V技术)

第二步:安装KVM需要的软件工具,并且确保libvirtd服务是启动状态

XEN虚拟化和KVM 虚拟化 kvm xen_Xen_03

XEN虚拟化和KVM 虚拟化 kvm xen_kvm_04

(如果服务器安装了图形化界面,那么可以安装virt-manager工具来图形化管理KVM,libvirtd服务是控制虚拟化的服务)

第三步:创建一个网桥作为连接服务器和KVM虚拟机的桥梁

XEN虚拟化和KVM 虚拟化 kvm xen_Xen_05

第四步:上传镜像到服务器然后通过命令行安装KVM虚拟机

XEN虚拟化和KVM 虚拟化 kvm xen_虚拟化_06

XEN虚拟化和KVM 虚拟化 kvm xen_虚拟化_07

--name为虚拟机的名字,--virt-type为虚拟化类型,--vcpus为虚拟cpu的核心数,--memory为内存大小,默认单位为MB,--disk为硬盘文件的存放路径,format为硬盘文件的格式,size为大小,--cdrom为光驱(镜像)的存放位置,--network后面为网络连接的类型,--grapics vnc表示可以被vnc客户端远程连接,listen为可以被监听的地址范围,--noautoconsole表示不自动弹出控制台

XEN虚拟化和KVM 虚拟化 kvm xen_kvm_08

 第五步:通过VNC客户端软件连接服务器并且安装KVM虚拟机(连接前记得关闭防火墙和SELinux)

XEN虚拟化和KVM 虚拟化 kvm xen_虚拟化_09

XEN虚拟化和KVM 虚拟化 kvm xen_kvm_10

 

XEN虚拟化和KVM 虚拟化 kvm xen_XEN虚拟化和KVM_11

 第六步:安装完系统后通过命令行启动KVM虚拟机,并给虚拟机设置对应IP

XEN虚拟化和KVM 虚拟化 kvm xen_Xen_12

 

XEN虚拟化和KVM 虚拟化 kvm xen_虚拟化_13

 然后查看服务器网桥已桥接成功

XEN虚拟化和KVM 虚拟化 kvm xen_服务器_14

 第七步:ssh登录到KVM虚拟机验证

XEN虚拟化和KVM 虚拟化 kvm xen_服务器_15