目前国内很多的厂商都推出了不同的超融合厂商对比方案,到底哪个厂商的技术更好?

当前位置: >>
超融合技术白皮书
深信服超融合架构技术白皮书文档密级:内部深信服超融合架构 技术白皮书 深信服超融合架构技术白皮书文档密级:内部深信服科技有限公司修订记录 深信服超融合架构技术白皮书文档密级:内部 深信服超融合架构技术白皮书文档密级:内部第 1 章、 1.1 1.2 第 2 章、 1.1 1.1.1 1.2 1.2.1.1 1.2.1.2前言............................................................................................. 8 IT 时代的变革 ............................................................................ 8 白皮书总览................................................................................. 9 深信服超融合技术架构........................................................... 11 超融合架构概述....................................................................... 11 超融合架构的定义................................................................... 11 深信服超融合架构组成模块................................................... 11 系统总体架构.................................................................... 11 aSV 计算虚拟化平台 ....................................................... 12 概述 ............................................................................. 121.2.1.2.11.2.1.2.2 aSV 技术原理 .............................................................. 131.2.1.2.2.1 aSV 的 Hypervisor 架构 ............................................... 14 1.2.1.2.2.2 Hypervisor 虚拟化实现 ................................................ 171.2.1.2.3 aSV 的技术特性 .......................................................... 251.2.1.2.3.1 内存 NUMA 技术 .......................................................... 251.2.1.2.3.2 SR-IOV ............................................................................ 26 1.2.1.2.3.3 Faik-raid .......................................................................... 27 1.2.1.2.3.4 1.2.1.2.3.5 1.2.1.2.3.6 虚拟机生命周期管理 ..................................................... 28 虚拟交换机 ..................................................................... 29 动态资源调度 ................................................................. 301.2.1.2.4 aSV 的特色技术 .......................................................... 301.2.1.2.4.1 快虚 ................................................................................. 30 深信服超融合架构技术白皮书文档密级:内部1.2.1.2.4.2 1.2.1.2.4.3 1.2.1.2.4.4 1.2.1.2.4.5虚拟机热迁移 ................................................................. 31 虚拟磁盘加密 ................................................................. 32 虚拟机的 HA .................................................................. 33 多 USB 映射 ................................................................... 331.2.1.3aSAN 存储虚拟化 ............................................................ 35 存储虚拟化概述 ......................................................... 35虚拟后对存储带来的挑战 ............................................. 35 分布式存储技术的发展 ................................................. 35 深信服 aSAN 概述......................................................... 361.2.1.3.11.2.1.3.1.1 1.2.1.3.1.2 1.2.1.3.1.31.2.1.3.2 aSAN 技术原理 ........................................................... 361.2.1.3.2.1 1.2.1.3.2.2 1.2.1.3.2.3 主机管理 ......................................................................... 36 文件副本 ......................................................................... 37 磁盘管理 ......................................................................... 381.2.1.3.2.4 SSD 读缓存原理 ............................................................. 39 1.2.1.3.2.5 SSD 写缓存原理 ............................................................. 45 1.2.1.3.2.6 磁盘故障处理机制 ......................................................... 491.2.1.3.3深信服 aSAN 功能特性 ............................................. 60存储精简配置 ................................................................. 601.2.1.3.3.11.2.1.3.3.2 aSAN 私网链路聚合 ...................................................... 61 1.2.1.3.3.3 数据一致性检查 ............................................................. 611.2.1.4aNet 网络虚拟化 ............................................................. 61 网络虚拟化概述 ......................................................... 611.2.1.4.1 深信服超融合架构技术白皮书文档密级:内部1.2.1.4.2 aNET 网络虚拟化技术原理 ....................................... 621.2.1.4.2.1 SDN ................................................................................. 62 1.2.1.4.2.2 NFV .................................................................................. 63 1.2.1.4.2.3 aNet 底层的实现 ............................................................ 641.2.1.4.3功能特性 ..................................................................... 681.2.1.4.3.1 aSW 分布式虚拟交换机................................................. 68 1.2.1.4.3.2 aRouter ........................................................................... 68 1.2.1.4.3.3 vAF ................................................................................... 69 1.2.1.4.3.4 vAD .................................................................................. 691.2.1.4.4深信服 aNet 的特色技术 .......................................... 69网络探测功能 ................................................................. 69 全网流量可视 ................................................................. 70 所画即所得业务逻辑拓扑 ............................................. 701.2.1.4.4.1 1.2.1.4.4.2 1.2.1.4.4.31.2.2 1.2.2.1 1.2.2.2 第 3 章、 1.1 1.2 1.3 1.4 第 4 章、深信服超融合架构产品介绍................................................... 71 产品概述............................................................................ 71 产品定位............................................................................ 71 深信服超融合架构带来的核心价值....................................... 73 可靠性:................................................................................... 73 安全性....................................................................................... 73 灵活弹性................................................................................... 73 易操作性................................................................................... 73 超融合架构最佳实践............................................................... 74 深信服超融合架构技术白皮书文档密级:内部 深信服超融合架构技术白皮书文档密级:内部第1章、1.1前言IT 时代的变革20 世纪 90 年代,随着 Windows 的广泛使用及 Linux 服务器操作系统的出现 奠定了 x86 服务器的行业标准地位, 然而 x86 服务器部署的增长带来了新的 IT 基础 架构和运作难题,包括:基础架构利用率低、物理基础架构成本日益攀升、IT 管理成 本不断提高以及对关键应用故障和灾难保护不足等问题。X86 服务器虚拟化技术的出 现,通过将 x86 系统转变成通用的共享硬件基础架构,充分挖掘硬件的潜力,提高硬 件的利用效率,降低硬件和运营成本,并且简化运维降低管理成本,最终帮助用户把更 多的时间和成本转移到对业务的投入上。 随着云计算和虚拟化技术向构建新一代数据中心方向发展,关键以虚拟化为基础, 实现管理以及业务的集中,对数据中心资源进行动态调整和分配,重点满足企业关键应 用向 X86 系统迁移对于资源高性能、高可靠、安全性和高可适应性上的要求,同时提 高基础架构的自动化管理水平,确保满足基础设施快速适应业务的商业诉求,支持企业 应用云化部署。 云计算并不是一种新的技术,而是在一个新理念的驱动下产生的技术组合。在云计 算之前,企业部署一套服务,需要经历组网规划,容量规划,设备选型,下单,付款, 发货,运输,安装,部署,调试的整个完整过程。这个周期在大型项目中需要以周甚至 月来计算。在引入云计算后,这整个周期缩短到以分钟来计算。 IT 业有一条摩尔定律,芯片速度容量每 18 个月提升一倍。同时, IT 行业还有 一条反摩尔定律,所有无法追随摩尔定律的厂家将被淘汰。 IT 行业是快鱼吃慢鱼的行 业,使用云计算可以提升 IT 设施供给效率,不使用则会拖慢产品或服务的扩张脚步, 深信服超融合架构技术白皮书文档密级:内部一步慢步步慢。 云计算当然还会带来别的好处,比如提升复用率缩减成本,降低能源消耗,缩减维 护人力成本等方面的优势,但在反摩尔定律面前,已经显得不是那么重要。 业界关于云计算技术的定义,是通过虚拟化技术,将不同的基础设施标准化为相同 的业务部件,然后利用这些业务部件,依据用户需求自动化组合来满足各种个性化的诉 求。云着重于虚拟化,标准化,和自动化。 深信服的超融合架构是一款成熟的 Iaas 层的云计算解决方案,除满足上面所述的 虚拟化, 标准化和自动化诉求外, 秉承深信服公司产品的优秀基因, 向您提供简单易用, 安全可靠的产品。 本文档向您讲述深信服超融合架构解决方案中所用到的相关技术,通过阅读本文档, 您能够了解到: 云的虚拟化,标准化,易用性,易管理这些关键技术是如何在深信服的超融合架构 解决方案中体现的;超融合架构解决方案是如何做到简单,安全可靠的;超融合解决方 案所包含的部件,所涉及的主要技术领域,使用的主要的一些技术;针对超融合架构提 供的各种技术选择,您怎样使用它们来满足您的业务诉求。1.2白皮书总览本书介绍的内容大致如下: 第一章、在前言部分,给您对云计算,云平台有一个概括性的认识,并对本文档的 阅读给出指导。 第二章、讲述超融合架构中的主要功能模块,各个功能模块的技术细节介绍。 第三章、向您介绍深信服超融合架构中的技术在为客户带来的核心价值。 第四章、分享超融合架构在客户中的实际应用场景,并给出深信服超融合架构产品 深信服超融合架构技术白皮书文档密级:内部的体验途径,非常欢迎您来试用。 深信服超融合架构技术白皮书文档密级:内部第2章、1.1深信服超融合技术架构超融合架构概述1.1.1 超融合架构的定义超融合基础架构,这是一种将计算、网络和存储等资源作为基本组成元素,根据系 统需求进行选择和预定义的一种技术架构, 具体实现方式上一般是指在同一套单元节点 (x86 服务器)中融入软件虚拟化技术(包括计算、网络、存储、安全等虚拟化),而 每一套单元节点可以通过网络聚合起来,实现模块化的无缝横向扩展(scale-out), 构建统一的资源池。1.2深信服超融合架构组成模块1.2.1.1 系统总体架构深信服超融合架构图 深信服超融合架构在基于底层基础架构 (标准的 X86 硬件) 上将计算、 存储、 网络、 安全软件化,通过这种软件化的方式,即计算虚拟化 aSV、存储虚拟化 aSAN、网络虚 拟化 aNet,构建了数据中心里所需的最小资源单元,通过资源池中的最小单元,提供 深信服超融合架构技术白皮书文档密级:内部了数据中心 IT 基础架构中所需的全部资源。1.2.1.2 aSV 计算虚拟化平台 1.2.1.2.1 概述计算资源虚拟化技术就是将通用的 x86 服务器经过虚拟化软件,对最终用户呈现 标准的虚拟机。这些虚拟机就像同一个厂家生产的系列化的产品一样,具备系列化的硬 件配置,使用相同的驱动程序。 虚拟化技术起源于大型机,最早可以追溯到上世纪六、七十年代大型机上的虚拟分 区技术,即允许在一台主机上运行多个操作系统,让用户尽可能充分地利用昂贵的大型 机资源。 随着技术的发展和市场竞争的需要,虚拟化技术向小型机或 UNIX 服务器上移植, 只是由于真正使用大型机和小型机的用户还是少数, 加上各厂商产品和技术之间的不兼 容,使得虚拟化技术不太被公众所关注。(注:由于 X86 架构在设计之初并没有考虑 支持虚拟化技术,它本身的结构和复杂性使得在其之上进行虚拟化非常困难,早期的 X86 架构并没有成为虚拟化技术的受益者) 20 世纪 90 年代,虚拟化软件厂商采用一种软件解决方案,以 VMM(Virtual Machine Monitor, VMM 虚拟机监视器)为中心使 X86 服务器平台实现虚拟化。 然而 这种纯软件的“全虚拟化”模式,每个 Guest OS(客户操作系统)获得的关键平台资 源都要由 VMM 控制和分配, 需要利用二进制转换, 而二进制转换带来的开销使得 “完 全虚拟化” 的性能大打折扣。 为解决性能问题, 出现了一种新的虚拟化技术 “半虚拟化” , 即不需要二进制转换,而是通过对客户操作系统进行代码级修改,使定制的 Guest OS 获得额外的性能和高扩展性,但是修改 Guest OS 也带来了系统指令级的冲突及运行 深信服超融合架构技术白皮书文档密级:内部效率问题, 需要投入大量优化的工作。 当前, 虚拟化技术已经发展到了硬件支持的阶段, “硬件虚拟化”技术就是把纯软件虚拟化技术的各项功能用硬件电路来实现,可减少 VMM 运行的系统开销,可同时满足 CPU 半虚拟化和二进制转换技术的需求, 深信服的超融合架构解决方案中的计算虚拟化采用 aSV 虚拟化系统, 通过将服务器 资源虚拟化为多台虚拟机。最终用户可以在这些虚拟机上安装各种软件,挂载磁盘,调 整配置,调整网络,就像普通的 x86 服务器一样使用它。 计算虚拟化是超融合的架构中必不可少的关键因素,对于最终用户,虚拟机比物理 机的优势在于它可以很快速的发放,很方便的调整配置和组网。对于维护人员来讲,虚 拟机复用了硬件,这样硬件更少,加上云平台的自动维护能力,这样整个 IT 系统的成 本显著降低。1.2.1.2.2 aSV 技术原理服务器务器虚拟化前后的巨大差异,源于虚拟机与物理服务器的本质区别上: 虚拟机的定义:虚拟机 (Virtual Machine) 是由虚拟化层提供的高效、独立的虚拟 计算机系统,每台虚拟机都是一个完整的系统,它具有处理器、内存、网络设备、存储 设备和 BIOS,因此操作系统和应用程序在虚拟机中的运行方式与它们在物理服务器上 的运行方式没有什么区别。 虚拟机的本质区别:与物理服务器相比,虚拟机不是由真实的电子元件组成,而是 由一组虚拟组件(文件)组成,这些虚拟组件与物理服务器的硬件配置无关,关键与物 理服务器相比,虚拟机具有以下优势: 抽象解耦: 1.可在任何 X86 架构的服务器上运行; 深信服超融合架构技术白皮书文档密级:内部2.上层应用操作系统不需修改即可运行; 分区隔离: 1.可与其他虚拟机同时运行; 2.实现数据处理、网络连接和数据存储的安全隔离; 封装移动: 1.可封装于文件之中,通过简单的文件复制实现快速部署、备份及还原; 2.可便捷地将整个系统(包括虚拟硬件、操作系统和配置好的应用程序)在不同的 物理服务器之间进行迁移,甚至可以在虚拟机正在运行的情况下进行迁移;1.2.1.2.2.1 aSV 的 Hypervisor 架构Hypervisor 是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操 作系统和应用共享一套基础物理硬件, 因此也可以看作是虚拟环境中的 “元” 操作系统, 它可以协调访问服务器上的所有物理设备和虚拟机,也叫虚拟机监视器( Virtual Machine Monitor)。 Hypervisor 是所有虚拟化技术的核心。非中断地支持多工作负载迁移的能力是 深信服超融合架构技术白皮书文档密级:内部Hypervisor 的基本功能。当服务器启动并执行 Hypervisor 时,它会给每一台虚拟机分 配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统。虚拟化技术架构Hypervisor,常见的 Hypervisor 分两类: Type-I(裸金属型) 指 VMM 直接运作在裸机上,使用和管理底层的硬件资源,GuestOS 对真实硬件 资源的访问都要通过 VMM 来完成,作为底层硬件的直接操作者,VMM 拥有硬件的 驱动程序。 裸金属虚拟化中 Hypervisor 直接管理调用硬件资源, 不需要底层操作系统, 也可以理解为 Hypervisor 被做成了一个很薄的操作系统。这种方案的性能处于主机虚 拟化与操作系统虚拟化之间。代表是 VMware ESX Server 、 Citrix XenServer 和 Microsoft Hyper-V,Linux KVM。 Type-II 型(宿主型) 指 VMM 之下还有一层宿主操作系统,由于 Guest OS 对硬件的访问必须经过宿 主操作系统,因而带来了额外的性能开销,但可充分利用宿主操作系统提供的设备驱动 和底层服务来进行内存管理、进程调度和资源管理等。主机虚拟化中 VM 的应用程序调 深信服超融合架构技术白皮书文档密级:内部用硬件资源时需要经过:VM 内核-&Hypervisor-&主机内核,导致性能是三种虚拟化技 术中最差的。主机虚拟化技术代表是 VMware Server ( GSX )、 Workstation 和 Microsoft Virtual PC、Virtual Server 等。 由于主机型 Hypervisor 的效率问题,深信服的 aSV 采用了裸机型 Hypervisor 中 的 Linux KVM 虚拟化,即为 Type-I(裸金属型)。 KVM(Kenerl-based Virtual Machine) 是 基 于 linux 内 核 虚 拟 化 技 术 , 自 linux2.6.20 之后就集成在 linux 的各个主要发行版本中。它使用 linux 自身的调度器进 行管理,所以相对于 xen,其核心源码很少。 KVM 是基于硬件虚拟化扩展 (Intel VT- X 和 AMD-V) 和 QEMU 的修改版, KVM 属于 Linux kernel 的一个模块,可以用命令 modprobe 去加载 KVM 模块。加载了该 模块后,才能进一步通过工具创建虚拟机。但是仅有 KVM 模块是不够的。因为用户无 法直接控制内核去做事情,还必须有一个运行在用户空间的工具才行。这个用户空间的 工具,我们选择了已经成型的开源虚拟化软件 QEMU。 QEMU 也是一个虚拟化软件, 它的特点是可虚拟不同的 CPU, 比如说在 x86 的 CPU 上可虚拟一个 power 的 CPU,并可利用它编译出可运行在 power 上的 CPU,并可利 用它编译出可运行在 power 上的程序。KVM 使用了 QEMU 的一部分,并稍加改造, 就成了可控制 KVM 的用户空间工具了。这就是 KVM 和 QEMU 的关系。如下图: 深信服超融合架构技术白皮书文档密级:内部KVM 的实现模块有两个,分别是: kvm.ko 是提供核心虚拟化的基础架构;特定 于处理器的模块 kvm-intel.ko 和 kvm-amd.ko 。其设计目标是在需要引导多个未改 动的 PC 操作系统时支持完整的硬件模拟。 一个普通的 linux 进程有两种运行模式: 内核和用户。 而 KVM 增加了第三种模式: 客户模式(有自己的内核和用户模式)。在 kvm 模型中,每一个虚拟机都是由 linux 调度程序管理的标准进程。 总体来说,kvm 由两个部分组成:一个是管理虚拟硬件的设备驱动,该驱动使用字 符设备/dev/kvm 作为管理接口;另一个是模拟 PC 硬件的用户空间组件,这是一个稍 作修改的 qemu 进程。 同时,aSV 采用 KVM 优势有: ? ? ? ? ? 嵌入到 Linux 正式 Kernel(提高兼容性) 代码级资源调用(提高性能) 虚拟机就是一个进程(内存易于管理) 直接支持 NUMA 技术(提高扩展性) 保持开源发展模式(强大的社区支持)1.2.1.2.2.2 Hypervisor 虚拟化实现VMM (Virtual Machine Monitor)对物理资源的虚拟可以划分为三个部分:CPU 虚拟化、内存虚拟化和 I/O 设备虚拟化,其中以 CPU 的虚拟化最为关键。 经典的虚拟化方法:现代计算机体系结构一般至少有两个特权级(即用户态和核心 态,x86 有四个特权级 Ring0~ Ring3)用来分隔系统软件和应用软件。那些只能在处 深信服超融合架构技术白皮书文档密级:内部理器的最高特权级(内核态)执行的指令称之为特权指令,一般可读写系统关键资源的 指令(即敏感指令)决大多数都是特权指令(X86 存在若干敏感指令是非特权指令的 情况)。如果执行特权指令时处理器的状态不在内核态,通常会引发一个异常而交由系 统软件来处理这个非法访问(陷入)。经典的虚拟化方法就是使用“特权解除”和“陷 入-模拟” 的方式, 即将 GuestOS 运行在非特权级, 而将 VMM 运行于最高特权级 (完 全控制系统资源)。解除了 GuestOS 的特权级后,Guest OS 的大部分指令仍可以在 硬件上直接运行, 只有执行到特权指令时, 才会陷入到 VMM 模拟执行 (陷入-模拟) 。 “陷入-模拟” 的本质是保证可能影响 VMM 正确运行的指令由 VMM 模拟执行,大 部分的非敏感指令还是照常运行。 因为 X86 指令集中有若干条指令是需要被 VMM 捕获的敏感指令,但是却不是 特权指令(称为临界指令),因此“特权解除”并不能导致他们发生陷入模拟,执行它 们不会发生自动的“陷入”而被 VMM 捕获,从而阻碍了指令的虚拟化,这也称之为 X86 的虚拟化漏洞。 X86 架构虚拟化的实现方式可分为: 1、X86“全虚拟化”(指所抽象的 VM 具有完全的物理机特性,OS 在其上运行 不需要任何修改) Full 派秉承无需修改直接运行的理念, 对 “运行时监测, 捕捉后模拟” 的过程进行优化。 该派内部之实现又有些差别, 其中以 VMWare 为代表的基于二进制 翻译 (BT) 的全虚拟化为代表, 其主要思想是在执行时将 VM 上执行的 Guest OS 指 令,翻译成 x86 指令集的一个子集,其中的敏感指令被替换成陷入指令。翻译过程与 指令执行交叉进行,不含敏感指令的用户态程序可以不经翻译直接执行。 2、X86“半虚拟化”(指需 OS 协助的虚拟化,在其上运行的 OS 需要修改) Para 派的基本思想是通过修改 Guest OS 的代码,将含有敏感指令的操作,替换为对 深信服超融合架构技术白皮书文档密级:内部VMM 的超调用 Hypercall,类似 OS 的系统调用,将控制权转移到 VMM,该技术 因 VMM 项目而广为人知。该技术的优势在于 VM 的性能能接近于物理机,缺点在 于需要修改 GuestOS (如: Windows 不支持修改)及增加的维护成本,关键修改 Guest OS 会导致操作系统对特定 hypervisor 的依赖性,因此很多虚拟化厂商基于 VMM 开发的虚拟化产品部分已经放弃了 Linux 半虚拟化,而专注基于硬件辅助的全 虚拟化开发,来支持未经修改的操作系统。 3、X86“硬件辅助虚拟化”: 其基本思想就是引入新的处理器运行模式和新的指令,使得 VMM 和 Guest OS 运行于不同的模式下,Guest OS 运行于受控模式,原来的一些敏感指令在受控模式下 全部会陷入 VMM,这样就解决了部分非特权的敏感指令的“陷入-模拟”难题,而且 模式切换时上下文的保存恢复由硬件来完成,这样就大大提高了“陷入-模拟”时上下 文切换的效率。 以 Intel VT-x 硬件辅助虚拟化技术为例,该技术增加了在虚拟状态下的两种处理 器工作模式:根(Root)操作模式和非根(Non-root)操作模式。VMM 运作在 Root 操作模式下,而 Guest OS 运行在 Non-root 操作模式下。这两个操作模式分别拥有 自己的特权级环,VMM 和虚拟机的 Guest OS 分别运行在这两个操作模式的 0 环。 这样, 既能使 VMM 运行在 0 环, 也能使 Guest OS 运行在 0 环, 避免了修改 Guest OS 。 Root 操 作 模 式 和 Non-root 操 作 模 式 的 切 换 是 通 过 新 增 的 CPU 指 令 (VMXON,VMXOFF 等)来完成。 硬件辅助虚拟化技术消除了操作系统的 ring 转换问题,降低了虚拟化门槛,支持 任何操作系统的虚拟化而无须修改 OS 内核,得到了虚拟化软件厂商的支持。硬件辅 助虚拟化技术已经逐渐消除软件虚拟化技术之间的差别,并成为未来的发展趋势。 深信服超融合架构技术白皮书文档密级:内部1.2.1.2.2.2.1 vCPU 机制vCPU 调度机制对虚拟机来说, 不直接感知物理 CPU, 虚拟机的计算单元通过 vCPU 对象来呈现。 虚拟机只看到 VMM 呈现给它的 vCPU。 在 VMM 中, 每个 vCPU 对应一个 VMCS (Virtual-MachineControl Structure) 结构, 当 vcpu 被从物理 CPU 上切换下来的 时候, 其运行上下文会被保存在其对应的 VMCS 结构中; 当 vcpu 被切换到 pcpu 上 运行时, 其运行上下文会从对应的 VMCS 结构中导入到物理 CPU 上。 通过这种方式, 实现各 vCPU 之间的独立运行。 从虚拟机系统的结构与功能划分可以看出,客户操作系统与虚拟机监视器共同构成 了虚拟机系统的两级调度框架, 如图所示是一个多核环境下虚拟机系统的两级调度框架。 客户操作系统负责第 2 级调度,即线程或进程在 vCPU 上的调度(将核心线程映射到 相应的虚拟 CPU 上)。虚拟机监视器负责第 1 级调度, 即 vCPU 在物理处理单元上 深信服超融合架构技术白皮书文档密级:内部的调度。两级调度的调度策略和机制不存在依赖关系。vCPU 调度器负责物理处理器资 源在各个虚拟机之间的分配与调度 ,本质上即把各个虚拟机中的 vCPU 按照一定的策 略和机制调度在物理处理单元上可以采用任意的策略来分配物理资源, 满足虚拟机的不 同需求。vCPU 可以调度在一个或多个物理处理单元执行(分时复用或空间复用物理处 理单元), 也可以与物理处理单元建立一对一固定的映射关系(限制访问指定的物理处 理单元)。1.2.1.2.2.2.2 内存虚拟化图 3-6 内存虚拟化三层模型因为 VMM (Virtual Machine Monitor) 掌控所有系统资源,因此 VMM 握有整个内 存资源, 其负责页式内存管理, 维护虚拟地址到机器地址的映射关系。 因 Guest OS 本 身亦有页式内存管理机制,则有 VMM 的整个系统就比正常系统多了一层映射: A. 虚拟地址(VA),指 Guest OS 提供给其应用程序使用的线性地址空间; B. 物理地址(PA),经 VMM 抽象的、虚拟机看到的伪物理地址; C. 机器地址(MA),真实的机器地址,即地址总线上出现的地址信号; 映射关系如下: Guest OS: PA = f(VA)、 VMM: MA = g(PA)VMM 维护一套页表, 深信服超融合架构技术白皮书文档密级:内部负责 PA 到 MA 的映射。Guest OS 维护一套页表,负责 VA 到 PA 的映射。实际 运行时, 用户程序访问 VA1, 经 Guest OS 的页表转换得到 PA1, 再由 VMM 介入, 使用 VMM 的页表将 PA1 转换为 MA1。 页表虚拟化技术 普通 MMU 只能完成一次虚拟地址到物理地址的映射,在虚拟机环境下,经过 MMU 转换所得到的“物理地址”并不是真正的机器地址。若需得到真正的机器地址, 必须由 VMM 介入,再经过一次映射才能得到总线上使用的机器地址。如果虚拟机的 每个内存访问都需要 VMM 介入,并由软件模拟地址转换的效率是很低下的,几乎不 具有实际可用性,为实现虚拟地址到机器地址的高效转换,现普遍采用的思想是:由 VMM 根据映射 f 和 g 生成复合的映射 fg,并直接将这个映射关系写入 MMU。当 前采用的页表虚拟化方法主要是 MMU 类虚拟化(MMU Paravirtualization)和影子 页表,后者已被内存的硬件辅助虚拟化技术所替代。 1、MMU Paravirtualization 其基本原理是:当 Guest OS 创建一个新的页表时,会从它所维护的空闲内存中 分配一个页面, 并向 VMM 注册该页面, VMM 会剥夺 Guest OS 对该页表的写权限, 之后 GuestOS 对该页表的写操作都会陷入到 VMM 加以验证和转换。VMM 会检查 页表中的每一项,确保他们只映射了属于该虚拟机的机器页面,而且不得包含对页表页 面的可写映射。后 VMM 会根据自己所维护的映射关系,将页表项中的物理地址替换 为相应的机器地址,最后再把修改过的页表载入 MMU。如此,MMU 就可以根据修 改过页表直接完成虚拟地址到机器地址的转换。 2、内存硬件辅助虚拟化 深信服超融合架构技术白皮书文档密级:内部内存硬件辅助虚拟化技术原理图内存的硬件辅助虚拟化技术是用于替代虚拟化技术中软件实现的“影子页表”的一 种硬件辅助虚拟化技术,其基本原理是:GVA(客户操作系统的虚拟地址)-& GPA(客 户操作系统的物理地址)-& HPA(宿主操作系统的物理地址)两次地址转换都由 CPU 硬件自动完成(软件实现内存开销大、性能差)。以 VT-x 技术的页表扩充技术 Extended PageTable(EPT)为例,首先 VMM 预先把客户机物理地址转换到机器地 址的 EPT 页表设置到 CPU 中; 其次客户机修改客户机页表无需 VMM 干预; 最后, 地址转换时,CPU 自动查找两张页表完成客户机虚拟地址到机器地址的转换。使用内 存的硬件辅助虚拟化技术, 客户机运行过程中无需 VMM 干预, 去除了大量软件开销, 内存访问性能接近物理机。1.2.1.2.2.2.3 I/O 设备虚拟化VMM 通过 I/O 虚拟化来复用有限的外设资源,其通过截获 Guest OS 对 I/O 设备的访问请求,然后通过软件模拟真实的硬件,目前 I/O 设备的虚拟化方式主要有 三种:设备接口完全模拟、前端/后端模拟、直接划分。 1、设备接口完全模拟: 深信服超融合架构技术白皮书文档密级:内部即软件精确模拟与物理设备完全一样的接口,Guest OS 驱动无须修改就能驱动这 个虚拟设备,Vmware 即使用该方法。 优点:没有额外的硬件开销,可重用现有驱动程序; 缺点:为完成一次操作要涉及到多个寄存器的操作,使得 VMM 要截获每个寄存 器访 问并进行相应的模拟,这就导致多次上下文切换;由于是软件模拟,性能较低。 2、前端/后端模拟: VMM 提供一个简化的驱动程序(后端, Back-End),Guest OS 中的驱动程序为 前端(Front-End, FE),前端驱动将来自其他模块的请求通过与 Guest OS 间的特殊通 信机制直接发送给 Guest OS 的后端驱动,后端驱动在处理完请求后再发回通知给前 端,VMM 即采用该方法。 优点:基于事务的通信机制,能在很大程度上减少上下文切换开销,没有额外的硬 件开销; 缺点:需要 GuestOS 实现前端驱动,后端驱动可能成为瓶颈。 3、直接划分: 即直接将物理设备分配给某个 Guest OS,由 Guest OS 直接访问 I/O 设备(不 经 VMM) , 目前与此相关的技术有 IOMMU (Intel VT-d, PCI-SIG 之 SR-IOV 等) , 旨在建立高效的 I/O 虚拟化直通道。 优点:可重用已有驱动,直接访问减少了虚拟化开销; 缺点:需要购买较多额外的硬件。 深信服超融合架构技术白皮书文档密级:内部1.2.1.2.3 aSV 的技术特性1.2.1.2.3.1 内存 NUMA 技术功能描述 非统一内存访问(NUMA)是服务器 CPU 和内存设计的新架构。传统的服务器架 构下把内存放到单一的存储池中,这对于单处理器或单核心的系统工作良好。但是这种 传统的统一访问方式, 在多核心同时访问内存空间时会导致资源争用和性能问题。 毕竟, CPU 应该可以访问所有的服务器内存,但是不需要总是保持占用。实际上,CPU 仅需 要访问工作负载实际运行时所需的内存空间就可以了。 因此 NUMA 改变了内存对 CPU 的呈现方式。这是通过对服务器每个 CPU 的内存 进行分区来实现的。每个分区(或内存块)称为 NUMA 节点,而和该分区相关的处理 器可以更快地访问 NUMA 内存,而且不需要和其它的 NUMA 节点争用服务器上的资 源(其它的内存分区分配给其它处理器)。 NUMA 的概念跟缓存相关。处理器的速度要比内存快得多,因此数据总是被移动 到更快的本地缓存,这里处理器访问的速度要比通用内存快得多。NUMA 本质上为每 个处理器配置了独有的整体系统缓存, 减少了多处理器试图访问统一内存空间时的争用 和延迟。 NUMA 与服务器虚拟化完全兼容, 而且 NUMA 也可以支持任意一个处理器访问服 务器上的任何一块内存区域。某个处理器当然可以访问位于不同区域上的内存数据,但 是需要更多本地 NUMA 节点之外的传输,并且需要目标 NUMA 节点的确认。这增加 了整体开销,影响了 CPU 和内存子系统的性能。 NUMA 对虚拟机负载不存在任何兼容性问题,但是理论上虚拟机最完美的方式应 深信服超融合架构技术白皮书文档密级:内部该是在某个 NUMA 节点内。这可以防止处理器需要跟其它的 NUMA 节点交互,从而 导致工作负载性能下降。 深信服的 aSV 支持 NUMA 技术,使得 hypervisor 和上层 OS 内存互连,这样 OS 不会在 CPU 和 NUMA 节点之间迁移工作负载。1.2.1.2.3.2 SR-IOV功能描述: 通常针对虚拟化服务器的技术是通过软件模拟共享和虚拟化网络适配器的一个物 理端口,以满足虚拟机的 I/O 需求,模拟软件的多个层为虚拟机作了 I/O 决策,因此 导致环境中出现瓶颈并影响 I/O 性能。 aSV 虚拟化平台提供的 SR-IOV 是一种不需要 软件模拟就可以共享 I/O 设备 I/O 端口的物理功能的方法, 主要利用 iNIC 实现网桥 卸载虚拟网卡,允许将物理网络适配器的 SR-IOV 虚拟功能直接分配给虚拟机,可以 提高网络吞吐量,并缩短网络延迟,同时减少处理网络流量所需的主机 CPU 开销。 技术原理: SR-IOV(Single Root I/O Virtualization)是 PCI-SIG 推出的一项标准,是虚拟 通道 (在物理网卡上对上层软件系统虚拟出多个物理通道, 每个通道具备独立的 I/O 功 能)的一个技术实现,用于将一个 PCIe 设备虚拟成多个 PCIe 设备,每个虚拟 PCIe 设备如同物理 PCIe 设备一样向上层软件提供服务。通过 SR-IOV 一个 PCIe 设备不 仅可以导出多个 PCI 物理功能, 还可以导出共享该 I/O 设备上的资源的一组虚拟功能, 每个虚拟功能都可以被直接分配到一个虚拟机,能够让网络传输绕过软件模拟层,直接 分配到虚拟机,实现了将 PCI 功能分配到多个虚拟接口以在虚拟化环境中共享一个 PCI 设备的目的, 并且降低了软加模拟层中的 I/O 开销, 因此实现了接近本机的性能。 深信服超融合架构技术白皮书文档密级:内部如图所示,在这个模型中,不需要任何透传,因为虚拟化在终端设备上发生,允许管理 程序简单地将虚拟功能映射到 VM 上以实现本机设备性能和隔离安全。SR-IOV 虚拟 出的通道分为两个类型: 1、PF(Physical Function) 是完整的 PCIe 设备,包含了全面的管理、配置功能, Hypervisor 通过 PF 来管理和配置网卡的所有 I/O 资源。 2、 VF(Virtual Funciton)是一个简化的 PCIe 设备, 仅仅包含了 I/O 功能, 通过 PF 衍生而来好象物理网卡硬件资源的一个切片,对于 Hypervisor 来说,这个 VF 同一 块普通的 PCIe 网卡一模一样。 客户价值: 可满足高网络 IO 应用要求,无需特别安装驱动,且无损热迁移、内存复用、虚拟 机网络管控等虚拟化特性。1.2.1.2.3.3 Faik-raid一般情况下,当主机系统有多块硬盘时,通过组建 Raid 以提升磁盘性能或提供磁 盘冗余,往往成为人们的首选考量。 当今主流 raid 实现方案大致可分为三种: 硬件 raid(hardware raid):通过购买昂贵的 raid 卡实现。 软件 raid(software raid):通过操作系统内软件创建阵列,raid 处理开销由 CPU 负责。 主板 raid(fake raid):通过主板内建 raid 控制器创建阵列,由操作系统驱动识别。 相对于昂贵的硬件,主板 raid(fake raid)就成了我们不错的选择。Fake raid 仅提 供廉价的控制器, raid 处理开销仍由 CPU 负责, 因此性能与 CPU 占用基本与 software raid 持平。 如果只有单个 linux 系统,使用 software raid 一般比 fake raid 更健壮, 深信服超融合架构技术白皮书文档密级:内部但是,在多启动环境中(例如 windows 与 linux 双系统),为了使各个系统都能正确操作 相同的 raid 分区,就必须使用 fake raid 了。 Linux 下最重要的 raid 管理程序为 MD RAID。 MD RAID 是过滤不同文件系统 (比 如说 ext2)和比较低级的磁盘驱动(比如说 AHCI 驱动和 SAS 驱动)之间数据的块设 备驱动程序。 以 Intel 的主板为例,在 BIOS 中有一块可选的只读存储器元件(或者光学只读存 储器)可以创建 Intel 快速存储 RAID 卷并且在启动之前的环境中提供管理 Intel 快速 存储 RAID 卷的界面。在 BIOS 把控制权交给系统启动引导程序之前,这个只读存储在 系统内存中留下自己支持的 RAID 类型,比如 RAID 5。RAID 管理程序 MD RAID 会读 到这份数据,并决定当创建 Intel 快速存储 RAID 卷时该使用哪种 RAID 类型。 aSV 3.7 融 入 了 对 Fake-RAID 的 支 持 , 现 可 支 持 Fake-RAID 安 装 与 使 用 Fake-RAID 存储,目前可以使用 intel 模式的 raid0,raid1,raid5,raid10,LSI 模式 的 raid01.2.1.2.3.4 虚拟机生命周期管理aSV 提供了虚拟机从创建至删除整个过程中的全面管理, 就像人类的生命周期一样, 虚拟机最基本的生命周期就是创建、 使用和删除这三个状态。 当然还包含如下几个状态: 创建虚拟机 在虚拟机中安装操作系统 创建模板 更新虚拟机硬件 迁移虚拟机及/或虚拟机的存储资源 深信服超融合架构技术白皮书文档密级:内部分析虚拟机的资源利用情况 为虚拟机选择数量合适的内存或磁盘资源/调整资源数量 虚拟机备份 虚拟机恢复 删除虚拟机 在虚拟机生命周期内,虚拟机可能会在某一个时间点经历上述这些状态。aSV 提供 了完善的虚拟机生命周期管理工具,我们可以通过对虚拟机生命周期的规划,想要最大 化的发挥虚拟机的作用。1.2.1.2.3.5 虚拟交换机虚拟交换机是虚拟网络和物理网络的纽带,虚拟交换机运行在虚拟服务器的 Hypervisor 内部, 虚拟机之间的流量、 虚拟机到物理网络之间的流量均通过 vSwitch 转发。如图:aSV 提供了完善的虚拟交换机功能,包括:虚拟交换机端口 Vlan 的划分,二层端 口的类型切换,广播风暴的抑制,端口流量的统计,端口的状态监控。 深信服超融合架构技术白皮书文档密级:内部1.2.1.2.3.6 动态资源调度在虚拟化环境中,如果生产环境的应用整合到硬件资源相对匮乏的物理主机上,虚 拟机的资源需求往往会成为瓶颈,全部资源需求很有可能超过主机的可用资源,这样业 务系统的性能也无法保障。 aSV 虚拟化管理平台提供的动态资源调度特性引入一个自动化机制, 通过持续地动 态平衡资源能力,将虚拟机迁移到有更多可用资源的主机上,确保每个虚拟机在任何节 点都能及时地调用相应的资源。即便大量运行对 CPU 和内存占用较高的虚拟机(比如 数据库虚拟机),只要开启了动态资源调度功能,就可实现全自动化的资源分配和负载 平衡功能,也可以显著地降低数据中心的成本与运营费用。 aSV 的动态资源调度功能通过跨越集群之间的心跳机制,定时监测集群内主机的 CPU 和内存等计算资源的利用率,并根据用户自定义的规则来判断是否需要为该主机 在集群内寻找有更多可用资源的主机, 以将该主机上的虚拟机迁移到另外一台具有更多 合适资源的服务器上,或者将该服务器上其它的虚拟机迁移出去,从而保证某个关键虚 拟机的资源需求。1.2.1.2.4 aSV 的特色技术1.2.1.2.4.1 快虚在实际的 IT 应用系统在部署虚拟化的时候,会存在虚拟化迁移的需求,为了实现 将 windows 主机系统下的应用系统平滑的迁移至 VM 环境中,除了传统的 P2V、V2V 工具,深信服采用技术创新,基于 Windows 环境中,推出了独有的快虚技术。 快虚技术实现原理为:在 Windows 环境下,先创建一个虚拟磁盘文件 , 并使用 Windows 驱动程序对虚拟磁盘进行保护,保证虚拟磁盘文件占用的物理扇区不会被移 深信服超融合架构技术白皮书文档密级:内部动. 获取虚拟磁盘文件所占的物理簇信息,并保存到当前系统盘下的配置文件中, 安装 aSV 的引导程序以及内核到当前 Windows 系统盘下,安装系统引导程序,并向系统引 导中添加 aSV 的引导项,默认引导到 aSV 系统. 当在 aSV 中向虚拟磁盘读写数据时, 虚拟磁盘驱动根据读写的扇区位置重新定位到虚拟磁盘文件所对应的物理扇区, 实现数 据的存取,下次进入 aSV 系统后仍然可以读写已有数据。 通过快虚技术,既实现了将应用环境迁移到了虚拟机环境中,同时在现有的物理主 机服务器之上,快速的构建了虚拟化底层的 hypervisor。1.2.1.2.4.2 虚拟机热迁移虚拟化环境中,物理服务器和存储上承载更多的业务和数据,设备故障时造成的影 响更大。 aSV 虚拟化平台提供虚拟机热迁移技术,降低宕机带来的风险、减少业务中 断的时间。 aSV 虚拟机热迁移技术是指把一个虚拟机从一台物理服务器迁移到另一台物理服 务器上,即虚拟机保存/恢复(Save/Restore)。首先将整个虚拟机的运行状态完整保存 下来,同时可以快速的恢复到目标硬件平台上,恢复以后虚拟机仍旧平滑运行,用户不 深信服超融合架构技术白皮书文档密级:内部会察觉到任何差异。虚拟机的热迁移技术主要被用于双机容错、负载均衡和节能降耗等 应用场景。 aSV 虚拟化平台热迁移提供内存压缩技术,使热迁移效率提升一倍,可支 持并发 8 台虚拟机同时迁移。 功能价值: 1. 在设备维护过程中, 通过热迁移手动将应用迁移至另一台服务器, 维护结束后再 迁回来,中间应用不停机,减少计划内宕机时间。 2. 可结合资源动态调度策略, 例如在夜晚虚拟机负荷减少时, 通过预先配置自动将 虚拟机迁移集中至部分服务器,减少服务器的运行数量,从而降低设备运营能耗上的支 出。1.2.1.2.4.3 虚拟磁盘加密在虚拟化环境中,虚拟机的磁盘文件是没有加密的,磁盘中的业务数据会存在泄漏 的威胁。而对于数据保密程度要求较高的场景,可采用磁盘加密技术,保证即使磁盘文 件被窃取了,也无法获取其中的数据。aSV 提供了磁盘加密技术,保障用户业务的磁盘 数据的安全防泄漏。 aSV 环境中,虚拟机镜像是 Qcow2 格式的,Qcow2 自身就支持用户数据加密功 能,VMP 在其加密功能的基础上进行了修改,使其更加健壮。 Qcow2 只支持 AES 加密算法,VMP 为其添加了 RC4 加密算法。VMP 环境中仅 支持对 Qcow2 格式的镜像文件进行加密,加密算法选用 RC4,且不可以更换。 虚拟机镜像文件的密钥(以下简称密码)由 VDC 管理,当 VDC 通过 VMP 接口操 作虚拟机时,可以指定磁盘是否需要加密及对应的密码。如果一个虚拟机有多个磁盘需 要加密,各磁盘可以分别指定密码。虚拟机一旦创建成功,密码不允许修改。 深信服超融合架构技术白皮书文档密级:内部VMP 环境中使用密码时,会修改命令行参数中的密码字符串为“*”,防止管理员 通过 ps 命令查看到密码。前面提到的保存在镜像文件中的经过加密的密钥,为了防止 使用密码字典或穷举等方式暴力破解加密的镜像文件, 要求加密函数的执行时间不能太 短,可以使用重复加密的方式来达到这个目的。1.2.1.2.4.4 虚拟机的 HAHA 全称是 High Availability(高可用性)。在 aSV 环境中,HA 虚拟机所连接的物 理口网线被拔出、或存储不能访问时,会将此虚拟机切换到其他的主机运行,保障虚拟 机上的业务正常使用。 aSV 存在后台进程,通过轮询的机制,每隔 5s 检测一次虚拟机状态是否异常,发 现异常时,切换 HA 虚拟机到其他主机运行。 下面任意一种情况发生,都会触发 HA 虚拟机切换主机, 1、连续三次检测到,虚拟机所连接的物理网卡被拔出(不包括网卡被禁用情况) 2、连续两次检测到,虚拟机当前主机无法访问虚拟机的存储 通过 aSV 的 HA 技术, 对业务系统提供了高可用性, 极大缩短了由于各种故障引起 的业务中断时间。1.2.1.2.4.5 多 USB 映射当物理服务器部署虚拟化之后。 其中类似金蝶等需要通过 usb key 进行应用加密的 服务器,转化到虚拟化后,需要将插在虚拟化平台上的硬件 key,映射给虚拟机,而且 需要满足虚拟机热迁移、跨主机映射的需求。 业界给出的方案有三种: 一、采用主机映射:直接采用主机映射的方式来完成,缺点是不支持网络映射,无法 深信服超融合架构技术白皮书文档密级:内部支持热迁移、网络映射的需求。 二、采用 Usb Anywhere:通过使用中间设备,将中间设备 IP 化,然后在虚拟机 上安装驱动并配置对端设备的方式进行的。 缺点是需要 guest 虚拟机内部进行修改安装 特定软件,与第三方应用进行配合才能完成。 三、采用底层硬件虚拟化加网络代理:支持热迁移、网络映射、无需修改 guest 机内部。最终实现,物理设备迁移到虚拟化平台后,可以直接无缝的操作读取原 usb 硬件设备。同时解决上述两种方案中的缺陷,破除了在虚拟化推广中外设映射造成的阻 碍。 热迁移功能的实现机制:由于整体方案是基于网络代理处理,所以在迁移到对端设 备,进行虚拟机切换时,发送消息,触发 usb 服务程序修改连接的目的端 ip,然后发 起网络重连。隧道一旦重连成功,usb 设备通信随即恢复,对于 guest 上层来说,是无 感知的。 aSV 采用上述的第三种方案,融入了对多 USB 的支持,带来的优势有: 1、usb 设备动态插入提示 2、guest 虚拟机无需安装插件; 3、能支持热迁移,跨主机映射,适应 VMP 集群环境; 4、虚拟机迁移完成可以自动挂载上原 usb 设备; 5、可以简化集成为类似 usb hub 的小设备,与 VMP 配套,搭建 usb 映射环境; 6、虚拟机故障重启、目标端 usb 设备网络中断等异常情况恢复后自动重映射。 深信服超融合架构技术白皮书文档密级:内部1.2.1.3 aSAN 存储虚拟化 1.2.1.3.1 存储虚拟化概述1.2.1.3.1.1 虚拟后对存储带来的挑战虚拟机技术给服务器带来更高的利用率、给业务带来更便捷的部署,降低了 TCO, 与此同时,虚拟机应用给存储带来以下挑战:第一,相比传统的物理服务器方式,单个 存储系统承载了更多的业务,存储系统需要更强劲的性能来支撑;第二,采用共享存储 方式部署虚拟机,单个卷上可能承载几十或上百的虚拟机,导致卷 IO 呈现更多的随机 特征,这对传统的 Cache 技术提出挑战;第三,单个卷承载多个虚拟机业务,要求存 储系统具备协调虚拟机访问竞争,保证对 QoS 要求高的虚拟机获取到资源实现性能目 标;第四,单个卷上承载较多的虚拟机,需要卷具有很高的 IO 性能,这对传统受限于 固定硬盘的 RAID 技术提出挑战;第五,虚拟机的广泛使用,需要更加高效的技术来提 高虚拟机的部署效率,加快新业务的上线时间。1.2.1.3.1.2 分布式存储技术的发展业界典型的分布式存储技术主要有分布式文件系统存储、分布式对象存储和分布式 块设备存储等几种形式。分布式存储技术及其软件产品已经日趋成熟,并在 IT 行业得 到了广泛的使用和验证,例如互联网搜索引擎中使用的分布式文件存储,商业化公有云 中使用的分布式块存储等。分布式存储软件系统具有以下特点:第一,高性能:数据分 散存放,实现全局负载均衡,不存在集中的数据热点,大容量分布式缓存;第二,高可 靠:采用集群管理方式,不存在单点故障,灵活配置多数据副本,不同数据副本存放在 不同的机架、服务器和硬盘上,单个物理设备故障不影响业务的使用,系统检测到设备 深信服超融合架构技术白皮书文档密级:内部故障后可以自动重建数据副本;第三,高扩展:没有集中式机头,支持平滑扩容,容量 几乎不受限制;第四,易管理:存储软件直接部署在服务器上,没有单独的存储专用硬 件设备,通过 Web UI 的方式进行软件管理,配置简单。1.2.1.3.1.3 深信服 aSAN 概述在充分掌握了用户需求的基础上,深信服的超融合架构中,推出以 aSAN 分布式存 储软件为核心的解决方案, 深信服虚拟存储(简称 aSAN)是基于分布式文件系统开发的面对存储虚拟化趋势 的一款产品。当前 aSAN 集成在虚拟化管理平台上面,通过网络整合管理集群内所有服 务器的硬盘(系统盘除外)。 aSAN 属于超融合解决方案中专门为云计算环境而设计、面向一体化市场应用的新 一代产品,融合分布式缓存、SSD 缓存加速、全局负载均衡、及多重数据保护等诸多存 储技术,能够满足关键业务的需求,保证客户业务高效稳定运行。1.2.1.3.2 aSAN 技术原理aSAN 通过主机管理、磁盘管理、缓存技术、存储网络、冗余副本等技术,管理集 群内所有硬盘,“池化”集群所有硬盘存储的空间,通过向 VMP 提供访问接口,使得 虚拟机可以进行业务数据的保存、管理和读写等整个存储过程中的操作。1.2.1.3.2.1 主机管理aSAN 需要基于 VMP 集群获取集群内主机信息,因此在构建 aSAN 时,首先会要 求建立 VMP 集群,所以在 aSAN 的环境中,至少需要 2 台节点来构建 aSAN 主机。 深信服超融合架构技术白皮书文档密级:内部1.2.1.3.2.2 文件副本由于下一节磁盘管理的策略与副本设置有直接管理,因此在讲解磁盘管理前,我们 要先介绍文件副本技术。 所谓文件副本,即将文件数据保存多份的一种冗余技术。aSAN 副本颗粒度是文件 级别。例如 2 副本,即把文件 A 同时保存到磁盘 1 和磁盘 2 上。并且保证在无故障情 况下,2 个副本始终保持一致。技术特点: 1. 存储池可用空间=集群全部机械磁盘空间/副本数(同构情况),因此副本是会 降低实际可用容量的。 2. 服务层是提供给上层服务的访问入口,以目录挂载点的方式提供。服务层看到 的文件 A 实际是个被底层管理转化后的逻辑视图。 3. 底层管理的副本对上层服务是透明的,上层无法感知副本的存在。磁盘管理、 副本分布由底层服务负责,副本颗粒度是文件级。 4. 在没有故障等异常情况下,文件副本数据是始终一致的,不存在所谓主副本和 备副本之分。 5. 如果对文件 A 进行修改,如写入一段数据,这段数据会被同时写到 2 个副本文 件。如果是从文件 A 读取一段数据,则只会从其中一个副本读取。 深信服超融合架构技术白皮书文档密级:内部1.2.1.3.2.3 磁盘管理aSAN 磁盘管理服务根据集群内主机数和 aSAN 初始化时所选择的副本数决定集群 内所有受管磁盘的组织策略。 在多主机集群下, 采用 2 副本或 3 副本组建 aSAN 的磁盘管理, 为了支持主机故障 而不影响数据完整性的目标,复制卷的磁盘组的每个磁盘都必须是在不同主机上。即需 要做到跨主机副本。跨主机副本的关键在于复制卷磁盘分组算法。 注意:下面的例子讨论的主机都属于同构情况,即可每台主机的磁盘个数、磁盘容 量是一样的情况,主机磁盘数异构场景后文再另外叙述。 我们先从简单的场景开始,当主机数、集群磁盘数都可以被副本数整除时。如 2 主 机,每主机 3 个磁盘(共 6 个)组建 2 副本 aSAN 为例:2 副本下,2 主机,主机磁盘数相同时。主机间的磁盘会一一对应组成复制卷。逻 辑视图如下: 深信服超融合架构技术白皮书文档密级:内部从逻辑视图上,可以看出来和前文的单主机逻辑视图并没有本质上的区别,只是最 底层的磁盘分组时,保证了复制卷内下面的磁盘不在同一主机内,从而达到了文件跨主 机副本的目标。如果采用 3 主机建立 3 副本,分组方式也是类似的。1.2.1.3.2.4 SSD 读缓存原理在 aSAN 里面,会默认把系统内的 SSD 磁盘作为缓存盘使用。在 aSAN1.X 版本, SSD 磁盘只作为读缓存使用, aSAN2.0 开始支持 SSD 写缓存。 下面介绍 aSAN SSD 读 缓存原理。 首先需要区分 aSAN 客户端和服务端概念。在 aSAN 里面,负责处理底层磁盘 IO 称为服务端;负责向上层提供存储接口(如访问的挂载点)称为客户端。aSAN SSD 读 缓存工作在客户端,而 aSAN2.0 的 SSD 写缓存则工作在服务端。逻辑视图如下: 深信服超融合架构技术白皮书文档密级:内部下面抛开底层的分布卷、复制卷、磁盘分组等概念,仅在客户端上理解 SSD 读缓 存的原理。简单地看,SSD 读缓存模块工作在文件访问入口和服务端通信层之间。所有对文件 的 IO 动作都会经过 SSD 读缓存模块进行处理。下面分别针对首次文件读取、二次文件 读取、文件写入 3 个过程说明工作流程。 SSD 读缓存的缓存颗粒度是按文件数据块缓存,不是文件整体。例如,A、B、C 3 个文件,可以分别各缓存读过的一部分数据,没读过的部分不缓存。 深信服超融合架构技术白皮书文档密级:内部1.2.1.3.2.4.1 首次文件读取未缓存数据块的首次读操作步骤说明: 1、从上层下来一个针对 A 文件的区间块 [A1,A2] 的读操作,由于该数据块 是首次读取,没命中 SSD 读缓存。该读操作会直接传递到下去,进入流程 2。 2、[A1,A2]的读操作继续传递到服务端,进行具体的读操作,完成后返回, 进入流程 3 3、数据块[A1,A2]在流程 3 里面返回到 SSD 读缓存模块,进入流程 4 4、SSD 读缓存模块会把数据块[A1, A2]复制一份保存到 SSD 磁盘并建立相关 索引,对应 4.1。原数据块[A1,A2]继续往上返回到上层响应读操作,对应 4.2。 注意 4.1、4.2 是并发进行,因此这个缓存动作不会对原操作造成延时。 至此,数据块[A1,A2]就被保存到 SSD 磁盘内,以备下次读取直接从 SSD 磁 盘读取。 深信服超融合架构技术白皮书文档密级:内部1.2.1.3.2.4.2 二次文件读取针对已缓存数据块的二次读取步骤说明: 假设数据块[A1,A2]已经缓存到 SSD 磁盘内。 1、从上层下来一个同样是针对 A 文件的区间块 [A1,A2] 的读操作 2、由于该数据块[A1,A2]已经有缓存,在 SSD 读缓存模块里面命中索引,从 而直接向 SSD 磁盘发起读出缓存数据块[A1,A2]的操作。 3、缓存数据块[A1,A2]从 SSD 磁盘返回到 SSD 读缓存模块,进入流程 4 4、SSD 读缓存模块把缓存数据块[A1,A2]返回给上层 至此,对缓存数据块[A1,A2]的重复读取直接在客户端返回,避免了服务端通 信的流程,从而减少了延时和减轻了底层磁盘的 IO 压力。1.2.1.3.2.4.3 文件写入虽然当前 aSAN 实现的读缓存,但对于文件写入操作,也需要做相应的处理, 深信服超融合架构技术白皮书文档密级:内部以保证缓存的内容始终和底层磁盘一致,并且是最新的。但这个针对文件写入的处 理并不是写缓存。 aSAN 读缓存模块对写操作进行处理实质是基于最近访问原则,即最近写入的 数据在不久的将来被读出的概率会比较高,例如文件共享服务器,某人传到文件服 务器的文件,很快会其他人读出来下载。 aSAN 读缓存对写操作的处理从实现上分为首次写预缓存、二次写更新缓存。文件块首次写预缓存流程说明:假设数据块[A1, A2]是首次写入。 1、写操作写来经过 SSD 读缓存模块。由于是写操作,SSD 读缓存会直接 PASS 到 下层 2、写操作一直传递到服务端,写入到底层磁盘,操作完成后会返回结果,进入流 程3 3、返回结果经过 SSD 读缓存模块,如果返回结果是成功的,表示底层数据已经成 深信服超融合架构技术白皮书文档密级:内部功写入,则进入流程 4。如果返回结果是失败,则不会进入流程 4,而是直接返回结果 到上层。 4、SSD 读缓存模块会把数据块[A1,A2]复制一份保存到 SSD 磁盘并建立相关索 引,对应 4.1。原返回结果继续往上返回到上层响应读操作,对应 4.2。注意 4.1、4.2 是并发进行,因此这个缓存动作不会对原操作造成延时。 至此,数据块[A1, A2]的写入也会保存到 SSD 磁盘上,以备下次访问。下次访问的 流程与二次文件读取流程相同。 文件块二次写更新缓存 SSD 读缓存文件块写更新是指对 SSD 读缓存已缓存的数据块进行更新的动作。假设数据块[A1, A2]原来已经有缓存了,现在上层再次对 [A1, A2] 来一次写操作 (例如更新内容) 。 1、写操作写来经过 SSD 读缓存模块,由于是写操作,SSD 读缓存会直接 PASS 到 下层 2、写操作一直传递到服务端,写入到底层磁盘,操作完成后会返回结果,进入流 深信服超融合架构技术白皮书文档密级:内部程3 3、返回结果经过 SSD 读缓存模块,如果返回结果是成功的,表示底层数据已经成 功写入,可以更新 SSD 读缓存数据,进入流程 4。如果返回结果是失败,则不会进入更 新流程。 4、SSD 读缓存模块会把数据块[A1,A2]复制一份更新到 SSD 磁盘并建立相关索 引,对应 4.1。原返回结果继续往上返回到上层响应读操作,对应 4.2。注意 4.1、4.2 是并发进行,因此这个缓存动作不会对原操作造成延时。1.2.1.3.2.5 SSD 写缓存原理SSD 写缓存功能在 aSAN2.0 开始支持。如前文所说,SSD 写缓存工作在服务端。 由于写缓存工作在服务端,也就是说在每个副本上都有写缓存,即 SSD 写缓存也是多 副本的。即使有 SSD 磁盘突然损坏,也能在副本数范围内保证数据的安全。 深信服超融合架构技术白皮书文档密级:内部1.2.1.3.2.5.1 SSD 写缓存模块结构SSD 写缓存原理是在机械硬盘上增加一层 SSD 写缓存层,见下图:SSD 写缓存数据流分成蓝色和红色两部分。这两部分是同时在运行的,没有先后关 系。蓝色部分是虚拟机有数据写入 SSD 缓存,红色部分是从 SSD 缓存读出数据回写到 机械磁盘。流程如下: 1、上层写入数据请求到达 SSD 写缓存模块 2、SSD 写缓存模块把数据写入到 SSD 磁盘,并获得返回值。3、SSD 写缓存模块在确定数据写入 SSD 磁盘后, 即立即返回上层模块写入 成功4、SSD 写缓存模块在缓存数据累计到一定量后,从 SSD 磁盘读出数据 5、SSD 写缓存把从 SSD 磁盘读出的数据回写到机械磁盘。 其中,第 4、5 步是在后台自动进行的,不会干扰第 1、2、3 步的逻辑。1.2.1.3.2.5.2 SSD 写缓存数据读命中从 SSD 磁盘回写到机械磁盘是需要累积一定数据量后才会进行触发的。这时如果 来了一个读数据的请求, SSD 写缓存模块会先确认该读请求是否在 SSD 写缓存数据内, 深信服超融合架构技术白皮书文档密级:内部如果有则从 SSD 缓存内返回;如果没有则透到机械硬盘去读取。流程说明: 1、上层下发读请求 2、SSD 写缓存模块先检查数据是否还在缓存内未回写 3、命中缓存,返回数据(如果不命中缓存,则会返回从底层数据盘读取) 4、向上层返回数据1.2.1.3.2.5.3 SSD 写缓存写满后处理如果上层持续对 SSD 写缓存进行大量不间断的数据写入,直到 SSD 写缓存空间用 完。这时的上次继续写入数据的速度就会下降至约等于写缓存回写机械盘的速度。 深信服超融合架构技术白皮书文档密级:内部当 SSD 磁盘用满时会出现写入数据流速度 &= 回写数据流速度。 在虚拟机层面看, 就是写入数据下降到机械盘速度。如果持续出现这种情况,说明 SSD 磁盘容量不足以 应对业务 IO 写性能,需要增加 SSD 缓存盘解决。1.2.1.3.2.5.4 当 SSD 磁盘故障或离线时的处理如前文所说,SSD 写缓存工作于 brick 服务端,有多副本机制。在多主机多副本场 景下,如果一个 SSD 磁盘损坏后,其他副本的 SSD 还正常情况下,对数据安全不会造 成影响。但对写入性能会有影响。一旦 SSD 离线超过 10 分钟,缓存数据就视作失效, 进入副本修复流程。由于所有数据都是被 SSD 接管的,这时的数据修复量会非常大。 因此如果是误拔出 SSD 硬盘,需要在 10 分钟内插回来,否则会认为该副本数据全部需 要重建 深信服超融合架构技术白皮书文档密级:内部1.2.1.3.2.6 磁盘故障处理机制 1.2.1.3.2.6.1 人工介入替换故障磁盘当磁盘出现故障后,在 WEBUI 上可以看到如下提示:(或显示为磁盘损坏) 这时拔出故障磁盘,插入容量不低于故障磁盘的新磁盘,点击“更新磁盘”按步骤 操作即可。 深信服超融合架构技术白皮书文档密级:内部更换故障磁盘的内部过程: 1、故障磁盘在出现故障时,对应磁盘的服务会先停止 2、完成新磁盘替换后,服务会重新启动 3、新磁盘对应的服务启动后,发现其所在复制卷 1 上的另一个磁盘是 A1,会根据 A1 的数据重建副本,即复制所有文件建立新副本。 整个重建过程在线进行, 无需关停机, 副本重建过程不中断业务。 对比 RAID 系统, 需要关机中断业务重建数据是一大优势。1.2.1.3.2.6.2 磁盘故障超时后 aSAN 自动重建如果在磁盘故障后,超过了设置的超时时间依然没有人工介入处理,aSAN 将会自 动进行数据重建,以保证数据副本数完备,确保数据可靠性。同时采用了热备盘的保障 机制。 在 aSAN1.2 版本里面,在初始化阶段会自动配置至少把集群里副本数个磁盘作为 热备盘。注意不是每个主机一个热备盘,而是一个集群里面全局使用。热备盘在初始化 时不会纳入 aSAN 复制卷内,只是作为一个不使用的磁盘带电存在,因此热备盘的空间 深信服超融合架构技术白皮书文档密级:内部不会反映到 aSAN 的空间里面。 例如 2 副本时会至少保留 2 个热备盘,3 副本时会至少保留 3 个热备盘。这些热备 盘不会集中在一个主机上面,而是分布在不同主机上(符合副本跨主机原则) 。下面以 3 主机 2 副本,每主机 4 个硬盘为例子。上图是 3 主机 2 副本,每主机 4 磁盘的分组例子。其中磁盘 A4、磁盘 C3 是作为 热备盘保留的,并没有组成复制卷加入到 aSAN 存储池内。 当任何一个主机的任意一个硬盘发生故障时,都可以按照跨主机副本原则自动使用 A4 或者 C3 来替换。例 1:C2 损坏(C3 或者 A4 均可以用作替换) 深信服超融合架构技术白皮书文档密级:内部例 2:A3 损坏(C3 或者 A4 均可以用作替换)例 3:B4 损坏(注意:这时只能用 A4 替换,原因是 C3 和 C4 同主机) 深信服超融合架构技术白皮书文档密级:内部在 aSAN 自动使用热备盘替换故障磁盘后,再去 UI 替换故障硬盘(或显示为磁盘损坏) 在 aSAN 自动使用热备盘替换故障磁盘后, UI 上依然会显示原来的故障磁盘损坏, 可以进行更换磁盘。这时新替换的硬盘会作为新热备盘使用,不需要执行数据回迁。这 一点与前文没有热备盘会做数据回迁是不一样的。 深信服超融合架构技术白皮书文档密级:内部以上面例子 3 为例,B4 损坏后,热备盘 A4 自动替换 B4 和 C4 建成新复制卷 5。 然后人工介入,把损坏的 B4 用新磁盘替换,这时新 B4 会直接做热备盘使用,不再由 数据回迁。 故障磁盘替换所有过程都可以带业务进行,不需要停机停止业务,就可以完成故障 磁盘的替换,数据重建,相比 RAID 系统停业务重建有更大的可用性。1.2.1.3.2.6.3 主机故障处理aSAN 在多主机集群下,复制卷有个最高原则:跨主机建立复制卷。该原则的目的 是为了达到在主机出现故障时,数据依然可用。最简单例子如下: 深信服超融合架构技术白皮书文档密级:内部主机 A 复制卷 1 磁盘 A1 复制卷 2 磁盘 A2 复制卷 3 磁盘 A3主机 B磁盘 B1磁盘 B2磁盘 B3在 2 主机 2 副本模式下, 当主机 B 整个离线或, 可以看到任何一个复制卷都依然有 一个副本存在主机 A 上,数据依然可用,影响只是少了个副本。略为复杂的例子(先不考虑有热备盘) : 深信服超融合架构技术白皮书文档密级:内部主机 C 离线后,剩余在线的复制卷任何一个都依然保持至少一个副本在线,因此这 时全局数据依然可用。 在主机故障后,在 aSAN 高级设备里面有这样一个故障时间策略执行相应的处理:1.2.1.3.2.6.3.1 主机故障未超时人工介入处理当主机故障未超时时, 人工介入处理是通过替换主机功能解决主机故障的。 UI 操作 例子,点击后按步骤进行即可(详见部署配置文件) 。 替换主机的硬件配置要求是新主机配置不可以低于故障主机,包括 CPU、内存、磁 盘个数、磁盘容量、网口个数。 替换主机的内部原理: 深信服超融合架构技术白皮书文档密级:内部主机 A 复制卷 1 磁盘 A1 复制卷 2 磁盘 A2 复制卷 3 磁盘 A3主机 B 磁盘 B1主机 C 磁盘 C1磁盘 B2磁盘 C2磁盘 B3磁盘 C3在 aSAN 层面,主机替换和磁盘替换并无差异,区别是主机替换是同时执行多个磁 盘替换。因为前面有新主机的硬件配置不低于故障主机,因此磁盘数和容量是可以保证 替换后足够的。主机替换完成后,会根据新复制卷,在新主机的磁盘上重建文件副本。1.2.1.3.2.6.3.2 主机故障超时后 aSAN 自动处理假如入主机故障后直到超过设定的故障时间依然没有人工介入处理, 那么 aSAN 会 采取自动替换动作在其他主机上重建副本。 例子:3 主机 2 副本,主机 C 出现故障。 深信服超融合架构技术白皮书文档密级:内部对比上面 2 张图,可以看出在主机 C 故障并超时后,aSAN 会在集群范围内寻找最 佳借用磁盘组建复制卷,从而重建副本。这里的主机副本自动重建机制和单个故障硬盘 的自动重建机制并没有本质差别, 只是同时做了多个故障盘的重建。 如果其中有热备盘, 这是会自动使用热备盘。 注意,主机自动重建是有代价的,会复用其他磁盘的空间和性能。因此在条件允许 情况下,应尽快替换主机。如果不想 aSAN 才超时自动重建,可以到高级设置关闭主机 自动重建功能。1.2.1.3.2.6.4 副本修复副本修复是指当某个磁盘出现离线再上线后,保存在上面的文件副本可能是旧数据, 需要按照其他在线的文件副本进行修复的一个行为。典型的情况是主机短暂断网,导致 副本不一致。 深信服超融合架构技术白皮书文档密级:内部在 aSAN1.0、aSAN1.1 版本,副本修复是整个文件进行对比修复,会占用比较大 的 IO。因此保证网络稳定性在 aSAN 里面是核心要求之一。在 aSAN1.2 版本里面,支 持副本快速修复,对于短暂离线的副本,可以做到只修复少量差异数据,达到快速修改 的目的。文件 A文件 A (副本 1) 磁盘 1文件 A (副本 2) 磁盘 2磁盘 2 不一定是 本地磁盘,也可 以是其他主机的 磁盘,由管理服 务通过网络访问例如,上图磁盘 2 和磁盘 1 不在一个主机上。 1、由于网络原因离线了 1 分钟。 2、这一分钟内,虚拟镜像文件 A 有修改,这时修改只会写入到副本 1 上。 3、一分钟后,磁盘 2 上线,aSAN 会感知到副本 1 和副本 2 有差异并且副本 1 是 在用副本,即启动副本修复流程,以副本 1 为源修复到副本 2 上。 4、在修复过程中,任何读动作都是从副本 1 去读取的,写动作依然同时写到 2 个 副本 5、修复完成后,副本 1、副本 2 会达到完全一致的状态。 在 aSAN1.2 以上版本,副本修复支持快速修复。aSAN 会记录副本离线时的数据 更改记录, 短时间的副本离线, 当离线副本上线时, 直接修复差异部分数据。 同时, aSAN 深信服超融合架构技术白皮书文档密级:内部对业务 IO 和修复 IO 做了优先级控制,副本修复 IO 对业务 IO 的降低影响平均不超过 20%。 当然,即使有快速修复,数据校验和传输依然会占用 CPU 和网络带宽,因此建议 尽量保证 aSAN 存储网络稳定,减少副本修复的产生。1.2.1.3.3 深信服 aSAN 功能特性1.2.1.3.3.1 存储精简配置自动精简配置(Thin Provisioning)是一种先进的、智能的、高效的容量分配和管 理技术,它扩展了存储管理功能,可以用小的物理容量为操作系统提供超大容量的虚拟 存储空间。并且随着应用的数据量增长,实际存储空间也可以及时扩展,而无须手动扩 展。一句话而言,自动精简配置提供的是“运行时空间”,可以显著减少已分配但是未 使用的存储空间。 如果采用传统的磁盘分配方法,需要用户对当前和未来业务发展规模进行正确的预 判,提前做好空间资源的规划。在实际中,由于对应用系统规模的估计不准确,往往会 造成容量分配的浪费,比如为一个应用系统预分配了 5TB 的空间,但该应用却只需要 1TB 的容量,这就造成了 4TB 的容量浪费,而且这 4TB 容量被分配了之后,很难再被 别的应用系统使用。即使是最优秀的系统管理员,也不可能恰如其分的为应用分配好存 储资源,而没有一点的浪费。根据业界的权威统计,由于预分配了太大的存储空间而导 致的资源浪费,大约占总存储空间的 30%左右。 aSAN 采用了自动精简配置技术有效的解决了存储资源的空间分配难题,提高了资 源利用率。采用自动精简配置技术的数据卷分配给用户的是一个逻辑的虚拟容量,而不 是一个固定的物理空间,只有当用户向该逻辑资源真正写数据时,才按照预先设定好的 深信服超融合架构技术白皮书文档密级:内部策略从物理空间分配实际容量。1.2.1.3.3.2 aSAN 私网链路聚合aSAN 的私网链路聚合是为了提高网络可靠性和性能设置而提出的。使用 aSAN 私 网链路聚合不需要交换机上配置链路聚合,由存储私网负责链路聚合的功能,使用普通 的二层交换机,保证接线正确即可。 传统的链路聚合是按主机 IP 进行均分,即每 2 台主机间只能用 1 条物理链路。而 aSAN 私网链路聚合采用按照 TCP 连接进行均分,两台主机间的不同 TCP 连接可使用 不同物理链路。1.2.1.3.3.3 数据一致性检查aSAN 采用一致性复制协议来保证多个副本数据的一致性,即只有当所有副本都写 成功, 才返回写入磁盘成功。 正常情况下 aSAN 保证每个副本上的数据都是完全一致, 从任一副本读到的数据都是相同的。如果某个副本中的某个磁盘短暂故障, aSAN 会 暂时不写这个副本,等恢复后再恢复该副本上的数据;如果磁盘长时间或者永久故障, aSAN 会把这个磁盘从群集中移除掉,并为副本寻找新的副本磁盘,再通过重建机制使 得数据在各个磁盘上的分布均匀。1.2.1.4 aNet 网络虚拟化 1.2.1.4.1 网络虚拟化概述网络虚拟化是构建超融合架构中, 非常重要的一部分, 我们通过 aSV 实现了服务器 虚拟化, aSAN 实现了通过服务器节点构建了存储虚拟化, 但还是存在没有解决的问题: 一、如何保障虚拟机可以在我的物理网络环境中进行顺利的迁移,虚拟化后的数据 深信服超融合架构技术白皮书文档密级:内部中心涉及业务众多,对外部提供云接入服务时,传统的 Vlan 技术已经无法满足业务隔 离的需求,怎么解决大规模租户和租户之间、业务和业务之间的安全隔离也是面临的首 要问题。 二、虚拟化后的数据中心的业务系统的构建和上线对网络功能的快速部署、灵活弹 性甚至成本,提出了更高的要求。 三、在传统网络中,不论底层的 IT 基础设施还是上层的应用,都由专属设备来完 成。这些设备成本高昂,能力和位置僵化,难以快速响应新业务对网络快速、灵活部署 的需求。 基于上述问题, 深信服采用了业界成熟的 SDN+NFV 的解决方案, 我们称之为 aNet, 通过 Overylay 的方式来构建大二层和实现业务系统之间的租户隔离, 通过 NFV 实现网 络中的所需各类网络功能资源(包括基础的路由交换、安全以及应用交付等)按需分配 和灵活调度,从而实现超融合架构中的网络虚拟化。1.2.1.4.2 aNET 网络虚拟化技术原理1.2.1.4.2.1 SDNSDN(Software Defined Network,软件定义网络)是一种创新性的网络架构, 它通过标准化技术(比如 openflow)实现网络设备的控制层面和数据层面的分离,进 而实现对网络流量的灵活化、集中化、细粒度的控制,从而为网络的集中管理和应用的 加速创新提供了良好的平台,由此可获得对网络的前所未有的可编程性、自动化和控制 能力,使网络很容易适应变化的业务需求,从而建立高度可扩展的弹性网络。 从 SDN 的实现方式来看,广义和狭义两种。 在广义的 SDN 下分为 3 个流派, 分别是: 网络虚拟化 NV (主要指的是 Overlay) , 深信服超融合架构技术白皮书文档密级:内部网络功能虚拟化 NFV。 狭义的 SDN 主要指的是通过 OpenFlow 来实现。 aNet 中的 SDN 实现没有采用上述的广义的 SDN 的方案,但由于实现架构上大同 小异,用一副标准的 SDN 规范图来说明下:可以这幅图看出实现 SDN 的重点在 Data plane 和 Controller plane,SDN 的核 心思想就是数据面与控制面分离。1.2.1.4.2.2 NFV以开放取代封闭, 以通用替代专有――将原本专业的网元设备上的网络功能提取出 来虚拟化,运行在通用的硬件平台上,业界称这种变化为 NFV。N F V (Network Functions Virtualisation 网络功能虚拟化)的目标是希望通过广泛采用的硬件承载各 种各样的网络软件功能,实现软件的灵活加载,在数据中心、网络节点和用户端等各个 位置灵活的配置, 加快网络部署和调整的速度, 降低业务部署的复杂度及总体投资成本, 深信服超融合架构技术白皮书文档密级:内部提高网络设备的统一化、通用化、适配性。 NFV 与 SDN 有很强的互补性,NFV 增加了功能部署的灵活性,SDN 可进一步推 动 NFV 功能部署的灵活性和方便性。 通过 NFV 技术, 将网络功能资源进行虚拟化,使得网络资源升级为虚拟化、可流 动的流态资源, Overlay 模型使流态网络资源的流动范围跳出了物理网络的束缚,可 以在全网范围内按需流动,呈现出网络资源的统一池化状态,最终实现了超融合架构中 网络资源的灵活定义、按需分配、随需调整。1.2.1.4.2.3 aNet 底层的实现aNet 的实现主要包含两个层面:数据平面和控制平面。 传统数据平面: 在典型的虚拟化网络场景下,数据包将由网络接口卡接收,然后进行分类并生成规 定的动作,并对数据包付诸实施。在传统的 Linux 模式下,系统接收数据包和将数据 包发送出系统的过程占了包处理中很大一部分时间,这可能会出乎有些人的预料。 换句话说,即使用户空间应用程序什么都不做,而只是将数据包从接收端口传送到 发送端口,那么仍然会花费大量的处理时间。 当网卡从网络接收到一个数据帧后,会使用直接内存访问( DMA)将数据帧传送 到针对这一目的而预先分配的内核缓冲区内,更新适当的接收描述符环,然后发出中断 通知数据帧的到达。操作系统对中断进行处理,更新环,然后将数据帧交给网络堆栈。 网络堆栈对数据进行处理,如果数据帧的目的地是本地套接字,那么就将数据复制到该 套接字,而拥有该套接字的用户空间应用程序就接收到了这些数据。 进行传输时,用户应用程序通过系统调用将数据写入到一个套接字,使 Linux 内 深信服超融合架构技术白皮书文档密级:内部核将数据从用户缓冲区复制到内核缓冲区中。然后网络堆栈对数据进行处理,并根据需 要对其进行封装, 然后再调用网卡驱动程序。 网卡驱动程序会更新适当的传输描述符环, 并通知网卡有一个等待处理的传输任务。 网卡将数据帧从内核缓冲区转移到自己内置的先进先出(FIFO)缓冲区,然后将数 据帧传输到网络。接着网卡会发出一个中断,通知数据帧已经成功传输,从而使内核释 放与该数据帧相关的缓冲区。 传统模式下 CPU 损耗主要发生在如下几个地方: 中断处理:这包括在接收到中断时暂停正在执行的任务,对中断进行处理,并调度 softIRQ 处理程序来执行中断调用的实际工作。随着网络流量负荷的增加,系统将会花 费越来越多的时间来处理中断,当流量速度达到 10G 以太网卡的线路速度时就会严重 影响性能。而对于有着多个 10G 以太网卡的情况,那么系统可以会被中断淹没,对所 有的服务产生负面影响。 上下文切换:上下文切换指的是将来自当前执行线程的寄存器和状态信息加以保存, 之后再将来自被抢占线程的寄存器和状态信息加以恢复, 使该线程能够从原先中断的地 方重新开始执行。调度和中断都会引发上下文切换。 系统调用:系统调用会造成用户模式切换到内核模式,然后再切换回用户模式。这 会造成管道冲刷并污染高速缓存。 数据复制:数据帧会从内核缓冲区复制到用户套接字,并从用户套接字复制到内核 缓冲区。执行这一操作的时间取决于复制的数据量。 调度:调度程序使每个线程都能运行很短的一段时间,造成多任务内核中并发执行 的假象。 当发生调度定时器中断或在其他一些检查时间点上, Linux 调度程序就会运行, 以检查当前线程是否时间已到。当调度程序决定应该运行另一个线程时,就会发生上下 深信服超融合架构技术白皮书文档密级:内部文切换。 aNet 数据平面实现的性能优化 Linux 等通用操作系统,必须公平地对待网络应用程序和非网络应用程序,导致设 计上达不到高 IO 吞吐,深信服在数据面设计上,借鉴了 netmap 和 dpdk 的方案,针 对数据 IO 密集型网络应用程序设计。 1.支持专有网卡和通用网卡 对于 Intel 和 Broadcom 的 e1000e,igb,ixgbe,bnx2,tg3,bnx2x 等可编程 网卡,支持高性能方案,对 e1000 等网卡,支持通用方案。保证硬件兼容性。 2.跨内核跨进程的全局内存池 深信服设计并实现了零拷贝的数据面环境,一个跨内核跨进程的全局内存引用机制, 真正做到网卡收包一次拷贝,所有进程共享引用的方式,数据可以从网卡传送到内核、 应用层、虚拟机而无需再次拷贝。内存池自动增长,自动回收。 3.避免中断处理和上下文切换 单数据线程亲和锁定到硬件线程,避免内核和用户空间之间的上下文切换、线程切 换和中断处理,同时每个线程有直接的高速缓冲,避免了缓冲区争用。 在理想情况下,当数据包到达系统时,所有处理该数据包所需的信息最好都已经在 内核的本地高速缓存中。我们可以设想一下,如果当数据包到达时,查找表项目、数据 流上下文、以及连接控制块都已经在高速缓存中的话,那么就可以直接对数据包进行处 理,而无需“挂起”并等待外部顺序内存访问完成。 4.应用层数据面更稳定 内核态的小 BUG,可能导致系统宕机,而应用层进程,最糟糕的情况是进程死掉, 我们设计了检测监控机制,在最极端的情况,即使进程意外死亡,也能秒级别做到虚拟 深信服超融合架构技术白皮书文档密级:内部机无感知的网络恢复。 数据平面负责报文的转发,是整个系统的核心,数据平面由多个数据转发线程和一 个控制线程组成, 控制线程负责接收控制进程配置的消息, 数据线程是实现报文的处理。 在数据线程中实现快速路径与慢速路径分离的报文处理方式,报文的转发是基于 session 的,一条流匹配到一个 session,该条流的第一个报文负责查找各种表项,创 建 session,并将查找表项的结果记录到 session 中,该条流的后续的报文只需查找 session,并根据 session 中记录的信息对报文进行处理和转发的。 系统中所有的报文都是由数据线程接收的,需要做转发的报文,不需要送到 linux 协议栈, 直接在数据线程中处理后从网卡发出, 对于到设备本身的报文(如 ssh, telnet, ospf, bgp, dhcp 等等),数据线程无法直接处理,通过 TUN 接口将报文重新送到 linux 协议栈处理,从 linux 协议栈的发出的报文需经过数据线程中转后才可从折本发出。 aNet 数据层面, 在六核 2.0 GHz 英特尔至强处理器 L5638 上使用最长前缀匹配 (LPM)时,对于使用六个核心中的四个核心、每个核一个线程、四个 10G 以太网端 口的情况,64 字节数据包的 IP 第三层转发性能达到了 41.1Mpps。这比原始 Linux 的性能差不多提高了十倍(原始 Linux 在双处理器六核 2.4GHz 模式下的性能为 12.2Mpps)。 数据面为底层处理和数据包 IO 提供了与硬件打交道的功能,而应用层协议栈在上 方提供了一个优化的网络堆栈实现。 与 Linux SMP 解决方案相比, 降低了对 Linux 内 核的依赖性,从而具有更好的扩展性和稳定性。 控制平面: 有了数据面和协议栈做支持,控制面就可以实现丰富的应用功能。控制面实现了本 地配套服务,一些基础功能例如 DHCP 服务,RSTP 服务,DNS 代理功能。这些内置 深信服超融合架构技术白皮书文档密级:内部服务可以直接提供给虚拟机,用户无需安装第三方类似软件。1.2.1.4.3 功能特性1.2.1.4.3.1 aSW 分布式虚拟交换机分布式虚拟交换机是管理多台主机上的虚拟交换机的虚拟网络管理方式,包括对主 机的物理端口和虚拟机虚拟端口的管理。 分布式虚拟机交换机可以保证虚拟机在主机之间迁移时网络配置的一致性。 aSV 虚拟化平台提供的分布式虚拟交换机就是把分布在集群中多台主机的单一交 换机逻辑上组成一个大的集中式交换机,减少每台虚拟交换机需要单独分别配置过程, 同时为集群级别的网络连接提供一个集中控制点, 使虚拟环境中的网络配置不再以主机 为单位,简化虚拟机网络连接的部署、管理和监控,适合于大规模的网络部署。 通过提供丰富的网络配置管理功能,端口动态绑定,静态绑定, IP 接入控制、虚 拟机网络 Qos,实现网络资源统一管理,实时化网络监控。1.2.1.4.3.2 aRouter在 SDN 网络里,路由器是必不可少的网络组件,aNET 提供了虚拟化路由器的功 能,可解决虚拟化后出口路由的问题,同时提供其它包括 VLAN 子网口,NAT 规则, ACL 策略,DHCP 地址池,DNS 代理等功能。 并且 aNet 提供的路由器自带 HA 功能,和虚拟机的 HA 功能一致,当路由器运行 的主机出现故障时,可以自动迁移到运行正常的主机上面,实现快速的故障恢复。这也 增强了超融合架构中业务网络的可靠性,减少了因网络故障引起的业务中断时间。 深信服超融合架构技术白皮书文档密级:内部1.2.1.4.3.3 vAF在构建网络虚拟化中,安全是其中必不可少一环,vAF 是深信服自己的下一代防火 墙 NFV 功能,深信服下一代防火墙 NGAF 提供 L2-L7 层安全可视的全面防护,通过双 向检测网络流量,有效识别来自网络层和应用层的内容风险,提供比同时部署传统防火 墙、IPS 和 WAF 等多种安全设备更强的安全防护能力,可以抵御来源更广泛、操作更 简便、危害更明显的应用层攻击。 此外,深信服下一代防火墙还提供基于业务的风险报表,内容丰富直观,用户可实 时了解网络和业务系统的安全状况,有效提升管理效率、降低运维成本。1.2.1.4.3.4 vADvAD 是深信服自己的应用交付 NFV 功能,深信服应用交付,是传统负载均衡产品 的升级,集服务器、链路、数据中心负载均衡和应用性能优化功能于一体,是构建高可 靠、高效率业务架构的绝佳选择。通过在超融合的虚拟化网络环境中部署 vAD 可以实 现:应用系统性能和可靠性提升,链路可靠性和带宽利用率提高,服务器性能和用户访 问体验优化,多数据中心的可靠性和全局调度。1.2.1.4.4 深信服 aNet 的特色技术1.2.1.4.4.1 网络探测功能网络探测功能是通过发送带有标签的 icmp 报文并跟踪记录该报文在转发平面经过 的每一跳,每一跳的信息包括虚拟设备的名称和转发的端口名称,然后将所有记录的信 息串联起来就可以知道到达特定目标的报文转发路径了。这种方式就像我们通过 tracert 的方式探测一样, 但是比 tracert 更细致, 能够探测出流量的出去和回来的路径。 深信服超融合架构技术白皮书文档密级:内部这样我们就能更直观的找到网络中存在的问题。1.2.1.4.4.2 全网流量可视数据包在转发平面转发的时候,每经过一个虚拟网络设备的任何一个端口都会有记 录,上层通过实时向底层转发平面查询虚拟网络设备的端口相关记录,就可以显示出每 个端口的流量了,这样就可以在业务拓扑上可形成全网流量可视。1.2.1.4.4.3 所画即所得业务逻辑拓扑所画即所得, 是深信服超融合架构中, 非常具有特色的技术功能, 由于 aSV、 aSAN 已将计算和存储的资源池拉通,结合 aNet 提供的网络资源池,从而为了所画即所得的 拓扑提供了各种元素,通过管理平面便可从资源池中调取相应的资源,即可呈现出不同 的拓扑架构。可快速,简单,直观的方式构建数据中心各个业务所需的逻辑拓扑。 深信服超融合架构技术白皮书文档密级:内部1.2.2 深信服超融合架构产品介绍 1.2.2.1 产品概述深信服超融合架构解决方案的产品主要包含如下两种: 超融合一体机: 超融合一体机是深信服推出的, 预先调优的 X86 硬件整合超融合操 作系统的一体化系统。 超融合操作系统: 深信服超融合操作系统组件为 3 个: aSV (服务器虚拟化) 、 aNET (网络虚拟化) 和 aSAN (存储虚拟化) , aSV 为整个操作系统的内核, 是必选项, aNET 和 aSAN 可以根据具体的需求二选一或者全选。 超融合操作系统, 需要基于客户现有 X86 硬件服务

我要回帖

更多关于 超融合厂商排名 的文章

 

随机推荐