KVM虚拟化平台部署及管理

前言

KVM即Kernel Virtual Machine,最初是由以色列公司Qumranet开发。2007年2月被导入Linux 2.6.20核心中,成为内核源代码的一部分。2008年9月4日,Redhat收购了Qumranet,至此Redhat拥有了自己的虚拟化解决方案,之后便舍弃Xen开始全面扶持KVM,从RHEL6开始KVM便被默认内置于内核中。本文介绍KVM虚拟化平台部署及管理。

KVM简介

KVM特点

KVM必须在具备Intel VT或AMD-V功能的x86平台上运行。KVM包含一个为处理器提供底层虚拟化,可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko)。使用一个经过修改的QEMU(qemu-kvm),作为虚拟机上层控制和界面。

由于KVM仅是一个简单的虚拟化模块,所以它的内存管理没有自我实现,需借助于Linux内核实现内存管理。KVM能够使用Linux所支持的任何存储,在驱动程序的实现上,直接借助于Linux内核来驱动任何硬件。在性能上KVM继承了Linux很好的性能和伸缩性,在虚拟化性能方面,已经达到非虚拟化原生环境95%左右的性能(官方数据)。KVM拓展性也非常好,客户机和宿主机都可以支持非常多的CPU数量和非常大的内存,可以过载使用CPU和内存,还可借助KSM技术实现对内存的过量使用,且保证性能依旧非常不错。

KVM架构

KVM架构.jpg

KVM的架构非常简单,就是内核的一个模块,用户空间通过qemu模拟硬件提供给虚拟机使用,一个虚拟机就是一个普通的Linux进程,通过对这个进程的管理,就可以完成对虚拟机的管理。

KVM平台部署

检测硬件

检测是否支持虚拟化

安装管理软件

我们首先介绍KVM的原生管理软件qemu-kvm

qemu-kvm命令详解

qemu-kvm的标准选项

qemu-kvm的标准选项主要涉及指定主机类型、CPU模式、NUMA、软驱设备、光驱设备及硬件设备等

网络选项

创建磁盘映像文件

配置桥设备

如果我们加入网卡设备,则需要使系统启动后桥接网络到br0上,我们通过脚本实现启动和停止系统时桥接网络和删除桥接的自动执行操作

安装虚拟机

1.jpg

现在就可以安装系统了,我们看一下脚本有没有生效

脚本生效了,安装过程就不详述了,想必朋友们已经轻车熟路了,qemu-kvm就先说到这里了

基于Libvirt实现虚拟机管理

因为对进程的管理非常麻烦,Redhat发布了一个开源项目Libvirt,Libvirt有API,也有一套命令行工具,可以完成对虚拟机的管理,大多数的管理平台都是通过Libvirt来完成对KVM虚拟机管理的,下面我们就来介绍一下基于Libvirt实现虚拟机管理

安装所需组件

启动服务

virt-install

virt-install是一个命令行工具,它能够为KVM、Xen或其它支持libvrit API的hypervisor创建虚拟机并完成GuestOS安装;此外,它能够基于串行控制台、VNC或SDL支持文本或图形安装界面。

安装虚拟机

2.jpg

virt-manager

virt-manager是一套用 python编写的虚拟机管理图形界面,用户可以通过它直观地操作不同的虚拟机,virt-manager就是利用libvirt的API实现的。

安装虚拟机

创建一个新虚拟机,这次选用网络安装

3.jpg

指定安装源

4.jpg

过程就不想详细描述了,直接开始安装

5.jpg

安装完成,重启即可进入系统

6.jpg

virt-manager类似于VMware Workstation,操作较为简单,就不多作介绍了,至此,KVM虚拟化平台部署及管理的几种方式就全部介绍完了

The end

KVM虚拟化平台部署及管理的几种方式就说到这里了,总体来说,Libvirt组件在用户体验上是要强于qemu-kvm的,至于选用哪种方式,全凭个人喜好,部署过程有什么疑问可留言交流。以上仅为个人学习整理,如有错漏,大神勿喷~~~

原创文章,作者:书生,如若转载,请注明出处:/6380

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班

友情链接:万达招商  万达直属  华宇招商  万达开户  万达主管QQ  万达娱乐注册  万达娱乐主管QQ  万达娱乐注册  万达娱乐招商