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

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

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值