两个组件:
VRM最多可以管理1024台服务器,每台服务器都是Linux上的KVM虚拟化。
VRM做的是统一的虚拟资源的管理。
KVM是实现计算资源、网络资源、存储资源的设备或基础设施。
虚拟化:华为公有云、华为云Stack、NFVI(网络功能虚拟化的基础设施)、桌面云
虚拟化是云计算的基础,但虚拟化不等于云计算。
管理至简,性能至优
定位:至简至优的虚拟化解决方案领导者。
可支持256个站点同时管理,统一运维
纳管存量VMware,保护已有投资
支持两地三中心,城域双活,跨地域容灾,保障业务连续性
无代理防病毒,构建安全生态
支持物理机、第三方平台迁移
支持FusionSphere虚拟化演进到华为云Stack混合云
255U/4T,满足业务高规格虚拟机需求
KVM引擎,着眼于企业级性能,SPECvirt测试业界领先
支持多款显卡直通和虚拟化,适配深度学习、图形渲染、复杂计算等业务场景
OVS+DPDK网络调优(>20Gbps),10GB视频传输仅需4秒
华为FusionSphere虚拟化套件是业界领先的虚拟化解决方案,能够帮助客户带来如下的价值,从而大幅提升数据中心基础设施的效率。
FusionSphere产品通过在服务器上部署虚拟化软件,将硬件资源虚拟化,从而使一台物理服务器可以承担多台服务器的工作。通过整合现有的工作负载并利用剩余的服务器以部署新的应用程序和解决方案,可以实现较高的整合率。除此之外,FusionSphere还提供企业级及运营级虚拟数据中心技术,以及跨站点容灾等能力。
一般把FusionSphere定位为FusionCompute。
非常强大的集成解决方案。
把计算、存储和网络融合在一个刀片服务器内(刀框内),硬件上来说就是刀片服务器,软件上来说就是三款软件:FusionCompute(计算)(必选)、FusionStorage Block(存储池)(可选)、FusionAccess(桌面云(应用))(可选)
刀片服务器:
FusionSphere虚拟化解决方案由服务器虚拟化产品(FusionCompute)、虚拟化管理软件(FusionManager)、备份软件(eBackup)和容灾软件(UltraVR)组成。主要实现硬件资源的虚拟化,以及对虚拟资源集中管理,提供基础备份、容灾,轻量级运营,云基础服务,性能管理等能力。
只采用FusionCompute作为统一的操作维护管理平台对整个系统进行操作与维护的应用场景。
多套虚拟化环境需要进行统一管理
FusionManager:做多资源池融合。管理多个FC来做运营、运维。
FusionCompute:切片虚拟资源池
私有云场景不作为主要应用场景。
虚拟化和云计算有什么关系?
虚拟化负责把硬件服务器的资源做切片,变成虚拟化资源池。
云计算把多种资源集中在一起,提供一种集中的计算池,然后把计算资源释放给大家。
FusionCompute是虚拟化操作系统软件,主要负责硬件资源的虚拟化,以及对虚拟资源、业务资源、用户资源的集中管理。它采用虚拟计算、虚拟存储、虚拟网络等技术,完成计算资源、存储资源、网络资源的虚拟化。同时通过统一的接口,对这些虚拟资源进行集中调度和管理,从而降低业务的运行成本,保证系统的安全性和可靠性,协助运营商和企业构筑安全、绿色、节能的云数据中心能力。
1)计算虚拟化概念
1。什么是虚拟化?
1. 虚拟化是一个抽象层,它打破了物理硬件和操作系统之间的硬性连接。
2. 虚拟基础结构是一种企业级解决方案,可提供流畅、强大的计算能力,从而最大限度地利用资源和节约成本。
3. 虚拟机是虚拟基础结构的重要元素。虚拟化可以让您在同一台物理机上独立、并行运行安装不同操作系统和应用程序的多台虚拟机。
4. 使用虚拟化,您可以根据需要动态移动资源和处理能力。
用户态:ring3 内核态:ring0
5. 虚拟化是云计算的基础。简单的说,虚拟化使得在一台物理的服务器上可以跑多台虚拟机,虚拟机共享物理机的CPU、内存、IO 硬件资源,但逻辑上虚拟机之间是相互隔离的。
6. 在计算机方面,虚拟化一般指通过对计算机物理资源的抽象,提供一个或多个操作环境,实现资源的模拟、隔离或共享等。
7. 本质上,虚拟化就是由位于下层的软件模块,通过向上一层软件模块提供一个与它原先所期待的运行环境完全一致的接口的方法,抽象出一个虚拟的软件或硬件接口,使得上层软件可以直接运行在虚拟环境上。通过空间上的分割、时间上的分时以及模拟,虚拟化可将一份资源抽象成多份,亦可将多份资源抽象成一份。
2。虚拟化的本质
1. 分区:分区意味着虚拟化层为多个虚拟机划分服务器资源的能力;每个虚拟机可以同时运行一个单独的操作系统(相同或不同的操作系统),使您能够在一台服务器上运行多个应用程序;每个操作系统只能看到虚拟化层为其提供的“虚拟硬件”(虚拟网卡、CPU、内存等),以使它认为运行在自己的专用服务器上。
2. 隔离:虚拟机是互相隔离的:
(1)一个虚拟机的崩溃或故障(例如,操作系统故障、应用程序崩溃、驱动程序故障,等等)不会影响同一服务器上的其它虚拟机。
(2)一个虚拟机中的病毒、蠕虫等与其它虚拟机相隔离,就像每个虚拟机都位于单独的物理机器上一样。
(3)可以进行资源控制以提供性能隔离:您可以为每个虚拟机指定最小和最大资源使用量,以确保某个虚拟机不会占用所有的资源而使得同一系统中的其它虚拟机无资源可用。
(4)可以在单一机器上同时运行多个负载/应用程序/操作系统,而不会出现我们刚才讨论传统x86服务器体系结构的局限性时所提到的那些问题(应用程序冲突、DLL冲突等)。
3. 封装:封装意味着将整个虚拟机(硬件配置、BIOS 配置、内存状态、磁盘状态、CPU状态)储存在独立于物理硬件的一小组文件中。这样,您只需复制几个文件就可以随时随地根据需要复制、保存和移动虚拟机。
4. 相对于硬件独立(解耦):因为虚拟机运行于虚拟化层之上,所以只能看到虚拟化层提供的虚拟硬件;此虚拟硬件也同样不必考虑物理服务器的情况;这样,虚拟机就可以在任何 x86 服务器(IBM、Dell、HP等)上运行而无需进行任何修改。这打破了操作系统和硬件以及应用程序和操作系统/硬件之间的约束。
3。计算虚拟化技术的分类
1. 完全虚拟化:GuestOS 完全无感知在虚拟化OS上、虚拟化OS纯软件模板、完全(软件)虚拟化 开销大——>可以让GuestOS完全移植
2. 半虚拟化:(软件虚拟化)GuestOS 知道在虚拟化OS上
3. 硬件辅助虚拟化:GuestOS 完全无感知——(“透传”)硬件(虚拟) NIC硬卡(多vNIC)性能好 “KVM”用它(KVM可能内部的CPU,Mem,IO的虚拟化都不一样)
2)CPU虚拟化
1。CPU虚拟化原理-虚拟化问题
1. CPU虚拟化需要解决两个问题
(1)如何模拟CPU指令(所有敏感指令)
1)敏感指令:可以读写系统关键资源的指令叫做敏感指令。
系统关键资源:处理器呈现给软件的接口是指令集和寄存器。而I/O设备呈现给软件的接口是状态和控制寄存器。这些都是系统的资源,其中影响处理器和设备状态和行为的寄存器称为关键资源。
2)特权指令:绝大多数的敏感指令是特权指令,特权指令只能在处理器的最高特权级(内核态)执行。
(2)如何让多个VM共享CPU
1)利用与Naitve操作系统类似的机制—通过定时器中断,在中断触发时陷入VMM,从而根据调度机制进行调度。
2. CPU指令虚拟化
(1)全虚:BT
(2)半虚:hc
(3)硬虚:VT-X
双模式:CPU收到GuestOS指令弄在非根模式(non-root)
CPU收到VMM指令弄在根模式(root)
2。CPU虚拟化
FusionCompute计算虚拟化技术采用的是KVM技术。KVM的CPU虚拟化是基于CPU辅助的全虚拟化方案,它需要CPU虚拟化特性的支持。
1. FusionCompute采用的是硬件辅助全虚拟化
2. X86 操作系统是设计在直接运行在裸硬件设备上的,因此它们自动认为它们完全占有计算机硬件。x86 架构提供四个特权级别给操作系统和应用程序来访问硬件。 Ring 是指 CPU 的运行级别,Ring 0是最高级别,Ring1次之,Ring2更次之…… 就 Linux+x86 来说,
(1)操作系统(内核)需要直接访问硬件和内存,因此它的代码需要运行在最高运行级别Ring0上,这样它可以使用特权指令,控制中断、修改页表、访问设备等等。
(2)应用程序的代码运行在最低运行级别上ring3上,不能做受控操作。如果要做,比如要访问磁盘,写文件,那就要通过执行系统调用(函数),执行系统调用的时候,CPU的运行级别会发生从ring3到ring0的切换,并跳转到系统调用对应的内核代码位置执行,这样内核就为你完成了设备访问,完成之后再从ring0返回ring3。这个过程也称作用户态和内核态的切换。
3. 那么,虚拟化在这里就遇到了一个难题,因为宿主操作系统是工作在ring0的,客户操作系统就不能也在ring0了,但是它不知道这一点,以前执行什么指令,现在还是执行什么指令,但是没有执行权限是会出错的。所以这时候虚拟机管理程序(VMM)需要避免这件事情发生。VM通过VMM实现Guest CPU对硬件的访问,根据其原理不同有三种实现技术:
(1)全虚拟化
(2)半虚拟化
(3)硬件辅助的虚拟化
3。虚拟机共享CPU
1. 虚拟机VM共享CPU
(1)利用与原始操作系统类似的机制—通过定时器中断,在中断触发时陷入VMM,从而根据调度机制进行调度。
4。CPU与vCPU对应关系
1. vCPU数量和物理CPU对应关系如图所示
2. 以RH2288H V3服务器使用2.6GHz主频CPU为例,单台服务器有2个物理CPU,每颗CPU有8核,又因为超线程技术可以提供每个物理内核两个处理线程,因此每颗CPU有16线程,总vCPU数量为2*8*2=32个vCPU。总资源为32*2.6GHz=83.2GHz。
3. 虚拟机vCPU数量不能超过单台CNA节点可用vCPU数量。多个虚拟机间可以复用同一个物理CPU,因此单CNA节点上运行的虚拟机vCPU数量总和可以超过实际vCPU数量。
3)内存虚拟化
1. 内存虚拟化问题
(1)Native操作系统对内存的认识与管理达成以下两点认识:
1)内存都是从物理地址0开始的
2)内存都是连续的
(2)内存虚拟化需要解决两个的问题:
1)从物理地址0开始的:物理地址0只有一个,无法同时满足所有客户机从0开始的要求;
2)地址连续:虽然可以分配连续的物理地址,但是内存使用效率不高,缺乏灵活性。
2. 内存虚拟化
(1)内存虚拟化:把物理机的真实物理内存统一管理,包装成多个虚拟机的内存给若干虚拟机使用。KVM 通过内存虚拟化共享物理系统内存,动态分配给虚拟机。
(2)KVM中,虚拟机的物理内存即为qemu-kvm进程所占用的内存空间。KVM使用CPU 辅助的内存虚拟化方式。在Intel平台,其内存虚拟化的实现方式为EPT (Extended Page Tables)技术。
3. 影子页表
(1)由于宿主机MMU不能直接装载客户机的页表来进行内存访问,所以当客户机访问宿主机物理内存时,需要经过多次地址转换。也即首先根据客户机页表把客户机虚拟地址 (GVA)转换成客户机物理地址 (GPA),然后再通过客户机物理地址 (GPA)到宿主机虚拟地址 (HVA)之间的映射转换成宿主机虚拟地址,最后再根据宿主机页表把宿主机虚拟地址 (HVA)转换成宿主机物理地址 (HPA)。而通过影子页表,则可以实现客户机虚拟地址到宿主机物理地址的直接转换。
(2)Intel的CPU提供了EPT (Extended Page Tables,扩展页表)技术,直接在硬件上支持GVA->GPA->HPA的地址转换,从而降低内存虚拟化实现的复杂度,也进一步提升内存虚拟化性能。
4)I/O虚拟化
QEMU是纯软的软件模拟器,它软件的外设可以强到完全模拟出根本不存在的CPU架构设备。
QEMU处于用户态,用户空间。KVM处于内核态,内核空间。
QEMU-KVM:QEMU用来弥补KVM不能实现的外设的模拟,所以外设的模拟QEMU来做。设备的虚拟化KVM来做。
1。I/O虚拟化问题
1. I/O虚拟化需要解决两个问题
(1)设备发现
1)需要控制各虚拟机能够访问的设备;
(2)访问截获
1)通过I/O端口或者MMIO对设备的访问;
2)设备通过DMA与内存进行数据交换;
2。I/O虚拟化
1. I/O虚拟化可以被看作是位于服务器组件的系统和各种可用I/O处理单元之间的硬件中间件层,使得多个guest可以复用有限的外设资源。
2. 设备虚拟化(I/O虚拟化)的过程,就是模拟设备的这些寄存器和内存,截获Guest OS对IO端口和寄存器的访问,通过软件的方式来模拟设备行为。
3. 在QEMU/KVM中,客户机可以使用的设备大致可分为三类:
(1)模拟设备:完全由 QEMU 纯软件模拟的设备(全虚)
(2)Virtio 设备:实现VIRTIO API的半虚拟化设备(需要装Virtio的驱动) (半虚)
(3)PCI 设备直接分配(PCI device assignment)(硬虚)(硬件直通)
总结:KVM使用的I/O虚拟化用的是半虚(Virtio)是最优的方式。
a. I/O虚拟化-全模拟(全虚)
1. 用软件完全模拟一个特定的设备
(1)保持一样的软件接口,如:PIO、MMIO、DMA、中断等
(2)可以模拟出跟系统中的物理设备不一样的虚拟设备
2. 每次I/O操作需要多次上下文切换
(1)VM <-> Hypervisor
(2)Qemu <-> Hypervisor
3. 软件模拟的设备对不影响虚拟机中的软件栈
(1)原生驱动
4. 模拟I/O设备方式的优点是对硬件平台依赖性较低、可以方便模拟一些流行的和较老久的设备、不需要宿主机和客户机的额外支持,因此兼容性高;而其缺点是I/O路径较长、VM-Exit次数很多,因此性能较差。一般适用于对I/O性能要求不高的场景,或者模拟一些老旧遗留 (legacy)设备 (如RTL8139的网卡)
b. I/O虚拟化-Virtio
1. 虚拟出特殊的设备
(1)特殊的设备驱动,包括VM中的Front-end 驱动和主机上的Back-end驱动
(2)Front-end和Back-end驱动之间的高效通信
2. 减少VM和主机的数据传输开销
(1)共享内存(Virt RING)
(2)Batched I/O
(3)异步事件通知Eventfd轻量级进程间“等待/通知”机制
3. virtio半虚拟化设备方式的优点是实现了VIRTIO API,减少了VM-Exit次数,提高了客户机I/O执行效率,比普通模拟I/O的效率高很多;而其缺点是需要客户机中与virtio相关驱动的支持 (较老的系统默认没有自带这些驱动,Windows系统中需要额外安装virtio驱动),因此兼容性较差,而且I/O频繁时的CPU使用率较高。
c. I/O虚拟化-PCI设备直接分配(硬件直通)
1. KVM虚拟机支持将宿主机中的PCI、PCI-E设备附加到虚拟化的客户机中,从而让客户机以独占方式访问这个PCI(或PCI-E)设备。通过硬件支持的VT-d技术将设备分配给客户机后,在客户机看来,设备是物理上连接在其PCI(或PCI-E)总线上的,客户机对该设备的I/O交互操作和实际的物理设备操作完全一样,不需要(或者很少需要)Hypervisor的参与。
(1)设备直接分配让客户机完全占有PCI设备,这样在执行I/O操作时大量地减少甚至避免了VM-Exit陷入到Hypervisor中,极大地提高了I/O性能,可以达到几乎和Native系统中一样的性能。尽管virtio的性能也不错,但VT-d克服了其兼容性不够好和CPU使用率较高的问题。不过,VT-d也有自己的缺点,一台服务器主板上的空间比较有限,允许添加的PCI和PCI-E设备是有限的,如果一台宿主机上有较多数量的客户机,则很难向每台客户机都独立分配VT-d的设备。另外,大量使用VT-d独立分配设备给客户机,让硬件设备数量增加,这会增加硬件投资成本。
5)FusionCompute计算虚拟化介绍
1)兼容行业特殊操作系统
1. 华为的KVM使用的是:CPU和内存使用的硬件虚拟化,I/O外设使用的半虚拟化。
(1)兼容一个新的操作系统,需要厂商提供配套的PV驱动程序,华为具备PV驱动开发能力。FusionCompute除了兼容主流的Windows、Linux操作系统之外,还兼容国产中标操作系统(特定的版本可能需要定制驱动)。
2)灵活管理架构
1. VRM处在管理层,CNA处在业务平面上。
(1)技术特点与价值
1)每个逻辑集群支持128物理机,适用于高性能、大规模业务群部署,降低冗余物理机比例
2)每逻辑集群支持8,000台虚拟机 ,适合桌面云等规模大、性能要求不高业务部署
3)高可用性设计,VRM(虚拟化部署或者物理部署)主备部署,保证系统可用性
3)支持GPU虚拟化,GPU直通
1. 把某一个PC设备独享(直通)给虚拟机,在虚拟化层做透传,虚机的指令直接给到GPU。
2. GPU直通性能好,I/O路径短,不经过不必要的虚拟化层的上下的切换跟数据的重复的拷贝。
3. 对图形工作站对图形处理性能要求高,为减少不必要的开销,所以用GPU直通。
4. GPU直通不足之处:一个设备中用于直通的设备不可能太多。(一般在当前虚机有n台,一般有一两台是图形工作站,其他虚机是普通的,让其他虚机共用(复用)物理GPU卡(使用的是虚拟化技术),对图形工作站使用GPU直通技术。)
(1)应用场景
1)适用于虚拟化环境下运行的工程制图 (ProE、Catia、AutoCAD)、媒体制作、3D游戏、GIS等应用
2)工业设计,多媒体编辑,能源行业,金融服务与贸易,医疗成像系统,教育行业的最佳实践
3)提高虚拟化环境下高性能图形图像应用体验
(2)关键技术&价值特性
1)物理GPU在硬件支持虚拟机通过绑定GPU直接访问物理GPU的部分硬件资源
2)基于NVIDIA GRID 卡提供GPU虚拟化,提升图形应用体验
3)支持vGPU资源管理和调度,实现GPU负载均衡调度
4)支持的多媒体编程接口:OpenGL、 DiretX
5)支持AERO特效、多显示器、 DXVA视频硬件加速
4)在线调整CPU和内存
1. 需要给虚机安装Tools工具,才能给虚机做相应的在线的资源调整。
(1)技术原理:vRAM、vCPU不仅支持离线添加/删除,支持在线添加
(2)技术特点:平台支持在线虚拟机运行情况下调整CPU和内存规格,虚拟机不需要重启即可生效。
(3)适用场景:根据业务需要,灵活调整虚拟机的CPU、内存数量配置
(4)应用价值
1)根据虚拟机的需求,灵活调整其配置
2)纵向扩展有效保证单个虚拟机QoS
3)与横向扩展有机结合,保证集群QoS
5)主机内存超分配(内存复用)
1. 好处:能临时利用内存复用技术满足虚机大内存的要求,在将来后期购置物理内存来扩容,但前期可以用少量的物理内存支撑更大的虚机密度。
2. 前提条件:必须在集群上开启内存复用特性。
3. Host Memory和Guest Memory之间并不是一一对应。
4. 可以超额分配内存给VM。
5. 通过内存复用技术实现超分配功能。
(1)例如,物理内存共4G,但上层三个GuestOS的分配的总内存达到了6G
6)内存复用
1. 内存复用是针对集群的一种特性,默认是没有开的,开了节省成本,能使用超额分配内存,但性能有所折损,要频繁的在三种方式中使用。
2. 技术特点:华为虚拟化平台,通过智能复用以上三种技术将内存复用率提升至150%,领先C等友商。
3. 应用价值:同等内存资源条件下,虚拟机密度提升150%,降低50%的硬件(内存)采购成本。
4. 内存气泡:系统主动回收虚拟机暂时不用的物理内存,分配给需要复用内存的虚拟机。内存的回收和分配均为系统动态执行,虚拟机上的应用无感知。整个物理服务器上的所有虚拟机使用的分配内存总量不能超过该服务器的物理内存总量。
5. 内存置换:将外部存储虚拟成内存给虚机使用,将虚拟机上暂时不用的数据存放到外部存储上。系统需要使用这些数据时,再与预留在内存上的数据进行交换。
虚机常用的vmm归为热数据,不常用的归为冷数据。热数据放在主机内存中,冷数据放入存储中去。vmm负责冷热数据的交换。
6. 内存共享:多台虚拟机共享数据内容相同的内存页。
7)NUMA亲和性调度
1. NUMA:non-uniform Memory Access
(1)虚拟化层
(2)主机层
在主机内,一个节点的CPU优先使用它自己的内存(优先使用近的)。
2. 系统会根据虚拟机配置、NUMA高级参数以及物理主机NUMA配置自动计算虚拟机NUMA拓扑结构并设置虚拟机NUMA与物理NUMA亲和性,使虚拟机内存访问性能达到最优。
8)虚拟机HA(高可用性high availability,故障重启)
1. 目标:保证业务连续性
2. 业务会中断,用户有感知。
3. 降低业务中断时间,提高业务的速度,实现业务的自助维护。恢复的虚拟机还在集群内,所以集群内得至少有n+1台服务器。
4. 是一种集群特性,在集群上打开后再在集群中某台虚机上打开才有。
5. 前提:必须是共享存储。
6. 两个场景:
(1)物理服务器故障
(2)物理服务器好多,虚机未能正常启动
7. 虚拟机热迁移是后续动态资源调度和分布式电源管理技术的基础
8. 支持主机、虚拟平台、虚拟机内部多种故障场景的检测和虚拟机恢复
9. 支持集中控制HA和集群自治HA两种机制,可自选
10. 可设置HA心跳消息的网络平面,降低网络压力
11. 多种故障判断机制,避免漏判、误判故障
12. 支持共享存储与本地存储虚拟机HA
9)虚拟机热迁移
1. 技术特点
(1)基于内存压缩传输技术,虚拟机热迁移效率提升1倍。
(2)虚拟机磁盘数据位置不变,只更改映射关系。
(3)理论上会有很短暂的中断,但用户无感知。
2. 适用场景
(1)可容忍短时间中断,但必须要快速恢复业务。比如轻量级数据库业务,桌面云业务。
(2)系统升级
3. 支持在不影响用户使用或中断服务的情况下在服务器之间实时迁移虚拟机,从而无需为进行计划内服务器维护而安排应用中断。
4. 热迁移:
(1)手工热迁移
1)工程师触发。
2)可以跨集群(集群内/间)。
3)业务在线
主机热迁移,存储热迁移,主机+存储热迁移
(2)自动(DRS) 分布式资源调度
1)“负载”作为触发条件。
2)在集群内。
以上图可知(自动热迁移):
迁移后的虚拟机没有启动这一过程,因为迁移前的虚拟机是正在运行的。
10)动态资源调度(DRS)
1. 技术特点
(1)同一集群内,VM由系统根据策略自动负载均衡(负载内存或CPU)。
(2)负债均衡算法优化,避免VM无效迁移
2. 适用场景
(1)负载均衡确保业务性能。
(2)削峰填谷,避免高峰期的拥塞。(虚机从业务重的服务器调到业务轻的服务器上)
3. DRS: Dynamic Resource Schedule,又称为计算资源调度自动化
4. FusionCompute的计算集群,配合基于VIMS文件系统的共享存储;DRS算法实时监控集群中每个计算节点的资源使用情况,引用VMOTION功能,智能迁移负荷高节点上虚拟机到资源充足的节点上;均衡各节点资源使用并保障业务有充足资源可用。因此,DRS是实现自动负载均衡的基础。
11)DPM分布式电源管理(Dynamic Power Managment)
1. 技术特点
(1)系统自动选择合适的物理机上下电,减小迁移VM数量。
(2)保证小部分物理机处理休眠态,以快速满足新增业务所需资源。
(3)DPM依赖于DRS。所以要先在集群上开启DRS,再开启DPM。
(4)DPM也是在同一集群内。
(5)绿色节能
2. 适用场景
(1)夜间低负载,自动迁移虚拟机,下电空闲主机。(空载下点)
(2)日间业务需求上升,自动上电主机,迁移虚拟机到新上电主机。(重载上电)
(3)轻载合并
3. 电源管理自动化功能会周期性地检查集群中服务器的资源使用情况,如果集群中资源利用率不足,则会将多余的主机下电节能,下电前会将虚拟机迁移至其他主机;如果集群资源过度利用,则会将离线的主机上电,以增加集群资源,减轻主机的负荷。
12)IMC
1. 设置集群的IMC策略,使虚拟机可以在不同CPU类型的主机之间进行迁移。
2. IMC可以确保集群内的主机向虚拟机提供相同的CPU功能集,即使这些主机的实际CPU不同,也不会因CPU不兼容而导致迁移虚拟机失败。
3. 设置集群IMC策略时,如果集群中有主机或虚拟机,则必须满足下面的条件:
(1)集群下主机的CPU功能集必须等于或高于设置的目标基准功能集。
(2)集群下运行或休眠状态的虚拟机CPU功能集必须等于或低于目标基准功能集。如果存在不满足条件的虚拟机,需要将该虚拟机关机或迁移出该集群后设置。
13)规则组
1. 聚集虚拟机:列出的虚拟机必须在同一主机上运行。
2. 互斥虚拟机:列出的虚拟机必须在不同主机上运行。
3. 虚拟机到主机:虚拟机组的成员是否能在特定主机组的成员上运行。
设定规则组可以控制虚拟机与虚拟机、虚拟机与主机之间的位置关系,以满足不同应用场景的需求。
1)FusionCompute存储
1。FusionCompute存储虚拟化管理
a. 兼容存储类型
1. SAN (Storage Area Network)存储区域网络(共享)
(1)SAN Sw
(2)Host/Array
IP SAN、FC SAN
①IP SAN:以太网(Ethernet)Switch(光纤)。(以太网是丢包为常态的网络)。
价格适中、稍可靠。以太网端口,速度:10G
②FC SAN:FC Switch。(FC: fibre Channel光纤,不丢包的网络)。
贵、可靠性高。HBA主机总线识别器端口。速度:8G、16G
不考虑价格的话选FC SAN,可靠、速度快,专用的存储网络。
SAN的最大特点:低延迟、高可靠、共享
2. NAS (Network Attached Storage)(共享)
文件共享
3. FusionStorage Block存储池(共享)
4. 主机的本地硬盘
本地的可以混搭,但是它非共享存储。使用本地的虚拟机是不能热迁移的。
安全(杀毒)的虚拟机用local磁盘
b. 存储资源能力
1. 精简制备磁盘
2. 厚制备\延迟置零磁盘
3. 增量快照
4. 存储冷热迁移
5. 虚拟磁盘扩容
6. 磁盘快照管理
c. 存储配置管理
1. 存储资源发现与管理
2. 数据存储创建与管理
3. 存储资源裸设备映射
2。FusionCompute中存储基本概念
先添加存储资源,再扫描存储设备,再添加数据存储。
把存储设备变成数据存储的过程就是存储虚拟化。
a. 存储资源
1. 存储资源表示物理存储设备,例如IP-SAN、FC-SAN、NAS等。
b. 存储设备
1. 存储设备表示存储资源中的管理单元,类似LUN、FusionStoreage存储池、NAS共享目录等。(逻辑LUN或共享文件夹)
c. 数据存储
1. 数据存储表示虚拟化平台中可管理、操作的存储逻辑单元。数据存储就是把主机的存储拿出来变为数据存储。
2. 数据存储唯一的用途:承载虚拟机磁盘。(在创建虚拟机的时候,虚拟机的磁盘一定落在数据存储上。(无数据存储创建不了虚拟机))
3。FusionCompute存储虚拟化架构
1. FusionSphere存储虚拟化平台主要由文件系统、磁盘驱动和磁盘工具组成。SAN设备和本地磁盘等块设备连接到服务器上后,经过设备驱动层和通用块层后,对主机呈现一个磁盘设备。
2. 文件系统建立在主机能够访问的存储设备上,创建文件系统的过程就是主机对存储设备执行格式化,在存储设备上写入文件系统的元数据和inode信息,建立文件到裸设备块的映射,并负责裸设备块的管理,包括空间分配和释放。对于虚拟化来说,文件系统屏蔽了块层的操作,提供了文件级的抽象操作。虚拟机磁盘就是放在文件系统中的文件。
3. 虚拟机磁盘在使用时,需要由磁盘驱动挂载给虚拟机,并通过QEMU管理起来,用户虚拟机的所有读写IO都会由前端驱动截获,转发给QEMU进程,并转换为用户态驱动的读写操作,最终写入磁盘文件中。
4. 虚拟机磁盘中包含了属性信息和数据区域,磁盘工具提供了一系列对虚拟机磁盘的操作,可以解析磁盘文件的文件头,读取或修改磁盘的属性信息,创建磁盘的数据区等操作。
4。FusionCompute中的存储模型
1. 本地硬盘添加数据存储时可以选择虚拟化的使用方式;
2. SAN添加数据存储时可以选择虚拟化和裸设备映射的使用方式;
3. FusionStorage Block添加数据存储时默认非虚拟化的使用方式;
用数据存储原因:做统一,去差异化,让虚拟机不需关心具体的存储类型及复杂性及相应存储的特性。
①虚拟化DS:有文件系统的DS。文件系统里是文件(File)。能享受到很多文件形式传授给的虚拟化特性。VIMS四个虚拟化特性都支持。
虚拟化特性:精简磁盘、迁移(local不支持)、快照、链接克隆
NAS(NFS)、SAN上的LUN格式化后(VIMS)、local磁盘格式化后(EXT)添加为数据存储是有文件系统的。
②非虚拟化DS:没有文件系统。存储池里是卷(Volume)。把FusionStorage存储池直接接到VRM里,让CNA主机去使用。
也支持虚拟化特性:精简磁盘、快照、链接克隆
虚拟化DS在硬盘(裸设备)之上有文件系统(文件层),虚拟机将虚机磁盘的文件给下来。而非虚拟化DS虚拟机直接将卷(volume)给到硬盘(FusionStorage存储池)中。因此,虚拟化DS比非虚拟化DS多了一层,性能上比起非虚拟化DS稍稍有折损。(非虚拟化数据存储的性能比虚拟化存储的性能好=没文件系统的性能比有文件系统的好)
2)VIMS
热迁移、快照、精简配置、链接克隆
1。VIMS虚拟集群存储文件系统
1. VIMS:Virtual Image Management System虚拟镜像管理系统 高性能集群文件系统
2. VIMS是一种高性能的集群文件系统,使虚拟化技术的应用超出了单个存储系统的限制,可让多个虚拟机共同访问一个整合的集群式存储池,从而显著提高了资源利用率。VIMS 是跨越多个存储服务器实现虚拟化的基础,它可启用存储热迁移、DRS(Storage Dynamic Resource Scheduler) 和High Availability(高可用)(也是使用共享存储)等各种服务。
2。VIMS分布式集群锁
1. 一个VIMS卷同时被多个CNA节点挂载,因此每个CNA节点都可以访问VIMS卷上的文件。为保证多节点读写同一文件的数据一致性,VIMS需要实现分布式文件锁。VIMS的DLM(Distribute lock manager)模块负责实现分布式文件锁,它提供集群概念上的锁服务,调用者通过DLM保证集群间的同步要求。
2. VIMS卷多个主机可以同时访问同一个文件系统,而同一个文件系统上的文件不能同时被多个主机访问(一个节点只能同时被一个CNA节点访问)。
3. VIMS采用分布式全对称锁机制。在VIMS中有多个资源管理者(master),每个master只对应一个锁资源。不同的master并不会集中在同一个节点上,无管理中心节点。
4. 正常情况下成为某个锁资源的master方式有两种:
(1)第一个申请访问某资源的节点
(2)如果多节点同时访问某资源,以VIMS节点号较小的节点作为master
5. 当节点发生故障时,此节点负责管理的资源会重新选举出master。
6. VIMS分布式文件锁流量默认走管理网络平面。
3。VIMS心跳
1. VIMS存在两种心跳,磁盘心跳用于检测主机是否可以正常读写共享存储,网络心跳用于检测主机间网络通信是否正常。作为集群文件系统,挂载了VIMS卷的CNA节点从来都不是单独的个体,作为集群节点成员之一,通过网络心跳确保与其它节点进行正常的网络通信。
3)FusionCompute磁盘技术
1. 在存储虚拟化中,所有用户存储都是以文件形式呈现,虚拟机磁盘、快照、虚拟机配置都对应一个独立的文件,常见的磁盘文件分为以下几种:
(1)普通磁盘
(2)普通延迟置零磁盘
(3)精简磁盘
(4)差分磁盘
2. 从数据安全性上又划分为:
(1)持久化
(2)非持久化
1。普通磁盘
3.创建时全部置零,创建时间久,写或修改时速度很快。固定(静态)文件。
2。普通延时置零磁盘
1.普通延迟置零卷创建时大小与虚拟磁盘大小相同,但不会进行填0操作,占用空间较大,置备时间较普通卷短。
2.该磁盘用于FusionSphere系统中的普通延迟置零磁盘,可以提高存储设备的利用率。普通延迟置零磁盘创建很快,创建时进行全空间分配,但未进行全置零动作,性能较普通磁盘有所下降。适用于对发放速度要求高,但对IOPS要求不高的场景。
3.创建时没有置零,创建速度很快;写或修改前先置零再写数据,写速度很慢。固定(静态)文件。
3。精简磁盘
1.精简磁盘创建时大小为0,精简磁盘创建时含少量元数据信息,大小一般为几十K,创建时间均非常短。随着用户写入数据,精简磁盘的大小与实际占用空间将逐步增加。
2.该磁盘用于FusionSphere系统中的精简磁盘,可以提高存储设备的利用率。精简磁盘使用动态磁盘(文件)技术,可以节省存储空间。该磁盘在创建时不进行空间分配,而是在用户IO写入磁盘文件时才进行空间动态分配,性能较普通磁盘有所下降。适用于用户对存储需求不明确,或是规划的容量比实际使用的容量多的场景。
3. 场景:(存储超分配)假设数据存储只有200G,而我需要在其上建立10个50G的虚拟机,发现每个虚拟机的利用率只有20%,此时就可以用精简磁盘技术。
4. 阵列上这种用法叫thin LUN。
5. 特点:①用多少,空间划分多少。②最大不超过配置的大小③手工回收空间
思考:若给虚机分配了50G,现在让它用了6G,又删除了3G的文件,现在它还是有6G。(只会单向变大,数据越用越大,想缩小要手工通过VRM找到这个虚机的disk来缩小(空间回收))
4。差分磁盘(增量磁盘)
1.差分磁盘必须基于一个已有的父磁盘来创建,它只记录相对于父磁盘的差异数据,包括数据的增改,差分磁盘不能脱离父磁盘而存在,如果父磁盘进行了修改,则差分磁盘的数据将不再可用。
2.差分盘就是两个文件,Fiel1(父文件:固定(静态)文件)和File2(差分盘:动态文件)放在VIMS文件系统上。如果把父文件和差分盘大小直接相加可能会超过分配的大小,但是实际上是没有超过的。
3.该磁盘用于FusionSphere系统中的快照、非持久化磁盘(系统还原)、链接克隆等功能,起到保护源盘不再被修改,并可以跟踪虚拟机磁盘差异数据的作用。
5。持久化与非持久化磁盘
1.持久化磁盘即数据可以永久保存。在创建独立持久磁盘时,快照中不包含该磁盘,更改将立即并永久写入磁盘,回滚快照不会导致数据回滚。类似于U盘,应用于个人独有数据存放。
2.非持久化磁盘即数据不永久保存。处于保护磁盘数据的目的,在启动虚拟机时,对这种非持久化磁盘先创建差分磁盘,在虚拟机运行过程中,将有更改的数据全部写入差分磁盘,在虚拟机关机后,将差分磁盘数据删除,达到还原磁盘的目的。应用于公共计算机、计算机数据自动还原的场景。
1.虚拟机可以将当前状态保存在快照文件中,包括磁盘内容、内存和寄存器数据。用户可以通过恢复快照多次回到这一状态,虚拟机用户在执行一些重大、高危操作前,例如系统补丁,升级,破坏性测试前执行快照,可以用于故障时的快速还原。
2.快照分两种:
(1)对内存做快照:非持久化
(2)对磁盘状态做快照:持久化(一般对磁盘状态做快照)
做快照就是冻结此时的磁盘(方便将来回滚),将它变为只读(Read-Only)的,新写入的数据写在新开辟的差分磁盘里,父盘就是快照。
文件系统级别的快照都是RoW(Redirect On Write)快照。
在阵列上对LUN做快照是CoW(Copy On Write)快照。
*快照链:对虚拟机在不同时间点多次做快照。
场景:假设现在10:00我对磁盘做了一个快照1,此时磁盘被锁定变成只读文件a,开辟出一个新的空间(差分磁盘)对其写入数据;到12:00时我再对磁盘做快照2,此时这个差分磁盘也被锁定变为只读文件b;又开辟一个差分磁盘,对其写入数据,到14:00时,我又对磁盘做快照3,它又被锁定,此时这个差分磁盘也被锁定变为只读文件c。此时,虚拟机要查找文件,先在第二个锁定的差分磁盘里去读,没有的话再去第一个差分磁盘去读,再没有就去父文件里去读。
又假设在上面场景中,如果我将第二个快照删除,那么此时,我可以看得的文件还是abc。原因是删除第二个快照时,数据b被整合进入了快照3中。
3.FusionCompute支持普通快照、一致性快照以及内存快照。
(1)普通快照:快照会保存磁盘当前数据。
(2)内存快照:快照创建时会保存虚拟机当前内存中的数据。
(3)一致性快照:快照创建时会将虚拟机当前未保存的缓存数据先保存,再创建快 照。
4. 这里讲的快照都是即时快照,不同于全量快照。全量快照是独立的,将文件全部记录下来,但耗时,并不快;要生成全量快照必须业务中断。即时快照是立即就创建出来了,并且空间无限接近于0。
1。快照相关原理-创建快照
1.创建快照会创建一个差分磁盘文件,该磁盘文件与源磁盘文件存放同一目录下。源磁盘文件会转为只读,新写入的数据存放在差分磁盘文件中。
2。快照相关原理-回滚快照
1.回滚快照时会删除差分磁盘文件中的数据。
1.删除快照时,系统会整合原磁盘与差分磁盘文件里面的数据,形成新的磁盘文件。
快照删掉后,数据不会丢失,但是少了一个回滚点。
1.桌面云是链接克隆的典型利用场景(图书馆、网吧、学校机房)。
2.链接克隆虚拟机可以基于同一个虚拟机模板,快速发放多个类似的虚拟机。通过对虚拟机模板的系统卷创建多个差分磁盘,将每个差分磁盘挂载给独立的虚拟机。应用于需要大量发放拥有相同或类似数据的虚拟机,且对性能要求不高。
3.在链接克隆场景下,将若干链接克隆虚拟机的共同模板(母盘)中的热点数据放在主机内存中,达到快速读取的目的,能够极大提升虚拟机的启动和运行速度。
4.优点:
(1)节省空间。
(2)具备系统还原能力。(使用链接克隆方式生成的虚拟机可以系统还原。)
(3)创建虚拟机的速度快。
5.缺点:因为大家都过于依赖于母盘,所以母盘不能损坏。
1。链接克隆实现原理
1.链接克隆一个母卷可以链接多个差分卷形成多个虚拟机磁盘。但是对母卷性能要求高。
2.链接克隆生成的所有虚拟机都可以共用系统盘(母盘),对母盘进行读操作。所有虚拟机自己的写操作进行在自己的差分磁盘中。
1.FusionSphere提供了虚拟机磁盘的冷迁移和热迁移,冷迁移是在虚拟机关机时候,将其磁盘文件从一个存储移动到另一个存储,热迁移可以在不中断业务的前提下,将虚拟机磁盘从一个存储迁移至另一个存储。热迁移的技术原理如下:
2.热迁移首先使用写时重定向,将虚拟机数据写入目的存储的一个差异磁盘,这样,原磁盘文件就变成只读的。
3. 将源卷的所有的数据块依次读取出来并合并到目标端的差异磁盘中,等数据合并完成后,目的端的差分磁盘就拥有虚拟磁盘的所有最新数据。(数据没有搬动,文件系统指针直接指向,看到的数据是逻辑上的连续,事实上它们存储在不同位置)
1.RDM(Raw Device Mapping)为虚拟机提供了一种机制来直接访问物理存储子系统(仅限光纤通道或iSCSI)上的LUN,通过使用物理设备映射,可以让虚拟机识别SCSI磁盘。
2.Raw Device Mapping绕过hypervisor,物理裸设备映射(RDM)能够将虚拟机下发的SCSI命令直接透传,使得虚拟机中的业务能够直接操作物理SCSI设备(独享),避免由于虚拟化层的模拟导致功能丢失。(主机上其他虚拟机和主机就不能用这个物理设备LUN了)
3.不支持链接克隆、存储瘦分配、磁盘在线/离线扩容 、存储增量快照 、iCache 、存储热迁移、存储QoS、磁盘备份、虚拟机转为模板等。
(1)虚拟机直接通过SCSI命令操作裸存储设备
(2)兼容FC光纤存储和IP SAN存储
(3)性能好
(4)用RDM的虚拟机需要装SCSI Driver
1.FusionCompute提供了存储扩容的类型有虚拟卷扩容和数据存储扩容。
2.FusionCompute支持在离线或在线状态下对磁盘的容量扩充,对于普通磁盘,会将数据区域进行扩充,并进行写零。对于普通延时置零磁盘,会将数据区域进行扩容,并进行空间预占。对于精简磁盘,仅对数据区域进行扩容。
3.数据存储扩容使得一个数据存储可以管理多个物理LUN空间,当需要扩容数据存储时,可以通过添加另外的物理LUN至数据存储或者对物理LUN进行扩容再扩容数据存储,从而实现对数据存储灵活地进行空间扩容,有效提高数据存储扩展性。(将多个LUN添加到同一个数据存储)
1。数据存储扩容原理
1.当需要扩容时,先在主节点上将新增的存储空间以线性映射的方式追加至虚拟块设备末尾,完成虚拟块设备的扩容后,再将新增的存储空间分成数段逐渐增加至文件系统 (更新文件系统中的元数据),主节点完成数据存储的扩容。由于虚拟块设备的信息都是保存在节点内存中,则当其它节点发现数据存储空间有变化时,则需要更新虚拟块设备信息,完成扩容虚拟块设备。
(1)网络虚拟化相关概念及技术
网络虚拟化主要解决服务器内部虚拟机之间的连通性。网络是虚拟机的网卡。
计算虚拟化主要是虚拟机如何呈现出来,然后如何分享计算资源。
存储虚拟化是虚拟机的磁盘。
1)计算虚拟化驱动网络虚拟化的发展
1. 计算虚拟化驱动网络虚拟化的发展。传统数据中心,一台服务器运行一个操作系统,通过物理网线与交换机相连,由交换机实现不同的主机的交换、流量控制、安全控制等功能。在计算虚拟化后,一台服务器虚拟化成多台的虚拟的主机,每个虚拟主机有自己的CPU、内存和网卡。同一服务器上的不同主机之间既需要维持原有的通信,同时由于共享物理设备,引出了新的安全隔离、以及对流控的更高的需求,对虚拟交换技术的诉求由此产生。
2. 为统一和简化对各台主机的虚拟交换机的配置管理,业界引入分布式虚拟交换机。分布式虚拟交换机一方面可以对多台服务器的虚拟交换机统一配置、管理和监控,另一方面也可以保证虚拟机在服务器之间迁移时网络配置的一致性。
3. 把离服务器最近的物理交换机称为TOR交换机。(Top Of Rack)
4. 物理交换机TOR与CNA服务器相连的物理网线是Trunk(多Vlan),CNA的连接点是物理网口,网口与虚拟(软件)交换机相连不需要IP,物理网口与虚拟交换机相连处的端口叫uplink port(上联链路)。虚拟交换机与各虚拟机相连的网口叫VSP,虚拟机上的叫vNIC。
每台服务器CNA有且只有一个网口连外网。
5. vSW做:①VM间连通 ②内外相通
vSW优点:可以在服务器内部让虚拟机相通
vSW缺点:性能有所折损。
2)虚拟交换机
OVS/DVS/EVS三者的区别:
1。Linux Bridge介绍
1. Linux Bridge(网桥)是工作于二层的虚拟网络设备,功能类似于物理的交换机。Linux Bridge两层的以太网交换机。
2. Bridge可以绑定其他Linux网络设备作为从设备,并将这些设备虚拟化为端口,当一个从设备被绑定到Bridge上时,就相当于真实网络中的交换机端口插入了一个连接有终端的网线。
3. 功能很有限。
2。OVS概述
1. Open vSwitch(OVS)是一款基于软件实现的开源虚拟以太网交换机。=openflow转发器
2. OVS能够支持多种标准的管理接口和协议,还可以支持跨多个物理服务器的分布式环境。
3. OVS提供了对OpenFlow协议的支持,并且能够与众多开源的虚拟化平台相整合。
4. 主要有两个作用:OVS传递虚拟机VM之间的流量,以及实现VM和外界网络的通信。
5. OVS特点
(1)是业界首款纯软件的“SDN”软件交换机(Ethernet)
Software-defined Network软件定义网络
OVS处于业务平面、数据转发平面上的交换机
(2)纯软件SW支持物理交换机的大部分特性:
1)端口Port安全 /DHCP/ARP切片
2)限速QoS
3)LACP链路捆绑
4)支持OpenFlow、sFlow
(3)SDN软件交换机可以
1)基于MAC/桥表转发
2)基于流表(FlowTable)转发/基于流的交换行为 (整体是个转发器)
6. OpenFlow交换机将原来完全由交换机/路由器控制的报文转发过程转化为由OpenFlow交换机(OpenFlow Switch)和控制服务器(Controller)来共同完成,从而实现了数据转发和路由控制的分离。控制器可以通过事先规定好的接口操作来控制OpenFlow交换机中的流表,从而达到控制数据转发的目的。
OpenFlow控制器(SDN控制器)发送OpenFlow给OVS(OpenFlow转发器)。
7. OpenFlow网络由OpenFlow交换机、FlowVisor和Controller三部分组成。OpenFlow交换机进行数据层的转发;FlowVisor对网络进行虚拟化;Controller对网络进行集中控制,实现控制层的功能。
8. OpenFlow交换机由流表、安全通道和OpenFlow协议三部分组成。
3。DVS概述
1. 分布式交换机的功能类似于普通的物理交换机,每台主机都连接到分布式交换机中。
分布式交换机的一端是与虚拟机相连的虚拟端口,另一端是与虚拟机所在主机上的物理以太网适配器相连的上行链路。通过它可以连接主机和虚拟机,实现系统网络互通。另外,分布式交换机在所有关联主机之间作为单个虚拟交换机使用。此功能可使虚拟机在跨主机进行迁移时确保其网络配置保持一致。
2. DVS:横跨多台服务器的交换机 (横跨多台服务器、共享相同网络配置的逻辑交换机)
(1)是一台分布式(多服务器)逻辑交换机(管理平面上的)
(2)处在Data Plane上。(真正处在数据上的是它所选的交换机模式的交换机。例如,普通模式下发的OVS交换机)
(3)DVS是用于下发配置的。(选择的模式决定你在服务器上每台主机上下发的什么样的交换机)
3. VRM上是有DVS的管理组件的DVSM(DVS Manager)。DVS是由组件构成的。而在每一台服务器上也有DVS的组件DVS Agent。每一个DVS Agent跟DVSM通讯。
4。EVS概述
1. 在Host上运行用户态EVS,借助于DPDK的网卡管理API和大页内存,来提升物理网卡收发包性能和处理能力。 EVS=OVS+DPDK 它可以在用户态(空间)就把数据连内核的推到硬卡上,实现了高吞吐。
2. 基于vhost-user技术,vhost在用户态直接和EVS交互,通过地址偏移获取DPDK大页地址,性能提升30%-40%。
3. 利用批处理和轮询机制提升报文处理能力。
4. 后续会通过ivshm技术以共享内存与VM通信,进一步提升性能。
作用:可以有效地提高服务器的吞吐
DVS是华为自研的分布式虚拟交换机,统筹底层的OVS,是一个逻辑上的概念方便管理员去管理,底层是见不到DVS的。底层只能见到OVS(Open vSwitch)。EVS是华为根据OVS来增强的一个虚拟交换机,使用了DPDK技术,最大的好处就是它是一个免内核的虚拟交换机(用户态的虚拟交换机),可以直接通过用户态去转发,不需要再经过内核再去找它的原生驱动再找网卡再进行转发了,路径变短,性能提升(EVS可以在用户态就把数据免内核的推到网卡上,实现了高吞吐)。
3)华为虚拟交换模式
1. 华为虚拟交换机提供三种虚拟交换模式:普通模式、SR-IOV直通模式、用户态交换模式。
(1)普通模式:(纯OVS)黄色是交换机,底下是普通网卡,这种网卡必须由虚拟化层意义模拟出来,所以它有上下文的切换过程、数据的拷贝过程,有用户态走到内核态的过程,这种方式是纯软的一种解决过程,性能最不好,但它通用性好、性能最丰富,对网卡没要求。
(2)SR-IOV直通方案:PF(physical Function)上分离出多个VF(Virtual Function),VF直通到虚拟机。这种方案可以做硬件的交换(网卡来做交换),所以它经常进行外网相通,也能实现虚拟机相通。(硬件虚拟化) 需要有SR-IOV的网卡,主机需要支持SR-IOV网卡,也要装driver驱动(主机和虚拟机)。
Single Root -IOV:单根虚拟化。它是网卡,硬卡天生支持虚拟化。
(3)用户态交换:数据直接从用户态/层推出去。虚拟机的应用数据通过Vring(QEMU和前驱后驱之间的IO通道)把数据推送给用户层的EVS(QEMU也在用户空间),EVS(支持DPDK的OVS)收到用户数据之后DPDK封装处理,然后越过内核直接送到网卡(支持DPDK)。虚拟机之间相通,虚拟机之间通信直接在用户空间做交换;内外相通通过DPDK送到服务器外部去。 提高吞吐
网卡需要支持DPDK 软交换
解决的问题:减少了数据经过内核态,然后走到硬件网卡的环节。
4)华为分布式交换方案
1. FC(VRM)只能创建DVS交换机。
(1)选择交换模式:OVS(普通模式)、SR-IOV(SR-IOV直通方案)(硬直通 硬卡)、EVS(用户态交换模式)
1)普通模式:虚拟化特性多,无NIC特殊要求(普通网卡就可以)
2)SR-IOV直通方案:性能好。需要Intel的SR-IOV服务器网卡(82599)
3)用户态交换模式:吞吐量大。需要DPDK服务器网卡(82599ES)
(2)确定VLAN池(范围)
(3)为连到DVS的一些服务器指明它们通向外网的上行链路端口(uplink port)
例:VRM创建DVS111分布式交换机。
①选择普通模式,DVSM收到让DVS Agent创建OVS交换机。(真正做交换的、做流转换的是OVS,不是DVS。)
②VLAN池是1-2000。
③指明服务器的上链端口。(C1:P1,C2:P2,C3:P1,C4:P2)
④定义DVS111的端口组(Port Group)。
端口组:例如:在虚拟化下,创建一个虚拟交换机,它连有两个虚拟机,连接的端口都是vsp端口。那么我可以创建一个端口组叫Portgroup_ABC然后给它配置(VLAN 103, 100k in/outbps等等),然后把VM1、VM2的虚拟网口连到这个端口组使用这个端口组的配置。 好处:可以让多个虚拟机使用同样的配置
场景1:
问题: V4,V5在同一个DVS222上,为什么它们不通呢?S2物理交换机上的端口必须Trunk并且allow(放行)VLAN 2005。经过了三个交换机(ovsà物理交换机S2àovs)
说出它们不通的几种情况。
①物理交换机S2上没有配VLAN2005
②P4、P5、P6连到S2的线不支持VLAN 2005
得出DVS:处在同一个DVS上的虚拟机,如果连在同一个端口组(VLAN)并且IP网段一致,它们应该是通的。
端口组是面向虚拟机的,给虚拟机用。Uplink端口组是通向物理的,给物理网口,是trunk端口。
场景2:
①每一台交换机(VSW/DVS/ovs)只能使用一个上链端口(逻辑/物理都可)。(独享)
②一个CNA节点可以同时处在多个DVS上。
问题:1. 如果放在同一个端口组里,V1、V2、V3应该是通的,V6、V4、V5也应该是通的。现在问V1能与V6通吗?可以通。(分别在DVS111和DVS222中创建VLAN池,设置范围都为1-4000,然后把所有虚拟机都放入VLAN 103里,它们就可以相通。)
2. 在服务器内部,两个OVS通吗?不通 (外面的物理SW是可以打通的,但不建议。)
3. 什么场景下需要创建两个DVS?
①DVS111承担业务1,DVS222承担业务2,业务之间需要物理隔离。(最好是物理交换机也做成两个,端到端的隔离)
②一台DVS上最多支持4千个VLAN,但虚拟机比较多(7000个网段)。
2. 方案特点:
(1)集中的管理:统一Portal和集中的管理,简化用户的管理和配置;
(2)开源Open vSwitch:集成开源Open vSwitch,充分利用和集成了开源社区虚拟交换的能力;
(3)提供丰富的虚拟交换的二层特性,包括交换、QoS、安全隔离等。
3. 华为的分布式虚拟交换支持基于开源Open vSwitch的纯软件的虚拟交换的功能,同时提供支持完整虚拟交换卸载的智能网卡的虚拟交换。
4. 开源Open vSwitch与智能网卡的虚拟交换提供的功能完全一致,虚拟交换管理通过不同的插件管理Open vSwitch和智能网卡。
5)FusionCompute架构
1. FusionCompute是一款基于KVM架构的虚拟化软件。
2. 在管理平面有两个VRM,一个主一个备VRM管理层。
管理层负责运营和运维。
①运营:负责创建网络、创建存储、接入存储、创建虚拟机,完成业务部署。
②运维:收集日志、告警、状态、资源用量。
3. 虚拟化服务器在下边。KVM在虚拟化服务器上。
4. VRM通过管理通道,管理下边的VMM,VMM管理虚拟机。(保证业务一致性。)
5. CNA是一台一台的服务器,用来做虚拟化部署。
6. VRM+CNA就是一个虚拟化平台,是一套虚拟化基础设施。
6)FusionCompute分布式交换机
1. FusionCompute具备支持分布式虚拟交换,可以向虚拟机提供独立的网络平面。像物理交换机一样,不同的网络平面间通过VLAN进行隔离。
2. 通过分布在各物理服务器的虚拟交换机,提供虚拟机的二层通信、隔离、QoS的能力。
3. 分布式交换机模型基本特征:
(1)虚拟化管理员可以配置多个分布式交换机,每个分布式交换机可以覆盖集群中的多个CNA节点;
(2)每个分布式交换机具有多个分布式的虚拟端口VSP,每个VSP具有各自的属性(速率),为了管理方便采用Port Group组管理相同属性的一组端口,相同端口组的VLAN相同;
(3)虚拟化管理员或业务系统(例如VDI/IDC),可选择管理/存储/业务使用的不同物理接口;每个分布式交换机可以配置一个UpLink端口或者一个Uplink端口聚合组,用于VM对外的通信。Uplink端口聚合组可以包含多个物理端口,端口聚合组可以配置负载均衡策略;
(4)每个VM可以具有多个vNIC接口,vNIC可以和交换机的VSP一一对接;
(5)虚拟化管理员或业务系统可根据业务需求,选择在一个集群中允许进行2层迁移的服务器创建虚拟二层网络,设置该网络使用的VLAN信息;
4. 华为分布式交换机相关概念:上行链路、端口组、VLAN池
7)虚拟交换模型
1. 虚拟化管理员可通过定义端口组 属性(安全/QoS)简化对虚拟机端口属性的设置;设置端口组属性,不影响虚拟机正常工作;
2. 端口组:端口组是网络属性相同的一组端口的属性集合。管理员可以通过配置端口组属性(带宽QOS、2层安全属性、VLAN等)简化对虚拟机端口属性的设置。设置端口组属性,不影响虚拟机正常工作;
3. 上行链路:分布式交换机关联的服务器物理网口;管理员可以查询上行链路的名称、速率、模式、状态等信息;
4. 上行链路聚合:分布式交换机关联的服务器绑定网口,绑定网口可以包含多个物理网口,这些物理网口可以配置主备或负载均衡策略。
8)FusionCompute中的虚拟机通信
(2)网络虚拟化功能特性
1)华为虚拟交换模式
1. 华为虚拟交换机提供三种虚拟交换模式:普通模式,SR-IOV直通模式,用户态交换 模式。
(1)普通交换:普通模式下,虚拟机有前后端两个虚拟网卡设备,其中,前端网卡连接在虚拟交换机的虚端口上。虚拟机网络数据包通过环形缓冲区和事件通道在前后端网卡之间传输,并最终通过后端网卡连接的虚拟交换机实现转发。
(2)SR-IOV:SR-IOV(Single Root I/O Virtualization)技术是Intel在2007年提出的网络I/O虚拟化技术,目前已是PCI-SIG的规范。简单说来,支持SR-IOV的物理网卡可以虚拟出多个网卡以供虚拟机使用,对于虚拟机来说就像是有一块单独的物理网卡一样,相比软件虚拟化提升了网络I/O的性能,相对于硬件直通(PCI Passthrough)又减少了硬件网卡数量上的需求。
(3)用户态交换:通过使用DPDK(Data Plane Development Kit,数据平面开发套件,DPDK是一系列库和驱动的集合)技术,用来在x86平台进行快速的数据包处理。它通过环境抽象层旁路内核协议栈、轮询模式的报文无中断收发、优化内存/缓冲区/队列管理、基于网卡多队列和流识别的负载均衡等多项技术,实现了在x86处理器架构下的高性能报文转发能力,提高虚拟机网络性能。
2)网络安全策略
1。二层网络安全策略
1. 二层网络安全策略主要包括:防止用户虚拟机IP和MAC地址仿冒,防止用户虚拟机DHCP Server仿冒。
(1)防止IP地址和MAC仿冒(IP和MAC绑定):防止虚拟机用户通过修改虚拟网卡的IP、MAC地址发起IP、MAC仿冒攻击,增强用户虚拟机的网络安全。通过生成IP-MAC的绑定关系,基于IP源侧防护(IP Source Guard)与动态ARP检测(DAI)对非绑定关系的报文进行过滤。
(2)防止DHCP Server仿冒(DHCP Server隔离):禁止用户虚拟机启动DHCP Server服务,防止用户无意识或恶意启动DHCP Server服务,影响正常的虚拟机IP地址分配过程。
2。广播报文抑制
1. 在服务器整合、桌面云等企业应用场景,如果发生网络攻击或病毒发作等引起的广播报文攻击,可能造成网络通信异常,此时可以开启虚拟交换机的广播报文抑制功能。
2. 虚拟交换机提供虚拟机虚端口发送方向的广播报文抑制开关,以及抑制阈值设置功能。可以通过开启虚拟机网卡所在端口组的广播包抑制开关设置阈值,减少过量广播报文对二层网络带宽的消耗。
3. 管理员可以通过系统Portal,基于虚拟交换机端口组对象,配置报文抑制开关和报文抑制带宽阈值。
3。安全组
1. 用户根据虚拟机安全需求创建安全组,每个安全组可以设定一组访问规则。当虚拟机加入安全组后,即受到该访问规则组的保护。用户通过在创建虚拟机时选定要加入的安全组来对自身的虚拟机进行安全隔离和访问控制。
2. 位于同一个安全组的所有虚拟机网卡都将使用该安全组规则进行网络通信。虚拟机一块网卡只能加入一个安全组中。
3)Trunk口
1. Trunk口介绍
(1)虚拟机网卡通过虚端口接入虚拟交换机进行网络数据包的收发。
(2)虚拟交换机虚端口支持配置为Trunk类型,并允许设置Trunk的VLAN ID范围,之后虚端口便具备了同时收发携带不同VLAN标签的网络数据包的功能,从而满足了虚拟网卡支持Trunk类型端口的需求。
4)网络QoS
1. 网络QoS策略提供带宽配置控制能力,包含如下方面:
(1)基于端口组成员接口发送方向与接收方向的带宽控制。
(2)基于端口组的每个成员接口提供流量整形、带宽优先级的控制能力。
5)网口绑定
1. 主机网口绑定
(1)管理员可以通过FusionCompute绑定CNA主机的网口,以提高网络的可靠性。
(2)针对普通网卡和DPDK驱动的物理网卡均可以设置端口绑定。
FusionCompute的资源包括主机和集群资源、网络资源和存储资源。主机和集群管理指导管理员在FusionCompute系统中创建集群和主机,并对主机和集群资源进行调整和配置。
FusionCompute将主机的物理CPU、内存资源整合为计算资源池,然后划分出虚拟的CPU和内存资源为虚拟机提供计算能力。
(1)集群管理
1)集群管理
2)集群基本配置
1. 主机内存复用
(1)内存气泡
(2)内存共享
(3)内存置换
2. 虚拟机启动策略
(1)自动分配
虚拟机启动时,在集群中满足资源条件的节点中随机进行节点的选择。
(2)负载均衡
系统自动根据使用CPU和内存各50%的加权值计算,选择占用率最小的主机。
3. 虚拟机NUMA结构自动调整
3)集群配置操作
(2)主机管理
1)主机管理
2)主机管理配置
1. 配置主机的BMC IP地址、BMC用户名和BMC密码。配置主机BMC参数后,系统才能在执行资源调度时,对主机进行上下电。
2. 设置主机进入维护模式。主机进入维护模式后,可以将该主机与整个系统隔离开来,以便于在不影响系统业务的情况下,在该主机上执行部件更换或下电、重启等维护的操作。主机进入维护模式后,需要将主机上的虚拟机关闭或迁出,再对主机进行维护操作。
3. 通过配置主机逻辑端口,设置不同网络平面
4. 主机设置
(1)主机资源
配置主机在不同场景的资源预留
(2)大页配置
配置主机大页内存,优化主机内存访问效率,从而提升性能
(3)用户态交换规格
当对虚拟机的网络性能有较高要求时,需要提前配置虚拟机所在主机的用户态交换规格。
(4)BMC配置
(5)时间同步
(6)防病毒配置
在主机上开启防病毒功能,为主机上运行的用户虚拟机提供病毒查杀、病毒实时监控、网络入侵检测、网络漏洞扫描、防火墙等服务
(1)存储资源介绍
1. FusionCompute可使用的存储资源来自主机本地磁盘或专用的存储设备。专用的存储设备与主机之间应通过网线或光纤连通。
2. FusionCompute支持的存储类型及各存储形态:
(2)存储资源配置过程(IP-SAN)
(3)存储资源配置过程
1、配置心跳平面业务管理接口
2、添加存储接口
3、添加存储资源,同步关联主机,在IP-SAN场景时建议修改主机WWN
4、扫描存储设备
(4)FusionCompute数据存储使用方式
1. 虚拟化存储
(1)虚拟化的数据存储创建普通磁盘速度较慢,但可支持部分高级特性,如果创建精简磁盘,还能支持更多的高级特性,可提高存储的资源利用率和系统的安全性、可靠性。
(2)格式化:存储设备首次添加为数据存储时,请确认该存储设备上的数据已经备份或不再使用,并将“是否格式化”设置为“是”,此时系统会将待使用的存储设备格式化为华为虚拟化文件系统。
2. 非虚拟化存储
当存储资源为FusionStorage存储时,创建数据存储时默认为非虚拟化。
3. 裸设备映射
(1)将SAN存储的物理LUN直接作为磁盘绑定给业务虚拟机,使SAN存储具有更高的性能。
(2)裸设备映射的数据存储只能整块当做裸设备映射的磁盘使用,不可分割,因此只能创建与数据存储同等容量的磁盘,且不支持虚拟化存储的高级功能。
(5)FusionCompute磁盘参数
1. 磁盘类型
(1)普通:普通磁盘只能单个虚拟机使用。
(2)共享:共享磁盘可以绑定给多个虚拟机使用。
2. 配置模式
(1)普通:根据磁盘容量为磁盘分配空间,在创建过程中会将物理设备上保留的数据置零。
(2)精简:该模式下,系统首次仅分配磁盘容量配置值的部分容量,后续根据使用情况,逐步进行分配,直到分配总量达到磁盘容量配置值为止。
(3)普通延迟置零:根据磁盘容量为磁盘分配空间,创建时占用极少空间做标记,初次使用时分配所有空间。
3. 磁盘模式
(1)从属:快照中包含该从属磁盘,更改将立即并永久写入磁盘。
(2)独立-持久:更改将立即并永久写入磁盘,持久磁盘不受快照影响。
(3)独立-非持久:关闭电源或恢复快照后,丢弃对该磁盘的更改。
问题:持久化磁盘和非持久化磁盘在哪些场景可以用到?
非持久化磁盘一般做数据盘。持久化磁盘一般是敏感数据盘或系统盘。
(1)网络资源管理介绍
1. 网络资源管理指导管理员在FusionCompute系统中创建分布式交换机和端口组等网络资源,并对网络资源进行调整和配置。
(2)网络配置—分布式交换机管理
(3)FusionCompute分布式虚拟交换机类型
1. 普通模式:上行链路所关联的主机物理网卡为普通网卡。
2. SR-IOV直通模式:上行链路使用SRIOV直通网卡时选择该模式。
3. 用户态交换模式:上行链路使用的网口所使用的驱动模式必须为用户态驱动模式。
(4)端口组管理
1. 端口类型:
(1)普通:普通类型的虚端口只能属于一个VLAN,中继类型的虚端口可以允许多个VLAN接收和发送报文。普通虚拟机选择普通类型的端口,虚拟机的网卡启用VLAN设备的情况下选择中继类型的端口,否则虚拟机的网络可能不通。
(2)中继:端口组配置为中继的方式后,可以在linux虚拟机内创建多个VLAN设备,这些VLAN设备通过1个虚拟网卡即可以收发携带不同VLAN标签的网络数据包。使虚拟机不用创建多个虚拟网卡,即可收发携带不同VLAN标签的网络数据包。
2. 广播抑制
抑制广播报文带宽,可以限制虚拟机发送大量的广播报文,防止广播报文攻击。
3. DHCP隔离
使用该端口组的虚拟机无法启动DHCP Server服务,以防止用户无意识或恶意启动DHCP Server服务,影响其他虚拟机IP地址的正常分配。
4. IP与MAC绑定
仅当选择“端口类型”为“普通”,且虚拟机为通过自定义虚拟机方式设置的IP时有效。使用该端口组的虚拟机,其IP地址与MAC地址绑定,防止用户通过修改虚拟机网卡IP地址或者MAC地址,发起IP或者MAC仿冒攻击,增强用户虚拟机的网络安全性。开启该功能时,如果某个虚拟机网卡配置多个IP地址会导致该网卡部分IP地址通信异常,建议在虚拟机网卡配置多个IP地址时不开启该功能。
5. 填充TCP校验和
填充TCP校验和:该端口组下的虚拟机在接收报文时,系统会自动填充TCP校验和。此开关只应用于对TCP校验和的正确性有要求的场景,不建议开启。开启开关后虚拟机网络收包性能会有所下降。
(5)安全组管理
1. 管理员通过FusionCompute,为虚拟机网卡添加、删除、修改安全组
(1)位于同一个安全组的所有虚拟机网卡都将使用该安全组规则进行网络通信。虚拟机一块网卡只能加入一个安全组中。
2. 管理员通过FusionCompute,为安全组添加规则
(1)位于同一个安全组的所有虚拟机网卡都将使用该安全组规则进行网络通信。
1. 创建全新的虚拟机
2. 使用模板创建虚拟机
(1)模板转为虚拟机
一般在要修改模板内容的场景下使用。
(2)使用模板部署虚拟机
部署n个相同的虚拟机。
ova模板就是一个磁盘文件。
ovf是一个文件的容器,它包含一个ovf文件(配置文件)和一个vhd文件(磁盘)。
3. 使用已有的虚拟机克隆虚拟机
(1)虚拟机文件
1. 虚拟机在虚拟化平台中至少有两个文件组成,一个是虚拟机配置文件*.xml,一个是虚拟机磁盘文件*.img。
2. 在用virt-install生成虚拟机时会自动的生成一个默认xml格式的配置文件在/etc/libvirt/qemu目录下,以后需要调整虚拟机参数时可以使用virsh edit VM_ID修改虚拟机配置文件。在初次建立虚拟机时里面的参数都是根据第一次生成虚拟机的配置指定的。
3. 虚拟机磁盘文件主要有raw和qcow2格式。
(2)虚拟机调整
1. 在业务需求时,管理员可以通过FusionCompute对虚拟机做调整
(1)调整CPU
(2)调整内存
(3)绑定/解绑磁盘
(4)添加/删除网卡
(5)挂载/卸载光驱
(6)修改启动方式
(7)绑定/解绑USB设备
······
(3)虚拟机回收
1. 安全删除
通过覆盖性擦写对磁盘空间进行删除,避免数据被恢复,安全性高,但删除速度较慢,且删除时会占用系统资源。
2. 普通删除
通过破坏磁盘文件系统对磁盘空间进行删除,删除速度快,但存在通过残余信息恢复数据的可能,安全性差。
(4)模板管理
1. 制作模板
可以在FusionCompute中,使用系统内已有的虚拟机制作模板,以便创建与模板设置一致的虚拟机,实现快速部署的功能。
2. 导出模板
可以通过FusionCompute,将系统内的模板或虚拟机导出作为虚拟机的模板,以便在其他系统中使用该虚拟机模板创建虚拟机。
3. 导入模板
可以将本地的虚拟机模板文件导入FusionCompute中,以便快速部署虚拟机。
4. 删除模板
当模板不需要时,可以删除模板,以减少系统资源占用
(5)快照管理
1. 创建快照
可以通过FusionCompute,为虚拟机创建快照,保存虚拟机设置和虚拟机磁盘的数据,用于虚拟机数据的还原和恢复。如果创建内存快照,还可以保存和恢复虚拟机的内存状况。
2. 回滚快照
可以通过FusionCompute,在虚拟机故障或需要还原数据时,使用虚拟机已有的快照,将虚拟机的数据恢复至该快照创建时刻的状态。
3. 删除快照
可以通过FusionCompute,删除虚拟机中不再使用的、过期的快照。
(6)Tools管理
1. Tools介绍:Tools是虚拟机的驱动程序。空虚拟机创建并安装操作系统后,需在虚拟机上安装华为提供的Tools,以便提高虚拟机的I/O处理性能、实现对虚拟机的硬件监控和其他高级功能。某些特性必须要安装Tools才能使用。
2. 安装Tools:管理员可以通过挂载Tools方式将Tools软件以虚拟光驱形式挂载给虚拟机,在虚拟机侧安装Tools。
3. 卸载Tools:当操作虚拟机失误,导致Tools功能异常时,需要卸载Tools后再重新安装。
4. 查看Tools:管理员在Tools升级准备或升级验证时,可通过FusionCompute查看虚拟机的Tools运行状态和版本号,确认升级的执行情况。
显示结果有:未运行、运行中、运行中(当前版本:xxx)、未运行(最近版本:xxx)。
5. Tools功能:
(1)为虚拟机提供高性能的磁盘I/O和网络I/O功能
(2)为虚拟机提供虚拟硬件监控功能
1)获取虚拟机指定网卡IP信息
2)获取虚拟机内部各CPU利用率、内存利用率
3)获取虚拟机内各个磁盘/分区的空间使用信息
(3)为虚拟机提供高级功能
1)迁移虚拟机
2)安全关闭虚拟机、安全重启虚拟机、休眠虚拟机
3)在线调整虚拟机的CPU规格
4)创建虚拟机快照
5)虚拟机蓝屏检测
6)虚拟机与主机时钟同步
7)虚拟机网卡的高级功能,如QoS
8)自动升级虚拟机的驱动程序,如Tools驱动
(7)虚拟机防病毒
1. FusionCompute联合防病毒厂商为用户提供虚拟化防病毒功能。其中,华为提供虚拟化平台的防病毒接口(API),防病毒厂商基于该接口进行开发,集成其杀毒引擎、病毒库等,最终为用户的虚拟化平台提供防病毒能力。使用该功能时,只需在主机上部署一台安全服务虚拟机并在运行在该主机上的其他虚拟机安装防病毒驱动,即可为安全用户虚拟机提供病毒查杀、病毒实时监控等服务。