深信服aBOS一体机技术白皮书.docx

上传人:b****7 文档编号:10700229 上传时间:2023-02-22 格式:DOCX 页数:50 大小:576.88KB
下载 相关 举报
深信服aBOS一体机技术白皮书.docx_第1页
第1页 / 共50页
深信服aBOS一体机技术白皮书.docx_第2页
第2页 / 共50页
深信服aBOS一体机技术白皮书.docx_第3页
第3页 / 共50页
深信服aBOS一体机技术白皮书.docx_第4页
第4页 / 共50页
深信服aBOS一体机技术白皮书.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

深信服aBOS一体机技术白皮书.docx

《深信服aBOS一体机技术白皮书.docx》由会员分享,可在线阅读,更多相关《深信服aBOS一体机技术白皮书.docx(50页珍藏版)》请在冰豆网上搜索。

深信服aBOS一体机技术白皮书.docx

深信服aBOS一体机技术白皮书

 

深信服aBos一体机技术白皮书

 

缩写和约定

英文缩写

英文全称

中文解释

Hypervisor

Hypervisor

虚拟机管理器(和VMM同义)

VMM

VMMVirtualMachineManager

虚拟机监视器

HA

HighAvailability

高可用性

vMotion

vMotion

实时迁移

DRS

DistributedResourceScheduler

分布式资源调度

RAID

RedundantArraysofIndependentDisks

磁盘阵列

IOPS

Input/OutputOperationsPer

Second

每秒读写(I/O)操作的次数

VM

VirtualMachine

虚拟机

SDN

SoftwareDefinedNetwork

软件定义网络

NFV

NetworkFunction

Virtualization

网络功能虚拟化

 

1前言

1.1边缘IT时代变革

随着在物联网的构建过程中传感器的大量使用,企业客户及员工使用的移动设备和云服务的大量增加,企业边缘的概念也正在被重新定义。

对于一个企业来说,它的新的边缘包括了下属办事机构、商店、机场、商场、公共图书馆、运动场以及其它公共空间。

任何可能有顾客的地方都在迅速成为企业的边缘。

不仅是企业边缘的概念在变化,与此同时,在这些地点的顾客参与行为也在发生本质性的变化。

近年来,随着主机托管、代管和云服务被越来越多地采用,IT基础架构也呈现出融合化和集中化的趋势。

而对企业边缘的重新定义则将在某种程度上扭转这一趋势,因为计算、存储和网络这三大功能都被推向了新的企业边缘,以解决那些具有较高处理要求和带宽要求的工作负载。

未来,微型数据中心将有望重新崛起,但届时它将不会采取目前的这种形式了。

企业边缘的变化还将促进IT与非IT架构/设备的持续创新和整合。

服务供应商将其IT资产部署在客户和合作伙伴所在的地理位置上这一举措的逐渐增长的可能性,将给双方的IT团队都带来一系列的新挑战。

我们现在正处于一场几十年未见的分支机构边缘数据中心革命性转变中,究其核心,这一转变是由“软件”基础设施的崛起而驱动。

虚拟网络设备、虚拟机、存储设备能够以高速自动化的方式分配与重新配置,不会受到分支非动态设置的硬件基础设施的限制,在“软件定义广域网”的模型下,用户首先考虑的是分支应用,根据应用的模式便可灵活的调配其所需的IT基础架构资源,也就是通过软件化的方式实现分支硬件资源调配。

深信服aBos一体机是软件定义分支IT基础架构一套非常成熟的解决方案,是建立一个各个软件组件间相对独立、松耦合的软件系统,极大提高分支整个IT基础架构系统的可靠性和可扩展性。

除满足上面所述的边缘IT架构虚拟化,标准化和自动化诉求外,秉承深信服公司产品的优秀基因,向您提供简单易用,安全可靠,易交付的产品。

1.2白皮书总览

本书介绍的内容大致如下:

第一章、在前言部分,给您对企业边缘IT变革,软件定义广域网有一个概括性的认识,并对本文档的阅读给出指导。

第二章、讲述aBos一体机各个功能模块的技术细节。

 

第三章、介绍深信服aBos一体机涵盖的技术。

第三章、向您介绍深信服aBos一体机中的技术在为客户带来的核心价值。

第四章、分享aBos一体机在客户中的实际应用场景,并给出深信服超融合架构产品的体验途径,非常欢迎您来试用。

2深信服aBos一体机架构技术

2.1aBos一体机架构概述

2.1.1aBos一体机架构的定义

深信服aBos一体机解决方案,是一种将网络设备、计算、存储等资源作为基本组成元素,通过一体机的方式承载中小型或者分支机构的IT网络建设技术。

满足多种类型的小型机构业务办公需求,提供具备业务上线速度快、分支安全性考虑全面、业务发展扩展性高、集中管理的一站式分支机构解决方案,实现分支机构“ZEROIT”。

2.2深信服aBos一体机架构组成模块

2.2.1系统总体架构

深信服aBos一体机架构图

深信服的aBos一体机解决方案软件架构主要包含三大组件(网络设备虚拟化、服务器虚拟化、存储虚拟化)、一个WEB控制平台(虚拟化管理平台VMP)、总部集中管理(BBC管理中心)。

硬件架构上,可以通过一体机的方式实现开机即用,一体机服务器实现基础架构的承载

后续章节,会针对aBos超融合架构中的三大功能模块:

计算虚拟化(aSV)、网络设备虚拟化(aNET)、存储虚拟化(aSAN)所涵盖的产品技术来做详细说明。

2.3aSV计算虚拟化

2.3.1计算虚拟化概述

 

计算资源虚拟化技术是将通用的x86服务器经过虚拟化软件,对最终用户呈现标准的虚拟机。

这些虚拟机就像同一个厂家生产的系列化的产品一样,具备系列化的硬件配置,使用相同的驱动程序。

虚拟机的定义:

虚拟机(VirtualMachine)是由虚拟化层提供的高效、独立的虚拟计算机系统,每台虚拟机都是一个完整的系统,它具有处理器、内存、网络设备、存储设备和BIOS,因此操作系统和应用程序在虚拟机中的运行方式与它们在物理服务器上的运行方式没有什么区别。

虚拟机与物理服务器相比:

虚拟机不是由真实的电子元件组成,而是由一组虚拟组件(文件)组成,这些虚拟组件与物理服务器的硬件配置无关,关键与物理服务器相比,虚拟机具有以下优势:

抽象解耦1.可在任何X86架构的服务器上运行;

2.上层应用操作系统不需修改即可运行;分区隔离

1.可与其他虚拟机同时运行;

2.实现数据处理、网络连接和数据存储的安全隔离;封装移动

1.可封装于文件之中,通过简单的文件复制实现快速部署、备份及还原;

2.可便捷地将整个系统(包括虚拟硬件、操作系统和配置好的应用程序)在不同的物理服务器之间进行迁移,甚至可以在虚拟机正在运行的情况下进行迁移;

深信服的aBos一体机解决方案中的计算虚拟化采用aSV虚拟化系统,通过将服务器资源虚拟化为多台虚拟机。

最终用户可以在这些虚拟机上安装各种软件,挂载磁盘,调整配置,调整网络,就像普通的x86服务器一样使用它。

2.3.2aSV技术原理

2.3.2.1Hypervisor架构

 

Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的“元”操作系统,它可以协调访问服务器上的所有物理设备和虚拟机,也叫虚拟机监视器

(VirtualMachineMonitor)。

Hypervisor是所有虚拟化技术的核心。

非中断地支持多工作负载迁移的能力是

Hypervisor的基本功能。

当服务器启动并执行Hypervisor时,它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统。

虚拟化技术架构

Hypervisor,常见的Hypervisor分两类:

Type-I(裸金属型)

指VMM直接运作在裸机上,使用和管理底层的硬件资源,GuestOS对真实硬件资

 

源的访问都要通过VMM来完成,作为底层硬件的直接操作者,VMM拥有硬件的驱动程序。

裸金属虚拟化中Hypervisor直接管理调用硬件资源,不需要底层操作系统,也可以理解为Hypervisor被做成了一个很薄的操作系统。

这种方案的性能处于主机虚拟化与操作系统虚拟化之间。

代表是VMwareESXServer、CitrixXenServer和MicrosoftHyper-V,LinuxKVM。

Type-II型(宿主型)

指VMM之下还有一层宿主操作系统,由于GuestOS对硬件的访问必须经过宿主操作系统,因而带来了额外的性能开销,但可充分利用宿主操作系统提供的设备驱动和底层服务来进行内存管理、进程调度和资源管理等。

主机虚拟化中VM的应用程序调用硬件资源时需要经过:

VM内核->Hypervisor->主机内核,导致性能是三种虚拟化技术中最差的。

主机虚拟化技术代表是VMwareServer(GSX)、Workstation和MicrosoftVirtualPC、VirtualServer等。

由于主机型Hypervisor的效率问题,深信服的aSV采用了裸机型Hypervisor中的LinuxKVM虚拟化,即为Type-I(裸金属型)。

KVM(Kenerl-basedVirtualMachine)是基于linux内核虚拟化技术,自

linux2.6.20之后就集成在linux的各个主要发行版本中。

它使用linux自身的调度器进行管理,所以相对于xen,其核心源码很少。

KVM是基于硬件虚拟化扩展(IntelVT-X)和QEMU的修改版,KVM属于Linuxkernel的一个模块,可以用命令modprobe去加载KVM模块。

加载了该模块后,才能进一步通过工具创建虚拟机。

但是仅有KVM模块是不够的。

因为用户无法直接控制内核去做事情,还必须有一个运行在用户空间的工具才行。

这个用户空间的工具,我们选择了已经成型的开源虚拟化软件QEMU,QEMU也是一个虚拟化软件,它的特点是可虚拟不同的CPU,比如说在x86的CPU上可虚拟一个power的CPU,并可利用它编译出可运行在power上的CPU,并可利用它编译出可运行在power上的程序。

KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用户空间工具了。

这就是KVM和

QEMU的关系。

如下图:

一个普通的linux进程有两种运行模式:

内核和用户。

而KVM增加了第三种模式:

客户模式(有自己的内核和用户模式)。

在kvm模型中,每一个虚拟机都是由linux调度程序管理的标准进程。

总体来说,kvm由两个部分组成:

一个是管理虚拟硬件的设备驱动,该驱动使用字符设备/dev/kvm作为管理接口;另一个是模拟PC硬件的用户空间组件,这是一个稍作修改的qemu进程。

同时,aSV采用KVM优势有:

ØØ嵌入到Linux正式Kernel(提高兼容性)

ØØ代码级资源调用(提高性能)

ØØ虚拟机就是一个进程(内存易于管理)

ØØ直接支持NUMA技术(提高扩展性)

ØØ保持开源发展模式(强大的社区支持)

2.3.2.2aSV的Hypervisor实现

VMM(VirtualMachineMonitor)对物理资源的虚拟可以划分为三个部分:

CPU虚拟化、内存虚拟化和I/O设备虚拟化,其中以CPU的虚拟化最为关键。

经典的虚拟化方法:

现代计算机体系结构一般至少有两个特权级(即用户态和核心态,x86有四个特权级Ring0~Ring3)用来分隔系统软件和应用软件。

那些只能在处理器的最高特权级(内核态)执行的指令称之为特权指令,一般可读写系统关键资源的指令(即敏感指令)决大多数都是特权指令(X86存在若干敏感指令是非特权指令的情况)。

如果执行特权指令时处理器的状态不在内核态,通常会引发一个异常而交由系统软件来处理这个非法访问(陷入)。

经典的虚拟化方法就是使用“特权解除”和“陷入-模拟”的方式,即将GuestOS运行在非特权级,而将VMM运行于最高特权级(完全控制系统资源)。

解除了GuestOS的特权级后,GuestOS的大部分指令仍可以在硬件上直接运行,只有执行到特权指令时,才会陷入到VMM模拟执行(陷入-

模拟)。

“陷入-模拟”的本质是保证可能影响VMM正确运行的指令由VMM模拟执行,

大部分的非敏感指令还是照常运行。

因为X86指令集中有若干条指令是需要被VMM捕获的敏感指令,但是却不是特权指令(称为临界指令),因此“特权解除”并不能导致他们发生陷入模拟,执行它们不会发生自动的“陷入”而被VMM捕获,从而阻碍了指令的虚拟化,这也称之为X86的虚拟化漏洞。

X86架构虚拟化的实现方式可分为:

1、X86“全虚拟化”(指所抽象的VM具有完全的物理机特性,OS在其上运行不

需要任何修改)Full派秉承无需修改直接运行的理念,对“运行时监测,捕捉后模拟”的过程进行优化。

该派内部之实现又有些差别,其中以VMWare为代表的基于二进制翻译(BT)的全虚拟化为代表,其主要思想是在执行时将VM上执行的GuestOS指令,翻译成x86指令集的一个子集,其中的敏感指令被替换成陷入指令。

翻译过程与指令执行交叉进行,不含敏感指令的用户态程序可以不经翻译直接执行。

2、X86“半虚拟化”(指需OS协助的虚拟化,在其上运行的OS需要修改)半虚拟化的基本思想是通过修改GuestOS的代码,将含有敏感指令的操作,替换为对

VMM的超调用Hypercall,类似OS的系统调用,将控制权转移到VMM,该技术因VMM项目而广为人知。

该技术的优势在于VM的性能能接近于物理机,缺点在于需要修改

GuestOS(如:

Windows不支持修改)及增加的维护成本,关键修改GuestOS会导致操作系统对特定hypervisor的依赖性,因此很多虚拟化厂商基于VMM开发的虚拟化产品部分已经放弃了Linux半虚拟化,而专注基于硬件辅助的全虚拟化开发,来支持未经修改的操作系统。

3、X86“硬件辅助虚拟化”:

其基本思想就是引入新的处理器运行模式和新的指令,使得VMM和GuestOS运行于不同的模式下,GuestOS运行于受控模式,原来的一些敏感指令在受控模式下全部会陷入VMM,这样就解决了部分非特权的敏感指令的“陷入-模拟”难题,而且模式切换时上下文的保存恢复由硬件来完成,这样就大大提高了“陷入-模拟”时上下文切换的效率。

以IntelVT-x硬件辅助虚拟化技术为例,该技术增加了在虚拟状态下的两种处理器工作模式:

根(Root)操作模式和非根(Non-root)操作模式。

VMM运作在Root操作模式下,而GuestOS运行在Non-root操作模式下。

这两个操作模式分别拥有自己的特权级环,VMM和虚拟机的GuestOS分别运行在这两个操作模式的0环。

这样,既能使VMM运行在0环,也能使GuestOS运行在0环,避免了修改GuestOS。

Root操作模式和Non-root操作模式的切换是通过新增的CPU指令(如:

 

VMXON,VMXOFF)来完成。

硬件辅助虚拟化技术消除了操作系统的ring转换问题,降低了虚拟化门槛,支持任何操作系统的虚拟化而无须修改OS内核,得到了虚拟化软件厂商的支持。

硬件辅助虚拟化技术已经逐渐消除软件虚拟化技术之间的差别,并成为未来的发展趋势。

●●vCPU机制

vCPU调度机制

对虚拟机来说,不直接感知物理CPU,虚拟机的计算单元通过vCPU对象来呈现。

虚拟机只看到VMM呈现给它的vCPU。

在VMM中,每个vCPU对应一个VMCS

(Virtual-MachineControlStructure)结构,当vcpu被从物理CPU上切换下来的时候,其运行上下文会被保存在其对应的VMCS结构中;当vcpu被切换到pcpu上运行时,其运行上下文会从对应的VMCS结构中导入到物理CPU上。

通过这种方式,实现各vCPU之间的独立运行。

从虚拟机系统的结构与功能划分可以看出,客户操作系统与虚拟机监视器共同构成了虚拟机系统的两级调度框架,如图所示是一个多核环境下虚拟机系统的两级调度框架。

客户操作系统负责第2级调度,即线程或进程在vCPU上的调度(将核心线程映射到相应的虚拟CPU上)。

虚拟机监视器负责第1级调度,即vCPU在物理处理单元上的调度。

两级调度的调度策略和机制不存在依赖关系。

vCPU调度器负责物理处理器资源在各个虚拟机之间的分配与调度,本质上即把各个虚拟机中的vCPU按照一定的策略和机制调度在物理处理单元上可以采用任意的策略来分配物理资源,满足虚拟机的不同需求。

vCPU可以调度在一个或多个物理处理单元执行(分时复用或空间复用

 

物理处理单元),也可以与物理处理单元建立一对一固定的映射关系(限制访问指定的物理处理单元)。

内存虚拟化

内存虚拟化三层模型

因为VMM(VirtualMachineMonitor)掌控所有系统资源,因此VMM握有整个内存资源,其负责页式内存管理,维护虚拟地址到机器地址的映射关系。

因GuestOS本身亦有页式内存管理机制,则有VMM的整个系统就比正常系统多了一层映射:

A.虚拟地址(VA),指GuestOS提供给其应用程序使用的线性地址空间;

B.物理地址(PA),经VMM抽象的、虚拟机看到的伪物理地址;

C.机器地址(MA),真实的机器地址,即地址总线上出现的地址信号;

映射关系如下:

GuestOS:

PA=f(VA)、VMM:

MA=g(PA)VMM维护一套页表,负责PA到MA的映射。

GuestOS维护一套页表,负责VA到PA的映射。

实际运行时,用户程序访问VA1,经GuestOS的页表转换得到PA1,再由VMM介入,使用VMM的页表将PA1转换为MA1。

●●页表虚拟化技术

普通MMU只能完成一次虚拟地址到物理地址的映射,在虚拟机环境下,经过MMU转换所得到的“物理地址”并不是真正的机器地址。

若需得到真正的机器地址,必须由VMM介入,再经过一次映射才能得到总线上使用的机器地址。

如果虚拟机的每个内存访问都需要VMM介入,并由软件模拟地址转换的效率是很低下的,几乎不具有实际可用性,为实现虚拟地址到机器地址的高效转换,现普遍采用的思想是:

由VMM根据映射f和g生成复合的映射fg,并直接将这个映射关系写入MMU。

当前采用的页表

虚拟化方法主要是MMU类虚拟化(MMUParavirtualization)和影子页表,后者已被

 

内存的硬件辅助虚拟化技术所替代。

1、MMUParavirtualization

其基本原理是:

当GuestOS创建一个新的页表时,会从它所维护的空闲内存中分配一个页面,并向VMM注册该页面,VMM会剥夺GuestOS对该页表的写权限,之后GuestOS对该页表的写操作都会陷入到VMM加以验证和转换。

VMM会检查页表中的每一项,确保他们只映射了属于该虚拟机的机器页面,而且不得包含对页表页面的可写映射。

后VMM会根据自己所维护的映射关系,将页表项中的物理地址替换为相应的机器地址,最后再把修改过的页表载入MMU。

如此,MMU就可以根据修改过页表直接完成虚拟地址到机器地址的转换。

2、内存硬件辅助虚拟化

内存硬件辅助虚拟化技术原理图

内存的硬件辅助虚拟化技术是用于替代虚拟化技术中软件实现的“影子页表”的一种硬件辅助虚拟化技术,其基本原理是:

GVA(客户操作系统的虚拟地址)->GPA

(客户操作系统的物理地址)->HPA(宿主操作系统的物理地址)两次地址转换都由CPU硬件自动完成(软件实现内存开销大、性能差)。

以VT-x技术的页表扩充技术ExtendedPageTable(EPT)为例,首先VMM预先把客户机物理地址转换到机器地址的EPT页表设置到CPU中;其次客户机修改客户机页表无需VMM干预;最后,地址转换时,CPU自动查找两张页表完成客户机虚拟地址到机器地址的转换。

使用内存的硬件辅助虚拟化技术,客户机运行过程中无需VMM干预,去除了大量软件开销,内存访问性能接近物理机。

●●I/O设备虚拟化

VMM通过I/O虚拟化来复用有限的外设资源,其通过截获GuestOS对I/O设

备的访问请求,然后通过软件模拟真实的硬件,目前I/O设备的虚拟化方式主要有三

 

种:

设备接口完全模拟、前端/后端模拟、直接划分。

1、设备接口完全模拟:

即软件精确模拟与物理设备完全一样的接口,GuestOS驱动无须修改就能驱动这个虚拟设备。

优点:

没有额外的硬件开销,可重用现有驱动程序;

缺点:

为完成一次操作要涉及到多个寄存器的操作,使得VMM要截获每个寄存器

访

问并进行相应的模拟,这就导致多次上下文切换;由于是软件模拟,性能较低。

2、前端/后端模拟:

VMM提供一个简化的驱动程序(后端,Back-End),GuestOS中的驱动程序为前

端(Front-End,FE),前端驱动将来自其他模块的请求通过与GuestOS间的特殊通信机制直接发送给GuestOS的后端驱动,后端驱动在处理完请求后再发回通知给前端,

VMM即采用该方法。

优点:

基于事务的通信机制,能在很大程度上减少上下文切换开销,没有额外的硬件开销;

缺点:

需要GuestOS实现前端驱动,后端驱动可能成为瓶颈。

3、直接划分:

即直接将物理设备分配给某个GuestOS,由GuestOS直接访问I/O设备(不经VMM),目前与此相关的技术有IOMMU(IntelVT-d,PCI-SIG之SR-IOV等),旨在建立高效的I/O虚拟化直通道。

 

优点:

可重用已有驱动,直接访问减少了虚拟化开销;缺点:

需要购买较多额外的硬件。

2.3.3深信服aSV的技术特性

2.3.3.1内存NUMA技术

非统一内存访问(NUMA)是服务器CPU和内存设计的新架构。

传统的服务器架构下把内存放到单一的存储池中,这对于单处理器或单核心的系统工作良好。

但是这种传统的统一访问方式,在多核心同时访问内存空间时会导致资源争用和性能问题。

毕竟,CPU应该可以访问所有的服务器内存,但是不需要总是保持占用。

实际上,CPU仅需要访问工作负载实际运行时所需的内存空间就可以了。

因此NUMA改变了内存对CPU的呈现方式。

这是通过对服务器每个CPU的内存进行分区来实现的。

每个分区(或内存块)称为NUMA节点,而和该分区相关的处理器可以更快地访问NUMA内存,而且不需要和其它的NUMA节点争用服务器上的资源(其它的内存分区分配给其它处理器)。

NUMA的概念跟缓存相关。

处理器的速度要比内存快得多,因此数据总是被移动到更快的本地缓存,这里处理器访问的速度要比通用内存快得多。

NUMA本质上为每个处理器配置了独有的整体系统缓存,减少了多处理器试图访问统一内存空间时的争用和延迟。

NUMA与服务器虚拟化完全兼容,而且NUMA也可以支持任意一个处理器访问服务器上的任何一块内存区域。

某个处理器当然可以访问位于不同区域上的内存数据,但是需要更多本地NUMA节点之外的传输,并且需要目标NUMA节点的确认。

这增加了整体开销,影响了CPU和内存子系统的性能。

NUMA对虚拟机负载不存在任何兼容性问题,但是理论上虚拟机最完美的方式应该是在某个NUMA节点内。

这可以防止处理器需

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1