虚拟化技术:KVM介绍及试用

导读:本篇文章讲解 虚拟化技术:KVM介绍及试用,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

KVM介绍及试用

服务器虚拟化是云计算最核心的技术,而KVM是当前最主流的开源的服务器虚拟化技术。从Linux2.6.20起,KVM作为内核的一个模块 集成到Linux主要发行版本中。从技术架构(代码量、功能特性、调度管理、性能等)、社区活跃度,以及应用广泛度来看,KVM显现出明显优势,已逐渐替换另一开源虚拟化技术Xen。在公有云领域,2017年之后AWS、阿里云、华为云等厂商都逐渐从Xen转向KVM,而Google、腾讯云、百度云等也使用KVM。在私有云领域,目前VMware ESXi是领导者,微软Hyper-V不少应用,随着公有云厂商不断推进专有云/私有云方案,未来KVM应用也会逐渐增加,华为、华三、深信服均基于KVM做私有云的开发。KVM目前已支持x86、PowerPC、S/390、ARM等平台。

目录

1、主流虚拟化架构

2 KVM虚拟化架构

3 KVM试用


1、主流虚拟化架构

图1对比了几种主流虚拟化技术架构:ESXi、Xen与KVM,其主要差别在与各组件(CPU、内存、磁盘与网络IO)的虚拟化与调度管理实现组件有所不同。在ESXi中,所有虚拟化功能都在内核实现。Xen内核仅实现CPU与内存虚拟化, IO虚拟化与调度管理由Domain0(主机上启动的第一个管理VM)实现。​KVM内核实现CPU与内存虚拟化,QEMU实现IO虚拟化,通过Linux进程调度器实现VM管理。

https://pic3.zhimg.com/80/v2-b6afc784d755b9df1bf1238282a42512_720w.jpg

图1 主流虚拟化技术架构

2 KVM虚拟化架构

如图2,KVM虚拟化有两个核心模块:

1)KVM内核模块:主要包括KVM虚拟化核心模块KVM.ko,以及硬件相关的KVM_intel或KVM_AMD模块;负责CPU与内存虚拟化,包括VM创建,内存分配与管理、vCPU执行模式切换等。

2)QEMU设备模拟:实现IO虚拟化与各设备模拟(磁盘、网卡、显卡、声卡等),通过IOCTL系统调用与KVM内核交互。KVM仅支持基于硬件辅助的虚拟化(如Intel-VT与AMD-V),在内核加载时,KVM先初始化内部数据结构,打开CPU控制寄存器CR4里面的虚拟化模式开关,执行VMXON指令将Host OS设置为root模式,并创建的特殊设备文件/dev/kvm等待来自用户空间的命令,然后由KVM内核与QEMU相互配合实现VM的管理。KVM会复用部分Linux内核的能力,如进程管理调度、设备驱动,内存管理等。

https://pic4.zhimg.com/80/v2-7c9ca6efdc012803b13118b2bf2bb653_720w.jpg

图2 KVM虚拟化架构

3 KVM试用

安装虚拟机VMware Workstation

创建基于CentOS 7.x的虚拟机CNS

在CNS里安装、测试KVM

emu-kvm —-模拟计算机的工具,为KVM虚拟机提供IO设备

libvirt —-用于管理 KVM 的Hypervisor

virt-install —-命令行的虚拟机创建安装工具

bridge-utils —-网桥工具

virt-manager 是 KVM 图形化管理工具

步骤1:通过YUM方式安装上述工具包

【root@localhost~】yum install qemu-kvm libvirt virt-install virt-manager bridge-utils

注意:一定要先连接外网

步骤2:启动libvirtd

【root@localhost~】systemctl start libvirtd

步骤3:关闭虚拟机CNS,修改虚拟机配置

https://img-blog.csdnimg.cn/20201107103625422.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjAxNzg0Mw==,size_16,color_FFFFFF,t_70#pic_center

步骤4:通过SSH上传CentOS7的镜像文件,并将镜像文件复制到/var/lib/libvirt/images

可以下载ssh secure shell client用ssh ftp上传。

步骤5:开机,打开虚拟系统管理器

https://img-blog.csdnimg.cn/20201107103803587.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjAxNzg0Mw==,size_16,color_FFFFFF,t_70#pic_center

步骤6:在虚拟系统管理器创建虚拟机

https://img-blog.csdnimg.cn/2020110710372238.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjAxNzg0Mw==,size_16,color_FFFFFF,t_70#pic_center

步骤7:使用CentOS虚拟机镜像文件,给新创建的虚拟机安装系统

https://img-blog.csdnimg.cn/20201107103917344.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjAxNzg0Mw==,size_16,color_FFFFFF,t_70#pic_center

步骤8:测试KVM对虚拟机的操作命令

A 查看虚拟机命令

[root@centos01 ~]# virsh list –all

B 启动虚拟机命令

[root@centos01 ~]# virsh start centos-7

C 关闭虚拟机命令

[root@centos01 ~]# virsh shutdown centos-7

D 克隆虚拟机命令

[root@centos01~]# virt-clone -o centos-7 -n cns7 -f /var/lib/libvirt/images /cns7.img

注意:克隆前需要关闭虚拟机

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/103195.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!