hwyzw 发表于 2025-1-4 08:24:41

深信服Leijian分享aSV服务器虚拟化技术:从60年代到现代的演变与特色

    10月14日,深信服云计算专家在深信服云“云集技术社”系列直播课中分享了《深信服aSV服务器虚拟化功能与原理》,介绍了服务器虚拟化的基本原理以及深信服aSV服务器虚拟化特色技术。以下是他分享的内容摘要。

    看点:服务器虚拟化的发展

    自20世纪60年代以来,服务器虚拟化已经经历了60多年的发展,也出现了非常明显的代际变化。

    第一代是基于二进制翻译的全虚拟化,其典型应用较早。核心是通过二进制开发实现虚拟机的复用。

    第二代是半虚拟化。其典型应用是Xen。通过修改操作系统内核,替换无法虚拟化的指令,通过()直接与底层虚拟化层通信,同时也提供了。接口来满足其他关键内核操作,例如内存管理、中断和计时。这种方法消除了全虚拟化中的捕获和模拟的需要,大大提高了效率。

    第三代是硬件辅助虚拟化。核心安装在裸机上并在其上运行指令。与前两代不同的是,它可以直接运行,无需修改任何指令。

    要点二:服务器虚拟化基本原理:Qemu-KVM基本原理介绍

    深信服目前使用的硬件辅助虚拟化是基于Qemu-KVM的。

    KVM是内核(kvm.ko)的一个驱动程序,工作在内核态(CPU Ring0),实际上是Linux内核的标准组件。 KVM内核模块收到请求后,首先做一些准备工作,比如将vCPU上下文加载到VMCS()等,然后驱动CPU进入VMX Non-Root模式并开始执行客户端代码。

    Qemu是一个工作在用户态(User mode,CPU Ring3)的应用程序,提供外设模拟、vCPU模拟、主控逻辑、IO收发器等。当需要发送IO请求和网络数据包时,需要调用Qemu来帮助实施它。它可以支持CPU和超分辨率、半虚拟化I/O、热插拔、对称多处理、实时迁移、PCI设备直接分配和单根I/O虚拟化、内核同页合并、NUMA等其他功能。使用Qemu的云供应商在这些功能配置上是相似的。

    使用 Qemu-KVM 共有三种操作模式:

    第一种是访客模式(Guest Ring0~3),可以简单理解为访客操作系统运行的模式。分为自己的内核态和用户态(CPU工作在VMX Non-Root)。

    第二种是用户模式(User Ring3),为用户提供用于虚拟机管理的用户空间工具,并代表用户执行I/O。 Qemu 在此模式下运行(CPU 工作在 VMX Root)。

    第三内核态(Ring0)模拟CPU和内存,实现Guest模式的切换,并处理Guest模式的退出。 KVM内核模块运行在该模式下(CPU工作在VMX Root)。

    (aTool)和全旭介绍

    https://img2.baidu.com/it/u=2040719363,2547174836&fm=253&fmt=JPEG&app=120&f=JPEG?w=817&h=800

    半虚拟:实际上是Qemu和虚拟机之间建立了一个共享内存Vring。当有数据需要发送时,将数据复制到共享内存Vring,然后调用一次退出Qemu。然后 Qemu 将 Vring 中的数据包一次性发送出去(注意:如果此时虚拟机正在快速发送数据包,则有可能 Vring 中已经缓存了多个数据包,从而进一步减少数量)。这样可以减少次数,从而大大提高性能(可以理解为在Qemu和Qemu之间开了一个后门)。

    半虚拟化可以实现非常好的I/O性能,比纯软件模拟高4倍以上。其性能在非虚拟化环境下几乎可以达到与原生系统相同的I/O性能。因此,在使用KVM时,如果主机内核和客户端都支持的话,一般建议使用KVM以获得更好的性能。

    IO全虚拟化:以磁盘或者网络为例,当虚拟机有数据需要发送时,所有硬件寄存器都需要通过Qemu进行模拟。虚拟机OS将这些数据填充到模拟硬件中,然后访问并设置这些寄存器来触发Exit,Qemu接收到数据,然后真正将数据写入磁盘并发送到网卡。这个过程发送一个数据包,可能需要多次设置寄存器,导致多次退出,导致性能不佳。

    超额配置原则和限制简介

    从虚拟机的角度来看,它只是一个配置文件+vDisk文件(配置文件会标明磁盘大小、CPU、内存数量、型号等基本信息,这些信息会传递给虚拟机启动参数当虚拟机启动时),每个虚拟磁盘实际上看起来都是一个文件。

    KVM的vDISK有两种格式:RAW和QCOW2格式。 RAW格式性能更高,但相比QCOW2,RAW不支持快照、精简分配等特性,因此深信服采用QCOW2格式。

    对于QCOW2文件,有三种模式:精简分配、动态分配(底层存储需要支持空洞文件)、预分配模式。其中“预分配”性能最好,接近RAW格式的性能,“精简分配”性能最差,“动态分配”居中(注:目前超融合中动态分配为接近预分配性能,并且aSAN已经过优化)。

    对于精简分配和动态分配,假设实际写入配置文件分配2TB,但实际QCOW2文件占用可能很小(实际大小取决于真实数据),因此可以超分配,即配置的虚拟机的总磁盘大小大于实际物理主机的磁盘大小。

    物理主机的虚拟内存包括物理内存(内存条,高速)+SWAP(硬盘分区,慢速);当物理内存不够时,系统会根据配置使用SWAP分区(深信服超融合平台默认设置为“尽量不使用SWAP”策略)。 vMEM 过度配置的本质是假设为虚拟机分配了 32G 内存。虚拟机实际只占用24G。理论上8G(32G-24G=8G)可以循环利用。这个回收的部分理论上可以被其他虚拟机使用。这时候就需要使用KSM(不安装aTool有效)或者气泡内存技术(安装aTool有效)。然而,内存的过度配置可能会导致系统物理内存耗尽,从而导致系统死机。因此,在核心系统上,需要控制超配内存的比例,或者不超配。

    每个正在运行的虚拟机看起来都是一个系统进程,而vCPU就是该进程的一个线程。同时,每个vCPU线程最多占用一个物理CPU的逻辑核,多个vCPU之间的同步和调度会消耗额外的资源(因此,当单个虚拟机的vCPU数量超过物理CPU的逻辑核时)主机,实际这会让虚拟机的性能降低)。

    无论配置多少个vCPU,物理主机CPU资源总量都是恒定的,因此:

    (1)单个虚拟机的最大配置不要超过物理CPU的核心数;

    (2)主机上运行所有虚拟机的vCPU总数不能太大,否则会增加调度消耗。生产环境中的最佳实践是不要超过CPU逻辑核心的2倍。主要参考的是,实际生产中,物理CPU占用一般不超过20%;超配2倍后,物理CPU占用率约为40%,超配时必须考虑峰值预留。 ,而且物理CPU使用率超过50%,已经相当繁忙了。

    热迁移基本原理介绍

    https://img2.baidu.com/it/u=1830695663,3376737618&fm=253&fmt=JPEG&app=138&f=PNG?w=500&h=214

    热迁移有两种形式。一是共享存储热迁移。这种形式的热迁移要求虚拟机映像位于共享存储上。这种类型的迁移只需要通过网络发送客户端的vCPU执行状态和内存。虚拟机设备的内容和状态被传输到目标主机。另一种是跨主机跨存储热迁移,类似于跨主机但不是跨存储热迁移。不同的是,它需要在目标存储上创建一个配置相同(空白,无数据)的虚拟机镜像,然后仍然在目标主机上启动目标Qemu进程,目标Qemu镜像打开新创建的镜像文件。另外,还需要将源虚拟机的磁盘数据转移到目的地。

    亮点三:深圳ASV服务器虚拟化特色技术虚拟机快速备份

    通过快速无代理磁盘备份保护您的数据,并使用增量备份来减少备份空间要求并降低备份成本。无需备份软件和备份服务器即可实现增量备份。快速备份性能比普通快照备份提升60%,且备份完成后无性能损失。此外,还可以提供手动备份和定时备份功能,保证虚拟机文件的数据安全。与快照备份性能相比,深信服虚拟机快速备份在备份过程中对性能影响很小,并且备份后也不影响性能。

    CDP技术

    CDP技术的实现依赖于HCI自有的“备份技术”+“IO卸载技术”。虚拟机同时启用业务(Qemu)和CDP功能(),并为虚拟机开辟一块共享内存作为主业务和CDP模块的共享缓存区域。 CDP模块()可以直接向Qemu发出备份指令,指示QCOW2镜像执行备份动作,形成全备份和附加备份BP。首次启用CDP功能时,需要进行全量备份来生成BP基准点。随后,根据设定的定期备份频率(每小时级别)定期生成BP点。 BP点以备份文件的形式存储在CDP数据存储区中。 CDP采用旁路架构+IO卸载技术,通过共享缓存区实现主业务的IO异步复制到CDP日志存储区(io仓库),并以IO日志的形式存在;根据设定的IO日志间隔(RPO=1s/5s),定期生成RP点。仅使用RP无法恢复数据。所有的RP都依赖于相应的BP。与传统的CDP相比,搭载HCI的CDP技术具有更高的容错能力和虚拟机兼容性。

    容灾技术

    深信服采用“本地备份-异地容灾”解决方案,在本地提供秒级持续数据保护解决方案。当虚拟机出现故障时,可以从本地保护数据快速恢复整个虚拟机;不同RPO(1秒、10秒、10分钟、30分钟、1小时、2小时、4小时、8小时、12小时、1天、2天、1周)虚拟机级容灾功能,均主备份站点为深信服企业云平台。

    基于AI的调度优化技术

    当物理主机上运行多个虚拟机时,虚拟机之间不可避免地会出现资源竞争,包括CPU、内存、Cache、TLB、QPI等资源的竞争。传统的虚拟化优化技术无法了解资源的供需关系。传统虚拟化优化技术没有资源感知能力,如CPU级资源竞争、内存带宽竞争;没有协同优化能力,比如计算、存储、网络的协同优化;没有业务感知能力,重要的核心虚拟机仍然会受到其他虚拟机争夺资源的影响。深信服基于AI的性能优化引擎具备业务感知能力,可以通过AI引擎识别当前业务场景的核心资源需求以及业务场景的资源瓶颈。 AI引擎根据业务的历史资源标签建立性能优化模型。自适应性能优化架构可以根据业务的资源标签推荐最优的资源配置,并根据业务的资源标签推荐最优的调度策略。
页: [1]
查看完整版本: 深信服Leijian分享aSV服务器虚拟化技术:从60年代到现代的演变与特色