FusionCompute产品基本概况
服务器虚拟化架构:
基础设施层:X86服务器、存储服务器、路由器或交换机、防火墙等
虚拟化层:FusionCompute、VMware、Vsphere
云资源管理层: FusionManage
其他服务:容灾服务BCmanage(UItraVR)、备份服务BCManage eBackup、eSDK提供北向的API接口、SOI性能监控和分析系统

FusionCompute逻辑架构:
CNA:计算节点代理。包括UVP和VNA
UVP:统一的虚拟化平台,实现资源池化和功能。
VNA:虚拟节点代理,实现UVP与VRM运行。
VRM:虚拟集群管理器。为管理员提供Web Portal的界面,实现对接计算资源、存储资源、网络资源统一管理,提供告警、日志、监控等等维护管理功能。
FusionCompute网络平面划分:管理网络平面、存储网络平面、业务网络平面、BMC网络平面。
BMC网络平面:主要是用来管理服务器。
Hypervisor:又称虚拟机监视器(英语:virtual machine monitor,缩写为 VMM),是用来建立与执行虚拟机器的软件、固件或硬件。

Hypervisor——一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件。也可叫做VMM( virtual machine monitor ),即虚拟机监视器。Hypervisors是一种在虚拟环境中的“元”操作系统。他们可以访问服务器上包括磁盘和内存在内的所有物理设备。Hypervisors不但协调着这些硬件资源的访问,也同时在各个虚拟机之间施加防护。当服务器启动并执行Hypervisor时,它会加载所有虚拟机客户端的操作系统同时会分配给每一台虚拟机适量的内存,CPU,网络和磁盘。
FusionSphere虚拟化套件组成:

FusionSphere产品通过在服务器上部署虚拟化软件,将硬件资源虚拟化,从而使一台物理服务器可以承担多台服务器的工作。通过整合现有的工作负载并利用剩余的服务器以部署新的应用程序和解决方案,可以实现较高的整合率。除此之外,FusionSphere还提供企业级及运营级虚拟数据中心技术,以及跨站点容灾等能力。
FusionSphere服务器虚拟化架构:

FusionCompute:提供对x86物理服务器,SAN设备的虚拟化能力,并提供软件定义网络基础能力。
FusionManager:使用FusionCompute能力,并集成防火墙,负载均衡器等的自动化管理能力,提供企业级和运营级的虚拟数据中心管理方案。
UltraVR: 提供跨站点容灾能力。
eBackup: 提供虚拟机的备份能力。
FusionCompute计算虚拟化:
FusionCompute采用的是硬件辅助全虚拟化
内存虚拟化:
Native操作系统对内存的认识与管理达成以下两点认识:
1、内存都是从物理地址0开始的
2、内存都是连续的
内存虚拟化需要解决两个的问题:
1、从物理地址0开始的:物理地址0只有一个,无法同时满足所有客户机从0开始的要求;
2、地址连续:虽然可以分配连续的物理地址,但是内存使用效率不高,缺乏灵活性。

VMM需要处理以下两个问题:
维护客户机物理地址到宿主机物理地址之间的映射关系。GPA——>HPA
截获虚拟机对客户机物理地址的访问,并根据映射关系转换为宿主机物理地址。(GVA——>)GPA——>HVA——>HPA
Guest Virtual Address(GVA):客户机虚拟内存地址,应用程序、进程所使用的内存地址空间。
Guest Physical Address(GPA):客户机物理地址空间,虚拟机所能够使用的内存地址范围
Host Virtual Address(HVA):宿主机虚拟内存地址,由QEMU-KVM模块在物理内存地址当中,申明一段连续虚拟内存给虚拟机使用的地址。
Host Physical Address(HPA):宿主机物理内存地址,真的内存地址。
GVA——>GPA:借助本身的操作系统的MMU内存管理单元来去实现应用程序或者进程的内存映射到虚拟机操作系统的内存,实现GVA——>GPA
GPA——>HVA——>HPA:在VMM层来看,VM就是一个进程,进程地址到物理地址,需要另外一个MMU来去实现,就是再引入一个MMU——MMU虚拟化。
MMU虚拟化:
- 软件MMU虚拟化:影子页表
- 硬件MMU:EPT技术(Intel)、NTP技术(AMD)
通过影子页表,则可以实现客户机虚拟地址到宿主机物理地址的直接转换。
MMU是Memory Management Unit的缩写,中文名是内存管理单元,有时称作分页内存管理单元(英语:paged memory management unit,缩写为PMMU)。它是一种负责处理中央处理器(CPU)的内存访问请求的计算机硬件。它的功能包括虚拟地址到物理地址的转换(即虚拟内存管理)、内存保护、中央处理器高速缓存的控制,在较为简单的计算机体系结构中,负责总线的仲裁以及存储体切换(bank switching,尤其是在8位的系统上)。
大页内存:
内存映射表:虚拟内存到物理内存映射,位于内存当中。为了达到性能优化的问题,会将内存映射表放于到寄存器中,但是寄存器比较小,只会将部分内存映射表放入到寄存器当中,就会出现无法直接命中的情况。大页内存就是修改这张表,从4KB大小调整到2MB,提高命中率。
I/O虚拟化:
MMIO:使用内存作为设备于软件通信的空间,整个过程需要CPU参与。
端口I/O:使用专门的IO空间作为设备与软件通信的空间,需要CPU参与。
DMA:直接内存拷贝。使用内存作为设备与软件通信空间,但是整个过程不需要CPU参与,而是使用专门DMA控制器。
I/O虚拟化可以被看作是位于服务器组件的系统和各种可用I/O处理单元之间的硬件中间件层,使得多个guest可以复用有限的外设资源。
设备虚拟化(I/O虚拟化)的过程,就是模拟设备的这些寄存器和内存,截获Guest OS对IO端口和寄存器的访问,通过软件的方式来模拟设备行为。
在QEMU/KVM中,客户机可以使用的设备大致可分为三类:
1、模拟设备:完全由 QEMU 纯软件模拟的设备
2、Virtio 设备:实现 VIRTIO API 的半虚拟化设备
3、PCI 设备直接分配 (PCI device assignment)
PV驱动:虚拟机虚拟化驱动,安装在GUEST OS里。
FusionCompute在线调整CPU和内存:vRAM、vCPU不仅支持离线添加/删除,还支持在线添加。(支持主流Linux系统虚拟机在线调整CPU和内存;支持主流Windows系统虚拟机在线调整内存,在线调整CPU后重启生效。)
内存复用与SR-IOV直通、GPU直通、NVME SSD盘直通特性互斥。直通设备的虚拟机必须内存独占,内存独占后虚拟机的内存不会被交换到交换空间。内存复用(非100%内存预留)的虚拟机不能直通设备。
NUMA技术:非统一内存访问(NUMA)是一种用于多处理器的电脑记忆体设计,内存访问时间取决于处理器的内存位置。 在NUMA下,处理器访问它自己的本地存储器的速度比非本地存储器(存储器的地方到另一个处理器之间共享的处理器或存储器)快一些。通俗理解就是可以使CPU快速访问内存的技术。
NUMA架构:非一致性内存访问,在服务器内部,CPU和内存所去组成Node节点,让CPU快速的去访问到本地Node节点内存,提升性能。
NUMA架构是为了解决传统的对称多处理系统中的可扩展问题而诞生的。

Guest NUMA:让虚拟操作系统或者应用程序所去识别NUMA架构,在实用内存的时候,让虚拟机优先去调用本节点内存,从而减少访问的延迟,提升性能。Guest NUMA是在集群当中开启。
Host NUMA:让主机操作系统所去识别的NUMA架构,在创建VM的时候,优先调用到本节点的内存和CPU的资源,同时还可以负载均衡。Host NUMA是在底层的BIOS中开启。
虚拟机HA:
HA原理的实现:(前提:共享存储)
- VM故障、节点故障、虚拟机对应的数据存储故障
- 管理节点查询VM状态,发现VM故障
- 管理节点判断集群是否开启了HA属性,根据保存VM的描述信息选择可用的主机启动VM
- 节点接收到信息只会按照描述信息创建新的VM
- 重新完成卷的挂载。
虚拟机热迁移:
虚拟机热迁移虚拟机磁盘数据位置不变,只改变映射关系。
虚拟机热迁移是后续动态资源调度(DRS)和分布式电源管理(DPM)技术的基础。
VM热迁移过程:
- 将虚拟机的配置信息和设备信息迁移到目标主机当中
- 将虚拟机的初始内存和变更内存分片迁移到主机当中
- 在短暂的时间内去暂停源虚拟机的IO请求,将最后的变更内存分片迁移到目标主机当中。
- 停止源主机,拉起目标主机
虚拟交换机DVS:横跨多个CNA节点,不同的DVS使用的上行链路端口不同;使用多个DVS的目的是为了隔离或是VLAN池数量不够的情况;
OVS和EVS:OVS是开源的虚拟交换机,支持SDN等;EVS是华为在OVS基础上增强实现的虚拟交换机;
SR-IOV:SR-IOV是在硬件直通技术的增强,可以在网卡数量有限的情况先仍然能够利用到直通技术的性能。该技术可以将一张网卡在硬件层面虚拟成多张网卡,被多台虚拟机直通使用。
PCI直通:硬件直通是指将物理主机的硬件资源直接挂载给虚拟机使用,不需要经过hypervisor的模拟和过滤,虚拟机发的命令直接送到物理设备。
IMC策略:设置集群的IMC策略,使虚拟机可以在不同CPU类型的主机间进行切换,确保主机向虚拟机提供相同的CPU功能及。
设置集群IMC策略时,如果集群中有主机或虚拟机,则必须满足下面的条件:
1、集群下主机的CPU功能集必须等于或高于设置的目标基准功能集。
2、集群下运行或休眠状态的虚拟机CPU功能集必须等于或低于目标基准功能集。如果存在不满足条件的虚拟机,需要将该虚拟机关机或迁移出该集群后设置。
DPM分布式电源管理
DRS(分布式资源调度程序):DRS(Distributed Resource Scheduler)分布式资源调度程序,根据对资源池资源负载的动态监控,合理触发均匀分配规则,最终实现资源池中的物理服务器之间重新分布虚拟机的目的。
规则组:
聚集虚拟机:列出的虚拟机必须在同一主机上运行。
互斥虚拟机:列出的虚拟机必须在不同主机上运行。
虚拟机到主机:虚拟机组的成员是否能在特定主机组的成员上运行。
规则顺序优先级:DPM>高级规则组>DRS
存储虚拟化:
FusionCompute中存储基本概念:
存储资源:存储资源表示物理存储设备例如IP-SAN、FC-SAN、NAS、FusinStorage存储等。
存储设备:存储设备表示存储资源中管理单元,类似LUN、FusinStorage存储池、NAS共享目录、本地磁盘等。
数据存储:数据存储表示虚拟化平台中可管理、操作的存储逻辑单元。(共享目录、逻辑卷等)
FusionStorage Block添加数据存储时默认非虚拟化的使用方式。

VIMS虚拟集群存储文件系统
VIMS存在两种心跳,磁盘心跳用于检测主机是否可以正常读写共享存储,网络心跳用于检测主机间网络通信是否正常。
FusionCompute磁盘技术:
在存储虚拟化中,所有用户存储都是以文件形式呈现,虚拟机磁盘、快照、虚拟机配置都对应一个独立的文件,常见的磁盘文件分为以下几种:普通磁盘、普通延迟置零盘、精简磁盘、差分磁盘。
从数据安全性上又划分为:持久化、非持久化
存储虚拟化功能原理:
FusionCompute支持普通快照、一致性快照以及内存快照。
创建快照会创建一个差分磁盘文件,该磁盘文件与源磁盘文件存放同一目录下。源磁盘文件会转为只读,新写入的数据存放在差分磁盘文件中。
回滚快照时会删除差分磁盘文件中的数据。

删除快照时,系统会整合原磁盘与差分磁盘文件里面的数据,形成新的磁盘文件。

存储热迁移:

- 热迁移首先使用写时重定向,将虚拟机数据写入目的存储的一个差异磁盘,这样,原磁盘文件就变成只读的。
- 将源卷的所有的数据块依次读取出来并合并到目标端的差异磁盘中,等数据合并完成后,目的端的差分磁盘就拥有虚拟磁盘的所有最新数据。
- 去除目的端快照对源卷的依赖,将差分磁盘修改为动态磁盘,这样,目的端磁盘文件可以独立运行。
存储资源裸设备映射 (RDM)
FusionCompute提供了存储扩容的类型有虚拟卷扩容和数据存储扩容。
FusionCompute支持在离线或在线状态下对磁盘的容量扩充,对于普通磁盘,会将数据区域进行扩充,并进行写零。对于普通延时置零磁盘,会将数据区域进行扩容,并进行空间预占。对于精简磁盘,仅对数据区域进行扩容。
数据存储扩容使得一个数据存储可以管理多个物理LUN空间,当需要扩容数据存储时,可以通过添加另外的物理LUN至数据存储或者对物理LUN进行扩容再扩容数据存储,从而实现对数据存储灵活地进行空间扩容,有效提高数据存储扩展性。
存储虚拟化的逻辑架构:
- 裸设备+逻辑卷
- 存储设备虚拟化
- 主机存储虚拟化+文件系统
数据存储的使用方式:
- 虚拟化数据存储
- 非虚拟化数据存储
- 裸设备映射
FusionCompute网络虚拟化:
Open vSwitch(OVS):是一款基于软件实现的开源虚拟以太网交换机,实现了虚拟机的同心、以及虚拟机能够访问到外部网络。OVS是单线程、运行在内核态
Elastic Virtual Switch(EVS):扩展的虚拟交换机,基于OVS转发技术,提升了其IO性能的一种弹性化虚拟交换。EVS是多线程、运行在用户态
DVS:分布式的虚拟交换机。由VRM所去维持一台虚拟的逻辑的分布式交换机,能够跨越多台物理主机,为FusionCompute来去提供统一的网络。通过上行链路链接DVS,将多个EVS逻辑组合成为DVS。
端口组:一组具备相同属性的虚拟交换端口的集合。其功能包括IP与MAC地址绑定、DHCP隔离、TCP填充校验等等。
上行链路:虚拟交换端口与物理服务器网卡所去连接的一条链路。
FusionCopmute虚拟机的通信:
在同一个二层,同一个主机,相同的DVS或者是不同的DVS,数据转发路径不会经过物理的网络。
在同一个二层,不同的主机,相同的DVS或者是不同的DVS,数据转发路径会经过物理的网络。
在不同的二层,相同或者不同的主机,相同或者不同的主机,相同的DVS或者是不同的DVS,数据转发路径都会经过物理网络。
华为虚拟交换机提供三种虚拟交换模式:普通模式,SR-IOV直通模式,用户态交换模式。
二层网络安全策略:IP和MAC绑定、DHCP服务隔离