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。
部署环境如下:
第一步:查看服务器CPU是否开启虚拟化
(vmx为Intel处理器的虚拟化,svm为AMD处理器的虚拟化,如果上面命令结果为空记得在BIOS里打开Intel VT或AMD V技术)
第二步:安装KVM需要的软件工具,并且确保libvirtd服务是启动状态
(如果服务器安装了图形化界面,那么可以安装virt-manager工具来图形化管理KVM,libvirtd服务是控制虚拟化的服务)
第三步:创建一个网桥作为连接服务器和KVM虚拟机的桥梁
第四步:上传镜像到服务器然后通过命令行安装KVM虚拟机
--name为虚拟机的名字,--virt-type为虚拟化类型,--vcpus为虚拟cpu的核心数,--memory为内存大小,默认单位为MB,--disk为硬盘文件的存放路径,format为硬盘文件的格式,size为大小,--cdrom为光驱(镜像)的存放位置,--network后面为网络连接的类型,--grapics vnc表示可以被vnc客户端远程连接,listen为可以被监听的地址范围,--noautoconsole表示不自动弹出控制台
第五步:通过VNC客户端软件连接服务器并且安装KVM虚拟机(连接前记得关闭防火墙和SELinux)
第六步:安装完系统后通过命令行启动KVM虚拟机,并给虚拟机设置对应IP
然后查看服务器网桥已桥接成功
第七步:ssh登录到KVM虚拟机验证