目标:描述什么是虚拟化
区分虚拟化和云计算
了解KVM技术
了解华为虚拟化解决方案
一、传统PC办公(企业痛点)
1、数据安全隐患
2、维护量大,维护成本高
3、设备更新换代成本高
二、虚拟化前后的对比
1、虚拟化前
①、IT资源独立
②、操作系统跟硬件紧耦合
③、APP:OS:Phy = 1:1:1
2、虚拟化后
①、形成抽象资源共享池
②、上层操作系统与硬件解耦合
③、APP:OS:Phy = n:1:1
在闲时,多台服务器上的虚拟机利用率都比较低,又可以把虚拟机迁移到一起,减少运行服务器的数量,等到虚拟机业务繁忙是再启动服务器。
2、II型虚拟化
物理机上首先安装常规的操作系统。比如Redhat、Ubantu和Windows、Hypervisor作为OS上的一个程序模块运行,并对虚拟机进行管理。(KVM属于II型,当不属于宿主型虚拟化,属于混合虚拟化)、VirtualBox和VMware Workstation都属于这个类型。
七、计算虚拟化中的重要概念
2、CPU指令
①、特权指令:是指有特权权限的指令,由于这类指令的权限最大,如果使用不当,将导致整个系统崩溃。
②、用户指令:可在各级别的状态下执行,即用户态下够使用的非特权指令。
③、系统调用:系统调用(System Call)是操作系统为在用户态运行的进程与硬件设备(如CPU、磁盘、打印机等)进行交互提供的一组接口。
用户态进程由于权限不足,需要通过系统调用申请使用操作系统提供的服务程序完成工作,即由用户态进入内核态的过程,比如要访问磁盘、写文件,CPU的运行级别会发生从Ring3到Ring0的切换。
3、CPU虚拟化
①、CPU虚拟化产生的问题
Ⅰ、敏感指令:可以读写系统关键资源的指令叫做敏感指令。
Ⅱ、特权指令:决大多数的敏感指令是特权指令,特权指令只能在处理器的最高特权级 (内核态)执行。
②、解决方法
Ⅰ、特权解除:把虚拟机的操作系统级别降为Ring1或Ring2
Ⅱ、陷入-模拟:将虚拟机操作系统下发的特权指令由VMM捕获并进行模拟相关操作,给虚拟机返回结果
③、CPU虚拟化漏洞
CPU存在19条敏感指令已对运行在统一服务器上的虚拟机造成影响(对系统有危害但属于非特权指令,临界指令,非特权敏感指令)
④、解决方法
Ⅰ、全虚拟化
由Hypervisor“欺骗”虚拟机操作系统,让虚拟机操作系统认为自己就是老大(依然处于Ring 0级别),可以直接调用底层物理硬件资源。其实是由Hypervisor层接受了虚拟机操作系统下发的所有指令,并识别敏感指令后向物理操作系统请求资源。再向虚拟机返回结果
全虚拟化由于Hypervisor要接受虚拟机的所有指令,由于一台服务器上不止一台虚拟机或者虚拟机指令下达比较频繁,会加重Hypervisor层的负担
Ⅲ、硬件辅助虚拟化
使虚拟机操作系统处于非ROOT模式下的Ring 0 级别,并利用ROOT模式下的CPU来减轻Hypervisor的负担(由Hypervisor层捕获指令交由CPU处理)
2、半虚拟化
对硬件驱动由前端(IO frontend)直接转到后端(IO backend)调用,通常仅适用于硬盘和 卡,性能高。
①、Domain 0
特权虚拟机,负责管理其他非特权虚拟机在主机开机,过程中第一台运行的虚拟机,向Domain U提供IO资源
②、Domain U
非特权虚拟机,或者叫用户虚拟机
2、KVM
KVM:(Kernel-based Virtual Machine)基于内核的虚拟机,是一种典型的Ⅱ型全虚拟化。它之所以叫基于内核的虚拟机,先给主机安装常规的笑傲做系统,将KVM模块安装在常规操作系统内核来实现虚拟化功能

①、KVM模块只能实现CPU和内存虚拟化,IO虚拟化由KVM-qemu来实现
②、KVM架构体系
Libvirt:主要是用于管理KVM和Hypervisor
virt-manager:是KVM图形化管理工具
virt-install:是KVM CLI命令行,主要用于创建虚拟机
virt-viewer:显示虚拟机图形化控制台的最小工具
https://mp.weixin.qq.com/s_biz=MzIxOTUwMDc4Ng==&mid=2247484847&idx=1&sn=3ad74e6e3da114b95da862ca8299e643&chksm=97db1c32a0ac9524fdf272457735e2325ee8768d4ec71bd38a6fbf14e3800a6648484adfdc6a&mpshare=1&scene=1&srcid=1102LhcWl8y63wTWOxwn1mEe&sharer_sharetime=1572674625462&sharer_shareid=821a7b78ddc302fd08e135d335cb4d4b&pass_ticket=WLUS%2FFPCC6nm3EeA7ICi2aK1T96DD%2BBziGGFmJNToE2oTK2WGeY0qvKKnD5A95tc#rd
十四、华为虚拟化解决方案(FusionCompute)
1、FusionCompute
FusionCompute是一款云操作系统软件,主要是实现对虚拟化资源,用户资源,业务资源进行管理与调度,从而降低企业运行成本,实现绿色节能
2、FusionCompute架构
①、VRM
虚拟资源管理,主要为管理员提供图形化管理界面,实现对资源的管理。一般通过虚拟机部署,可支持物理界部署,可实现主备部署
②、CNA
计算节点代理,指部署华为虚拟操作系统的主机,华为自研Euler(基于开源CentOS)
Ⅰ、UVP:统一虚拟化平台,华为对于虚拟化层(Hypervisor/VMM)的叫法
Ⅱ、VNA:虚拟计算节点,负责接收VRM下发给CNA的管理控制命令,实现VRM和CNA之间的通信
十五、拓展
1、云计算与虚拟化的区别
①、云计算是一种模式,虚拟化是一种技术
②、云计算并不一定使用虚拟化(比如裸金属服务器)
③、虚拟化在IaaS中起到关键作用
2、为什么需要虚拟化
在传统架构下,app:os:phy=1:1:1,为了避免app(业务)之间造成资源性强占,且OS只是提供运行环境,没有办法解决这个问题,所以出现了虚拟化。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!