虚拟化集群特性

.主机存储虚拟化层 虚拟化中的存储架构_.主机存储虚拟化层

  • 如上图包含:物理内存、物理cpu、物理磁盘disk,这里所有的资源都被虚拟成为了虚拟资源(其中还包含网络资源)
虚拟CPU(VCPU)

.主机存储虚拟化层 虚拟化中的存储架构_linux_02

虚拟内存

.主机存储虚拟化层 虚拟化中的存储架构_linux_03

虚拟磁盘

.主机存储虚拟化层 虚拟化中的存储架构_linux_04

  • 还有虚拟网络资源被做成了DVS虚拟交换机
集群添加主机节点图解(CNA默认是gandalf用户登陆,不能在登录之前修改密码,登陆后可以更改密码)

.主机存储虚拟化层 虚拟化中的存储架构_云原生_05

FusionCompute添加存储资源

  • IPSAN:把v3v5类型的SAN存储添加给FusionCompute,SAN存储又是存储区域网络(Storage Area Network)操作系统创建文件系统的对象叫做SAN存储
  • 块设备:是自己需要创建文件系统的
  • NAS存储:管理口IP是用来登陆到web界面通过点点点创建预存储池LUN主机映射试图
  • FusionStorhe Block存储:给CNA主机用不是人来登的,随便一个CNA的网卡可以和业务口联通,然后通过交换机打通,然后CNA1进行写数据(input),CNA2进行写数据,反过来CNA2读数据,那么CNA1也是读数据,业务口专门提供业务数据的读写
  • 添加存储资源然后写自己管理口ip和业务口ip
  • 绿色的线表示关联主机(不管你关联到那一台主机它都会读取里面的存储空间LUN)如果你只做了一根绿色的线关联到CNA1那么,你CNA2是读取不到存储空间里面的内容的。
  • LUN被做成了虚拟化存储设备,也可以是裸设备
  • 逻辑层:将识别到的存储设备做成数据存储(虚拟化数据(LUN 文件系统)、非虚拟化存储(FS存储池)裸设备(LUN))

FusionCompute的优势

FusionCompute组件的作用

  • 组件:CNA
  • 功能:
  • CNA主要提供以下功能:
  • 提供虚拟计算功能。
  • ·管理计算节点上的虚拟机
  • 管理计算节点上的计算、存储、网络资源。
  • 组件:VRM
  • 功能:VRM主要提供以下功能:
  • ·管理集群内的块存储资源。
  • ·管理集群内的网络资源(IP/VLAN),为虚拟机分配IP地址。
  • ·管理集群内虚拟机的生命周期以及虚拟机在计算节点上的分布和迁移。·管理集群内资源的动态调整。
  • ·通过对虚拟资源、用户数据的统一管理,对外提供弹性计算、存储、IP等服务。·通过提供统一的操作维护管理接口,操作维护人员通过WebUI远程访问FusionCompute对整个系统进行操作维护,包含资源管理、资源监控资源报表等。

什么是虚拟化

  • 虚拟化:就是一个宿主机有很多个文件夹,一个虚拟机所有文件放在一个文件夹,很多个文件夹代表一个虚拟机,这些虚拟机都在宿主机上

计算机虚拟化发展史

虚拟化VMware分解概念

.主机存储虚拟化层 虚拟化中的存储架构_服务器_06

  • 虚拟化的特点:
  • 分区:针对物理机而言
  • 隔离:针对虚拟化而言
  • 封装:虚拟机的所有虚拟资源都是以文件的形式封装在物理机的一个文件夹里面
  • 独立:虚拟机和物理机没有绑定关系,可以随意迁移和被复制,配置品牌是否一样
  • 计算资源、CPU、内存
  • CPU虚拟化:物理机使用CPU后来把CPU虚拟化成了VCPU
  • OS=Kernel+各种服务(分为4层)
  • 最内存包括:
  • ring0:内核层(II型虚拟化)
  • 第一层各种服务
  • 第二层也是服务
  • 第三层就是app
  • host os kernel:内核层(没有虚拟化)
  • 第一层就是kernel
  • 第二层各种服务(会装workstation)
  • 第三层app(vm和guest os)
  • vmm:内核(I型虚拟哈)
  • 第一层驱动层
  • 第二层各种服务
  • 第三层app
  • 由于虚拟化技术出现了,那么VMM会占用ring0的位置,将虚拟机的kernel挤到ring1的位置,那么特权命令的特权就会被杰出,这个现象叫做特权解除现象,为了解决这个现象让虚拟机不知道自己是虚拟机,所以有个技术出现了,就是陷入模式 ,就是把特权被解除的特权命令陷入到VMM中,有VMM去模拟执行,帮虚拟机完成了特权命令的调用,这叫CPU的虚拟化技术。

关系模型

  • ring0:是I型虚拟化,在上图中可以看到列举的有老大到老四,每个位置的权限也一样,老四<老三<老二<老大,但是如果老四权限不够的话,可以直接越级向老大请求权限,
  • 在ring0的最外层工作的的guest os、vm和workstation,那么workstation工作在vm里面,如果内存不够的话,workstation要向vm请求,vm要向ring0请求,申请空间,然后ring0把虚拟空间给到workstation让其使用。

CPU虚拟化

全虚拟化样图

.主机存储虚拟化层 虚拟化中的存储架构_云原生_07

  • Guest OS:表示的kernel指令,通过调用Hypervisor指令,然后再到达Hardware最终完成指令的调用。
  • 应用:它工作在app层,可以直接调用Hardware中的指令
  • 用户态中的特权指令:会陷入到Gest OS循环去执行调用命令 ,而非特权指令就可以直接执行,
  • 详细了解全虚和半虚可以访问((15条消息) 完全虚拟化+硬件虚拟化_咕咕瓜瓜的博客-CSDN博客_硬件虚拟化

半虚拟化样图

  • 由于全虚拟化技术比较慢,所以就出现了第二种虚拟化技术也就是半虚拟化技术
  • Hypervisor:相当于vmm,然后告诉虚拟机Guest OS 你就是一个虚拟机,然后Guest OS知道自己是虚拟机后妮,因为自己性能比较然后
  • 那么它就会想尽办法去提升自己的性能,那么它就会更改自己的内核,然后将一些敏感指令(reboot/init 0/shout down now/poweroff)那么这些指令会被vmm拿走(Hypervisor)然后再反馈给Hardare然后物理机就重启了,也就是说虚拟化需要执行一条危险指令,那么就会被Hardware拿去转换一下,命令性质是一样,然后再发送给虚拟机让它重启,我们熟知的开源的内核源代码的有linux操作系统,所以半虚拟化不支持windows操作系统。
  • 半虚拟化与全虚拟化相比:全虚拟化支持安装linux和windows操作系统,但是性能没有半虚拟化好,开发难度大,但是兼容性相较于好些。而半虚拟化只支持安装linux操作系统,但是性能要比全虚拟化好,但是不兼容windows操作系统,所以兼容性不好,

做虚拟化的原因:

  • 1.首先虚拟化一台物理服务器资源比较多,然后我们就会在上面跑很多服务,服务多了在一台服务器上肯定相互影响,可能我们在一台服务器上装一个orecle应用/一个web服务/跑一个mail服务,那么这样虽然性能和利用率得到提升达到70%,到达一台服务器最大使用价值,比较爽了,一台服务器业务不能跑大于70%,不然服务器会非常的卡,
  • 那么问题来了,这三个服务之间都跑在一台服务器上就会抢夺资源。
  • 2.要解决三个服务打架的问题,那么就可以把三个服务分别运行在三台不同的服务器上,那样性能提升还解决了打架问题
  • 但是问题又来了,成本高,三台服务器资源利用率比较低,每台服务器使用都只有10%
  • 3.所以虚拟化技术就出现了,就用一台服务器去跑三个业务,使用虚拟化技术,在一台服务器上装三台服务,并且三个服务都是独立的个体,谁也不知到谁,业务互不影响,所以这就是虚拟化出现的原因

全虚/半虚/硬件辅助(优缺点)

  • 全虚拟化:
  • 优点:兼容性好,各种OS都支持
  • 缺点:性能慢,VMM开发难度很大
  • 半虚拟化:
  • 优点:性能快,IBM+redhat合作的半虚拟化驱动(virtual io)可以快速完成IO虚拟化(KVM)可以快速完成CPU和内存虚拟化
  • 缺点:不支持闭源操作系统 ,后来有了virtual io后才可以安装闭源OS
  • 硬件辅助虚拟化:
  • 优点:性能快兼容好
  • 缺点:CPU要支持硬件虚拟化才可以

  • 内存虚拟化
  • 不管是虚拟化内存还是物理内存也好,想要内存工作,内存都必须遵循两个原则:
  • 1.从0开始编号
  • 2.内存编号要连续
  • 再上图中内存虚拟化是由VMM做的,VMM工作原理,就是把物理内存连续编号,然后创建虚拟机1
  • 虚拟机1需要向VMM申请内存,那么虚拟机1是第一个申请内内存的虚拟机,那么VMM就会把自己的0号虚拟内存分配给它
  • 那么虚拟机4也需要申请内存,那么VMM需要连续申请内存,那么VMM就会给虚拟机4分配虚拟内存1号,然后充当虚拟机4的0号内存,不管如何每台虚拟机申请的虚拟内存都会成为该虚拟机的0号内存
  • 以此类推,上图中的虚拟机2需要向VMM申请虚拟内存那么2号虚拟内存就会分配给虚拟机2充当0号内存
  • 如图(图案相对应分配虚拟内存)
  • 内存虚拟化视图(如图两边对应,就是虚拟化的映射关系)