10月14日,业内资深云计算专家在信服云《云集技术学社》系列直播课上进行了《深信服aSV服务器虚拟化功能及原理》的分享,介绍了服务器虚拟化的基本原理和深信服aSV服务器虚拟化特色技术。以下是他的分享内容摘要。
看点一
服务器虚拟化的发展
从上世纪60年代开始,服务器虚拟化经历了60多年的发展,也有着十分明显的代际变化。

第一代是基于二进制翻译的全虚拟化,它的典型应用是早期的VMware Workstation。核心是通过二进制发育的方式实现虚拟机的复用。

第二代是半虚拟化,它的典型应用是Xen,通过修改操作系统内核,替换掉不能虚拟化的指令,通过超级调用(Hypercall)直接和底层的虚拟化层Hypervisor来通讯,Hypervisor 同时也提供了超级调用接口来满足其他关键内核操作,比如内存管理、中断和时间保持。这种做法省去了全虚拟化中的捕获和模拟,大大提高了效率。

第三代是硬件辅助虚拟化,核心是在裸金属上安装VMware,在上面跑GuestOS指令。有别于上两代的是,它不用修改任何的GuestOS指令,可以直接运行。
看点二
服务器虚拟化基本原理
01

Qemu-KVM基本原理介绍

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

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

Qemu是一个应用程序,工作在用户态(User mode 、CPU Ring3),提供外设的模拟、vCPU模拟、主控逻辑、IO收发等,当GuestOS 需要发送IO请求、需要发送网络包的时候,都需要调用VM_Exit让Qemu协助实现。它能够支持CPU 和 memory 超分、半虚拟化 I/O、热插拔、对称多处理、实时迁移、PCI 设备直接分配和单根 I/O 虚拟化、内核同页合并、NUMA等多项功能。使用Qemu的云厂商在这些功能配置上都是类似的。

使用Qemu-KVM有三种运行模式:

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

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

第三种内核模式(System Ring0),模拟CPU以及内存,实现客户模式的切换,处理从客户模式的退出,KVM内核模块运行在这个模式下(CPU工作在 VMX  Root Operation)。

02

Virtio(aTool) 和全虚介绍

Virtio半虚:实际上是在Qemu和虚拟机之间设置一个共享内存Vring,当有数据需要发送的时候,把数据拷贝到共享内存Vring中,然后调用一次VM_Exit退出到Qemu中,Qemu再把这个Vring的数一次性全部发出(注意:如果虚拟机此时在快速发包,有可能Vring中已经缓存了多个包,从而更进一步减少了VM_Exit)。这样可以减少VM_Exit的次数,从而大大提高性能(可以理解成在GuestOS和Qemu之间开了个后门)。

Virtio半虚拟可以获得很好的I/O性能,比纯软件模拟高于4倍多,其性能几乎可以达到和Native(即非虚拟化环境中的原生系统)差不多的I/O性能。所以,在使用KVM之时,如果宿主机内核和客户机都支持Virtio的情况下,一般推荐使用Virtio达到更好的性能。

IO全虚拟:以磁盘或者网络为例,当虚拟机有数据需要发送的时候,需要通过Qemu模拟所有的硬件寄存器,虚拟机OS把这些数据填充到模拟的硬件中,然后访问设置这些寄存器,触发VM_Exit退出,Qemu接收到这些数据,再把这些数据真实的写入到磁盘、发送到网卡。这个过程发送一个数据包,可能要多次设置寄存器,导致多次退出,从而性能较差。

03

超配原理以及限制介绍

虚拟机在Hypervisor看来,就是一个配置文件+vDisk文件(配置文件会注明磁盘大小、CPU、内存数量、型号等等基础信息,这些信息会在虚拟机启动的时候,传递到虚拟机启动参数),而每个vDISK实际上在Hypervisor看来就是一个文件。

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的生效)。但内存超配可能会造成系统物理内存耗尽,导致系统卡顿的情况。因此,在核心系统上,要控制超分内存的比率,或者不要超配。

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

无论vCPU数量配置多大,总的物理主机CPU资源是恒定的,因而:
(1)单个虚拟机最大的配置不要超过物理CPU的核心数量;
(2)主机上运行所有虚拟机的总vCPU数量不能太多,否则调度消耗会增大。生产环境最佳实践为不超过CPU的逻辑核心的2倍,主要参考真实生产中物理CPU占用一般不超过20%;超配2倍以后,物理CPU占用40%左右,超配要考虑峰值预留,且物理CPU占用超过50%以上,已经比较繁忙了。

04

热迁移基本原理介绍

热迁移分为两种形式,一种是共享存储热迁移,此种热迁移形式,需要虚拟机镜像在共享存储上,此种迁移类型,只需要通过网络发送客户机的vCPU执行状态、内存中的内容、虚机设备的状态到目的主机上。另一种是跨主机跨存储热迁移,与跨主机不跨存储热迁移类似。不同的是其需要在目的存储创建相同配置的虚拟机镜像(空白的,没有数据),之后仍然是在目的宿主机上启动目的端Qemu进程, 目的端Qemu镜像打开新创建的镜像文件。另外还需要传送源端虚拟机的磁盘数据到目的端。

看点三

深信服aSV服务器虚拟化特色技术

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

 CDP技术
CDP技术实现依赖于HCI自带的“备份技术” + “IO 分流技术”。虚拟机同时开启业务(Qemu)和CDP功能(cdp_worker),并为该虚拟机开辟一块共享内存作为主业务和CDP模块的共享缓存区。CDP模块(cdp_worker)可直接向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天、一周)的虚拟机级容灾功能,主、备站点皆为深信服的企业云平台。

基于AI的调度优化技术
当一台物理主机上运行多台虚拟机的时候,虚拟机之间必然会有资源的竞争,包括CPU、内存、Cache、TLB、QPI等资源竞争。传统的虚拟化优化技术无法知道资源的供需关系。传统虚拟化优化技术无资源感知能力,如CPU级资源竞争,内存带宽竞争;无协同优化能力,如计算,存储与网络的协同优化;无业务感知能力,重要核心虚拟机依然会受到其他虚拟机的资源竞争。而深信服基于AI的性能优化引擎,拥有业务感知能力通过AI引擎识别当前业务场景的核心资源需求和业务场景的资源瓶颈。AI引擎基于业务的历史资源标签建立性能优化模型。自适应的性能优化架构能够根据业务的资源标签推荐最优的资源配置并根据业务的资源标签推荐最优的调度策略。

还想了解更多云计算知识?请扫码报名云集技术学社,今天下午15点将带来分享:云数据中心设计。

深信服aSV服务器虚拟化功能及原理相关推荐

  1. 深信服虚拟机服务器功率,深信服aSV服务器虚拟化试用(二)

    4. 存储管理及上传ISO 在安装虚拟机前,是要先对存储进行管理,并上传镜像等的. 下图所示中,就是管理存储空间的界面,在根目录下是没有权限新建文件夹的. 另注意看左侧红框内的,那个应当时CIFS协议 ...

  2. 深信服虚拟化服务器,深信服aSV服务器虚拟化试用(一)

    安装篇 安装时,刻录的是光盘,U盘的 1.如下图,启动时,选择"安装虚拟化管理平台".接下来的步骤就如安装Linux系统一样了. 值得注意的是,如果不是IntelCPU架构的服务器 ...

  3. 深信服虚拟服务器设置ip,5分钟,轻松玩转深信服服务器虚拟化

    [IT168厂商动态]服务器虚拟化技术的发展历程已超过十年,带来的优势价值也十分突出,而国内的企事业单位近几年才开始在小范围内尝试采用服务器虚拟化方案,其推广普及慢的原因是什么呢? 对此,深信服君曾针 ...

  4. 服务器虚拟资源池,VMware服务器虚拟化功能介绍--存储DRS(资源池)、.docx

    PAGE3/ NUMPAGES3 VMware服务器虚拟化功能介绍--存储DRS(资源池).SRM(自动化应用级容灾) VMware服务器虚拟化功能介绍--存储DRS(资源池).SRM(自动化应用级容 ...

  5. 湖南hp服务器虚拟化解决方案,惠普扩展HP ProLiant服务器虚拟化功能

    [IT168 新闻] 惠普近日发布了将虚拟化功能集成到HP ProLiant服务器平台的新技术,帮助用户更快速和简易地虚拟化其服务器环境. 这项被称为HP ProLiant iVirtualizati ...

  6. 深信服虚拟服务器断断续续的,深信服防火墙AF做双机时虚拟MAC问题的处理办法...

    现有四台深信服防火墙AF,名称分别为A.B.C.D,A和B做成HA,C和D做成HA,都是路由模式,网口1都是带外管理口,并且都加入到了监视网口,双机热备配置的虚拟ID组都是默认的100,A.B两台带外 ...

  7. 深信服邮箱服务器,SANGFOR_aDesk_V5.2_云盘服务器部署指导.pdf

    SANGFOR_aDesk_V5.2_云盘服务器部署指导 目录 目录2 第 1章 WindowsServer2008配置3 1.1 文件服务角色安装3 1.2 终端服务程序安装8 1.3 共享目录配置 ...

  8. 深信服超融合技术架构(重点介绍主要模块)

    目录 超融合架构定义 系统总体架构 1.aSV 计算机虚拟化平台 1.1 概述 1.2 aSV 技术原理 1.2.1 Hypervisor 分类 (1)裸金属型 (2)宿主型 (3) aSV 的 Hy ...

  9. 深信服VMP 内存分配一点看法

    PPT老师只讲了一半,剩下的一半下次讲. 深信服的整个虚拟化系统目前由三部分:VMP.VDC和aDesk. VMP:虚拟化管理平台,又叫做宿主操作系统,虚拟化管理程序,VMP管理硬件,包括CPU.内存 ...

最新文章

  1. html head
  2. 多项式相乘与相加演示
  3. 系统类加载器 AppClassLoader
  4. java开发和基于asp.net开发有什么优越性?_java语言的入门开始介绍
  5. android的颜色渐变动画效果图,Android简单实现一个颜色渐变的ProgressBar
  6. win11很卡怎么办 windows11很卡的解决方法
  7. 8.26树状数组讲解
  8. 管理新语:一项工作如果一定要上,不要等准备好,立即上
  9. Android学习笔记---常用技巧(图片的旋转)
  10. 国际自主智能机器人大赛强势来袭,NAACL同声传译任务等你来战
  11. docker迁移禅道
  12. 003之可想而知(一)
  13. TJX公司:一家不但股价便宜,产品价格也非常便宜的美国低价零售商
  14. 背单词App开发日记1
  15. 来了,来了,他来了,使用Github制作自己的在线简历(网页和PDF版)你都值得拥有
  16. 永恒之蓝ms17_010漏洞复现
  17. windows 9X, 2000, xp所有版本注册表设置大全
  18. 工程师必读书籍_最佳软件工程师必读书籍
  19. 用html3d静态相册带音乐,3D立体动态相册(带背景音乐)HTML+CSS脚本
  20. linux里hba状态_Linux更换HBA卡后重新扫盘指令

热门文章

  1. 华为鸿蒙糸统其它手机可以用吗,鸿蒙os来了,但是除了华为以外其他手机能用吗?...
  2. ffmpeg调整视频时长
  3. 计算机运行游戏卡顿,电脑玩游戏卡怎么办几种实用解决方法
  4. 冯山C语言第六章作业答案,冯山《山路梅花》阅读答案及翻译赏析
  5. 无穷大 计算机语言,数值编程语言能区分“最大有限数”和“无穷大”吗?
  6. 20230210英语学习
  7. Python小爬虫,爬取当前全部股票信息
  8. CAD快捷命令----画圆
  9. [E路客]关键词排名之质量度如何提高剖析
  10. 可以修改GPS的照片图像编辑器——Photos Exif Editor for Mac2.8特别版