品高云计算解决方案V60.docx
《品高云计算解决方案V60.docx》由会员分享,可在线阅读,更多相关《品高云计算解决方案V60.docx(18页珍藏版)》请在冰豆网上搜索。
![品高云计算解决方案V60.docx](https://file1.bdocx.com/fileroot1/2023-1/7/b18d0ea7-3b0a-4b36-ad2f-37200596c262/b18d0ea7-3b0a-4b36-ad2f-37200596c2621.gif)
品高云计算解决方案V60
1品高云操作系统产品方案
本项目采用的云操作系统BingoCloudOS产品实现对云资源管理和云业务管理,实现异构虚拟化支持和统一的云业务管理门户.
1.1功能架构图
BingoCloud功能架构图如下所示,从底向上分别包括云控制器&虚拟化层、各类云服务&接口、云管控中心(运维管理功能)和自助服务界面.
品高云操作系统整体包括以下模块,分别是:
(1)数据中心硬件
充分利用品高云操作系统内部的高性能计算资源、最大限度地避免重复建设与资源浪费,品高云操作系统需要对数据中心的服务器、存储设备、网络设备进行统一调度管理,以实现资源的优化配置、充分共享。
(2)资源池系统
利用品高云操作系统的虚拟化技术,将底层IT基础硬件设备进行虚拟化处理,借助品高云操作系统控制器对虚拟资源进行统一纳管,屏蔽底层各类硬件环境的复杂性,构建统一的虚拟化云资源池,为上层的业务管理系统和公共服务平台的运行、HPC高性能计算提供必须的计算、存储和网络资源。
(3)自助化云服务系统
在虚拟化层基础上,品高云操作系统对虚拟资源进行能力封装,提供了多项自动化的云服务,包括基础能力(虚拟机、存储卷、网络资源等)、应用支撑能力(应用自动化部署、数据库服务、负载均衡服务等)、辅助能力(HPC、大数据处理、3D渲染等)等,品高云操作系统用户可以通过这些服务满足各种场景下的IT需求.该层是整个品高云操作系统的核心部分,直接决定着云数据中心的能力大小。
(4)自助服务平台
品高云操作系统为业务部门各用户提供了自助服务门户。
品高云操作系统管理员只需要为每个用户分配一定的资源配额(例如10VCPU、20G内存、200G存储空间等),用户就可以自助登录到品高云操作系统界面,使用品高云操作系统提供的各项功能进行应用部署、HPC计算等工作。
(5)API
品高云操作系统的构建需要遵循标准化的原则,目前界面云计算公认的成熟标准的AWS标准化接口,品高云操作系统平台兼容AWS超过200个API,并且所有的API均对外开放,品高云操作系统用户可以利用这些API进行能力扩展开发。
(6)云管控中心
云管控中心提供运维管理门户供管理人员通过界面的方式实现对品高云操作系统各类资源进行高效调配、全面监控、日常维护、用户管理,并能够将品高云操作系统资源的使用情况形成报表导出。
1.2资源池系统
资源池系统是品高云操作系统的核心层相当于云操作系统的底层,其主要负责将硬件资源转化为可编程的逻辑单元,可被上层服务系统灵活调度与使用.资源池中的资源通过云控制器、集群控制器和节点控制自上向下的三层架构进行调度.而针对资源池中具体资源则通过计算、存储和网络三个子系统进行管理和控制。
1.2.1三层调度架构
品高云操作系统对资源的管理是三层架构,自上而下分别是:
云控制器(CloudController)、集群控制器(ClusterController)、节点控制器(NodeController)组成.其中云控制器可以管理多个集群控制器、一个集群控制器可以管理多个节点控制器.如下图所示:
(资源池系统的三层调度架构示意图)
1.2.1.1云控制器(CLC)
云控制器负责接收用户请求,并校验请求的合法性.根据请求类型的不同,云控制器自动处理请求,或者将请求按策略调度到合适的集群控制器处理,最后将处理结果返回给用户。
云控制器需要一台物理服务器部署,但可以与集群控制器共用一台物理服务器。
云控制器可管理的集群控制器数量没有限制。
1.2.1.2集群控制器(CC)
集群控制器是对云基础计算节点进行资源分群的手段,根据业务需求可以配置成不同业务集群.集群控制器接收到云控制器的请求后,按策略将其调度给合适的节点控制器处理,并由节点控制器通过计算子系统完成计算资源的创建和管理;通过调用网络子系统搭建集群的受控网络环境,包括虚拟子网,网络路由,防火墙策略等;通过对存储子系统的调用,为集群提供数据存储能力。
集群控制器需要一台物理服务器部署,但可以与云控制器共用一台物理服务器,多个集群控制器不建议放入一台物理服务器中。
一个集群控制器最多可以管理1024个节点控制器.
1.2.1.3节点控制器(NC)
节点控制器负责处理从集群控制器发出的请求,并控制、管理和监控运行在其上的虚拟服务器的计算环境和存储环境.节点控制器对虚拟服务器的监控是一种非入侵式的监控,它不需要对目标虚拟服务器植入监控程序。
另外,有时节点控制器除了承担计算任务之外,其本地硬盘也会通过BingoFS被构建成分布式存储系统。
一个节点控制器需要部署在一台物理服务器中,不建议与云控制器、集群控制器共用一台物理服务器。
1.2.2三大资源子系统
为实现对数据中心内的各类硬件资源的灵活使用,在三层调度架构体系下,分别使用计算计算、存储与网络等三个子系统对硬件/虚拟资源进行具体的管理和控制。
(三大资源系统与三层调度架构关系示意图)
1.2.2.1计算子系统
计算子系统通过对x86物理设备的虚拟封装,实现灵活的服务器资源控制,支持市面常见的服务器虚拟化技术供用户选择,包括:
KVM、XEN、ESXi.如果服务器不支持虚拟化技术或低损耗计算要求等原因,品高云操作系统还允许用户选择使用Linux下几乎无损性能的轻虚拟化技术(容器技术)。
1.2.2.1.1多种虚拟化技术支持
品高云操作系统支持多种虚拟化Hypervisor技术,对于不同的虚拟化Hypervisor,平台提供了统一的bingo—hypervisor接口对虚拟机进行操作。
其中使用libvirt实现KVM、Xen虚拟化;使用VMwareESXiAPI接口支持VMware的虚拟化.
ØKVM
是开源社区于2007年推出的,完全内置于Linux内核的开源hypervisor。
KVM目前支持IntelVT及AMD—V的原生虚拟技术.时至今日IBM、红帽、英特尔等重量级厂商组成开放虚拟化联盟(OVA),致力于提升KVM的认知度与采用率。
由于软硬件厂商的共同推进,KVM经常被拥有较大服务器规模的IDC使用,用于自身的品高云操作系统建设,规模经常达到百台以上。
ØXEN
2002年XEN正式被开源,由剑桥大学开发。
在先后推出了1.0和2.0版本之后,开始被诸如Redhat、Novell和Sun的Linux发行版集成,作为其中的虚拟化解决方案。
而XEN最成功的案例来自于美国亚马逊公有云,其推出的EC2服务采用开源XEN作为虚拟机的hypervisor,并拥有数十万级别的服务器规模。
ØESXi
ESXi是VMWARE公司在2001年推出的针对服务器的虚拟化平台产品,是著名的虚拟化产品,其推出的vsphere、vcloud套件在企业客户中广为使用。
品高云操作系统主要针对封装调度对象是VMWARE底层的虚拟化技术ESXi,并可对接上层vcenter管理平台.
1.2.2.1.2Linux容器技术支持(LXC)
LinuxContainer容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。
容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。
与传统虚拟化技术相比,它的优势在于:
Ø与宿主机使用同一个内核,性能损耗小;
Ø不需要指令级模拟;
Ø不需要即时(Just-in-time)编译;
Ø容器可以在CPU核心的本地运行指令,不需要任何专门的解释机制;
Ø避免了准虚拟化和系统调用替换中的复杂性;
Ø轻量级隔离,在隔离的同时还提供共享机制,以实现容器与宿主机的资源共享.
当服务器不支持虚拟化,或者对性能有更高要求时,考虑使用Linux容器技术。
但它只支持常见的Linux服务器.
(容器技术与常见虚拟化技术架构比较)
1.2.2.1.3灵活的调度策略
如何在众多物理服务器中选出最符合业务需要的来创建虚拟机,一直以来是衡量品高云操作系统调度能力的重点能力。
所谓业务需要就是在实际场景中品高云操作系统中运行的应用系统特性,如生产环境、测试环境、网络I/O密集型环境等等。
计算子系统则原生提供了8个自动化的“资源调度策略"供管理员选择。
“资源调度策略”可以分别针对不同的集群控制器管理的集群、同时也允许进一步针对不同的计算节点设置个性化策略。
品高云操作系统原生提供的全局资源调度策略包括:
●轮循(roundrobin):
平均、轮流地使用集群下的节点资源(默认使用的规则)。
●贪婪(resource—max-first):
自动使用所有服务器中资源占用最低的创建计算资源(一般用于生产环境)。
●节约(resource—min-first):
优先使用资源利用率高的节点资源,待其耗尽后再使用其他节点资源(一般用于测试环境).
●利旧(old—first):
优先使用先加入集群的节点资源(一般用于测试环境)。
●利新(new-first):
优先使用后加入集群的节点资源(一般用于生产环境)。
●能耗大优先(power—max—first):
优先使用能耗大的节点资源(此策略需要主板支持IntelNodeManager技术;主要用于渲染集群)。
●能耗小优先(power-min—first):
优先使用能耗小的节点资源(此策略需要主板支持IntelNodeManager技术;主要用于渲染集群).
●网络空闲优先(net-io-low—first):
优先使用网络流量小的节点资源(主要用于网络密集型应用的集群).
针对集群内的虚拟机关机的资源使用情况,品高云操作系统还提供“紧缩模式”的设置,在设置了紧缩模式后,虚拟机关机后将自动释放占用的CPU、内存资源,节省品高云操作系统资源。
但带来的副作用是如果其他虚拟机启动后将物理机资源沾满,则关闭的虚拟机可能无法开机,直到有资源被释放出来。
(默认不启用)
另外一个设置是针对节电功能,当启用了“节电模式”后,只要物理机中不在运行虚拟机,或其中的虚拟机全部处于关闭状态,则物理服务器自动进入休眠状态,直到虚拟机被开机或有调度任务需要在其中创建新虚拟机时会被自动唤醒。
(默认不启用)
针对单一的云节点,品高云操作系统还提供了高级个性化配置,可以通过“表达式”语法来设置个性云节点的特殊设置,可设置的参数包括:
●ImageType(镜像类型,取值为 vm|vmware|container)
●Platform(平台,取值为 windows|linux)
●Architecture(架构,取值为x86_64|i386)
●Vmtype(规模,取值是品高云操作系统中设定的实例规模名称—-—-虚拟机的虚拟硬件配置模板)
●UserId(用户,品高云操作系统平台中的用户账号名)
●ImageId(镜像,品高云操作系统中虚拟机模板的编号)
示例语法:
ImageId==”ami—11111111”orelseImageId=="ami-22222222"(指定节点只能运行某些镜像);UserId=/="bingo"(指定节点不允许某用户再使用)
1.2.2.2存储子系统
存储子系统通过对分布式存储系统、SAN设备、服务器本地硬盘的逻辑化封装,实现灵活的数据存储能力。
1.2.2.2.1分布式云存储提供
品高云操作系统内置提供BingoFS分布式存储系统,它通过将x86服务器的本地硬盘集合起来协同工作,并通过通用数据接口(如posix、CIFS、S3等),向用户提供海量数据存储、管理和访问服务。
既可以用于承载虚拟机的运行文件、虚拟磁盘、模板以及相关备份等工作,也可以直接为运行在物理机中的软件系统提供网络存储服务.
BingoFS系统包括元数据服务器(支持主备)以及若干台分布式存储节点构成,元数据服务器用于数据索引,用户向BingoFS发起的数据请求由元数据负责指向实际的存储位置,为避免单点瓶颈元数据服务器除了支持主备模式之外,索引数据也一般保存在内存中可以快速响应客户的数据读写需求;存储节点服务器用于保存实际数据,理论上存储节点越多整体容量越大,且读写带宽越大,再加之切片冗余的架构数据的可靠性也会更高。
(分布式存储系统示意图)
Ø切片冗余架构、数据高可用
当用户数据需要写入分布式存储中时,会采取切片技术将大文件切分成若干份,每份数据块为64MB,如果文件低于64M则按实际大小保存,这些数据块会被分别保存在不同的存储节点中。
为保障数据的可靠性,每份数据又会被自动克隆1至10份(允许用户设置数据的冗余份数),克隆的数据会在其他可用的存储节点保存。
对于拷贝数(数据块的克隆数量+1)为N的文件,即使N—1台存储节点失效时,仍可访问。
如有5台存储节点,拷贝数为3,则理论上失效2台存储节点(剩下3台),数据仍然可被存取.
(分布式存储写入数据示意图)
当用户需要读取分布式存储中的数据时,会依次从存有数据块的节点中读取数据。
当有多个用户并发读取数据时(需要更大的数据读取带宽),则数据文件越大越可能获得更好的并发读取性能,因为在不同的存储节点中都有可能存在大文件的一份数据块。
(分布式存储读取数据示意图)
Ø热添加节点、自动水位平衡
BingoFS构建的分布式存储系统允许在运行中增加新的存储节点,从而提升整体的带宽与数据容量。
每当新存储节点被加入或现有集群中的存储节点宕机,BingoFS会通过优化算法,自动将当前存储集群中的数据重新分配存储位置,让各个存储节点的硬盘得到平均化利用的同时,更降低了单台服务器数据过多带来的数据丢失风险。
(分布式存储高可用与水位平衡示意图)
Ø本地优先策略、SSD+10gE加速
对于在分布式文件系统中多冗复制的一个文件,每次写入操作都会有多份数据在网络中传输,每次读操作也需要经过网络从存储节点读取,给存储网络带来较大的带宽压力;同时,由于数据读写都要经过网络,必然导致了IO的响应时间较长延迟较高。
而虚拟机镜像正是需要频繁读写的文件,传统分布式存储架构会需要比较高的带宽,而传统架构带来的IO响应时间延长也降低了虚拟机的IO性能.
为了取得更好的虚拟机运行性能,BingoFS允许采用计算、存储双融合的架构.既存储节点的CPU、内存可以作为运行VM的计算能力,而本地硬盘作为分布式存储的组成部分。
虚拟机的磁盘文件会优先在本地有一份完整数据拷贝,而冗余的数据会放入其余的存储节点中,读取数据时直接从本地读取,在这种架构下大大降低了网络带宽需求,降低了IO延迟.
为了进一步提高系统的离散IO性能,BingoFS支持采用SSD作为热点数据缓存的技术,借助固态硬盘的高IOPS特性为机械硬盘的离散IO操作加速,离散小IO与热点区域的读写优先在固态硬盘上进行。
另一方面本地优先策略执行后会采用同步方式将数据块的克隆放入其他存储节点,为加快提高效率一般建议采用10gE网卡或多千兆网卡汇聚的方式提升网络速度.
(计算、存储融合架构示意图)
Ø存储快照技术
备份是对数据进行保护的最有效方式.然而通过数据复制进行备份的方式代价和成本较高,消耗大量时间和系统资源.显然,这种数据备份方式存在一个显著的不足,即备份窗口问题。
在数据备份期间,企业业务需要暂时停止对外提供服务。
随着企业数据量和数据增长速度的加快,这个窗口可能会要求越来越长,这对于关键性业务系统来说是无法接受的。
对于品高云操作系统来说,虚拟机镜像文件写入频繁,在运行时进行复制不能保证数据一致性会导致数据丢失,想要复制镜像只能将虚拟机关机,对业务的连续性造成较大影响,并产生了较大的系统负载。
因此对于支撑虚拟机镜像的存储系统来说快照特性是十分重要的.快照是某个数据集在某一特定时刻的镜像,也称为即时拷贝,它是这个数据集的一个完整可用的副本。
快照的生成速度通常很短,只需要毫秒甚至微秒级的速度,瞬间完成,源文件正在读写时也可以进行快照,十分适合虚拟机镜像文件和存储卷文件的备份.
BingoFS在底层原生支持快照技术,并结合了写时复制(COW,CopyOnWrite)、指针重映射(PointerRemapping)、克隆快照(Copyonwritewithbackgroundcopy)等快照技术的优点,可在任意时刻对任意文件制作任意数量的即时拷贝,源与目标互为即时拷贝,没有源文件与快照文件之分,所有文件都具有一份完整拷贝,并具有相同的读写性能。
借助即时拷贝的优越特性,品高云操作系统可在数秒内批量启动上千台虚拟机,可在任意时刻对虚拟机镜像和存储卷制作任意数量的备份,而每个备份又可以随时瞬间恢复为虚拟机/存储卷,即使原始源文件已经被删除。
此外,即时拷贝也可作为BingoFS中数据复制的一种方式,任意大小的文件都可迅速复制完成,并且副本只占用极少的磁盘空间。
(写时复制技术示意图)
1.2.2.2.2各类SAN设备支持
品高云操作系统支持常见的SAN存储设备,支持添加多个SAN存储设备到存储池中.品高云操作系统通过标准协议对SAN设备的LUN进行操作与格式化,并在LUN中运行实例或创建存储卷。
SAN设备上运行的实例通常可以获得较好的性能。
(在品高云操作系统中添加SAN存储设备)
1.2.2.3网络子系统
网络子系统通过对品高云操作系统中的虚拟网络进行编程控制(SDN能力),可以提供安全组、VPC、VPN等能力。
在不替换现有硬件交换设备的前提下,以中央控制方式对虚拟机网络资源进行管理。
1.2.2.3.1安全组
安全组起着虚拟防火墙的作用,可控制一个或多个实例的流量。
在启动实例时,需要为实例关联安全组。
为安全组添加规则,规定流入或流出其关联实例的流量。
可以随时修改安全组的规则;新规则会自动应用于与该安全组相关联的所有实例。
在决定是否允许流量到达实例时,平台会应用与实例相关联的安全组中的所有规则。
(安全组相当于虚拟防火墙,保护用户的虚拟机实例安全)
安全组规则可控制允许到达与安全组相关联的实例的入站流量以及允许离开实例的出站流量。
默认情况下,安全组允许所有出站流量.
品高云操作系统为要求实例启动时指定安全组,安全组默认不开通任何规则。
当虚拟机实例要开通端口/协议时,除了虚拟机实例里面打开端口外,还要将实例对应的安全组添加相应的授权规则。
以确保实例的安全。
1.2.2.3.2VPC提供
VirtualPrivateCloud(VPC)是云中与其他虚拟网络隔离的网络环境(一般在品高云操作系统提供公有云模式下会被用到)。
一般情况下云中的虚拟机实例IP是被品高云操作系统自动分配和管理的,但一般大型用户已有IT系统中的IP与网络划分相对成熟,因此希望沿用已有的路由和IP规则,在这种情况下VPC允许网管人员在云中创建一个与客户现有网络更加一致的虚拟网络环境,并且支持通过VPN的方式拨号到VPC网络中,像使用本地网络一样使用云中的资源.
(VPC服务让客户像使用本地网络一样使用云资源)
VPC提供如下灵活的网络功能:
Ø可以自定义网络、选择IP地址范围、创建子网。
Ø可以配置路由表、网络网关和安全设置。
Ø可以为实例添加/减少网卡,网卡可以是同一子网或不同子网.
Ø可以在自己的VPC内启动云资源,例如虚拟机实例。
1.2.2.3.3VPN提供
品高云操作系统提供虚拟路由器功能,通过创建路由器,用户可以获得以下功能:
ØVPN功能
虚拟专用网(VirtualPrivateNetwork,简称VPN),是一种常用于连接中、大型企业或团体与团体间的私人网络的通讯方法。
使用此功能使得你可以将品高公有云中的网络作为企业内网的一部分来看待使用,以更加便利的使用公有云中的资源。
Ø公有IP端口映射
在指定的公有IP带宽足够的情况下,使用此功能,可以使用一个公有IP映射多个虚拟机实例,以节省公有IP的费用。
1.2.2.3.4VNC提供
VNC(VirtualNetworkComputing),为一种使用RFB协议的屏幕画面分享及远程操作软件。
此软件借由网络,可发送键盘与鼠标的动作及实时的屏幕画面,就像一台虚拟的显示器一样。
使用VNC可以做到查看到windows/Linux虚拟服务器的启动过程、远程控制虚拟服务器等.
VNC与操作系统无关,因此可跨平台使用,例如可用Windows连接到某Linux的电脑,反之亦同。
甚至在没有安装客户端程序的电脑中,只要有支持JAVA的浏览器,也可使用.
品高云操作系统为实例提供VNC连接,在没有公有IP的情况下也能访问实例。
1.2.2.3.5SDN网络
BingoSDN遵循的是ONF基金会(opennetworkfoundation)提出的SDN的标准,拥有完成的三层架构,实现严格的集中化控制。
(BingoSDN架构图)
数据层(dataplane)又称快速通道(fastpath):
主要负责匹配OpenFlow规则,执行数据的处理.如无匹配数据,则通过南向接口进行数据信息的反馈(slowpath);
控制层(Controlplane):
分为四大部分,第一部分:
南向接口主要功能接收数据层信息的反馈(slowpath),下发决策(OpenFlowrule);第二部分:
北向接口提供开发的API给上层应用服务;第三部分:
东西向接口这是控制层集群化的数据同步接口;第四部分是内部服务,提供丰富的网络功能;
应用层(appplane):
负责云网络的核心业务,泛指我们的云管理平台提供的控制业务功能.
(数据层networkdevice是基于主流开源软件openvswitch实现,在后文网络拓扑模型中openvswitchbr0即是openvswitch的桥,SDN的核心controller是自主研发,即控制层与应用层是自研的)
SDN网络拓扑模型
BingoSDN支持管理员通过品高云操作系统规划云网络,下发规则保存在自主研发的SDNcontroller中,当有流量进来时,主流开源软件openvswitch的桥通过北向接口询问controller,controller会对应用业务分析,下发流表规则给到openvswitchbr0,然后由桥去匹配流表(flowtable),执行动作,实现整个网络的控制转发。
同时,由于openflow的流表具有很强的灵活性的关系,每个NC可以独立访问外网。
(BingoSDN网络拓扑模型)
BingoSDNcontroller:
主要负责根据业务应用分析,对数据流进行决策,通过openflow协议下发流表规则给到openvswitchbr0处理,以及对openvswitchbr0进行查询监控等功能,并且提供了北向的RESTAPI(开放可调用接口)。
支持集群模式的部署,可部署在集群控制器或节点控制器中,并且可以通过基于同步数据修复和同步负载均衡两种集群调度方法来调度控制节点接管相应的交换机,提高slowpath的处理性能、保证网络的高可用。
如帮助新交换机加入到网络中,能够找到最合适的控制节点,另外当有控制节点宕机时,其接管的交换机能够被其它控制节点妥善接管。
Openvswitchbr0:
是linuxbridge的扩展实现,主要通过北向接口与controller进行交互,匹配流表,执行流表动作(如转发,修改源/目标MAC地址、IP地址、端口号,丢弃等),以及QOS、failmode等网络功能.
流表(Flowtable):
由2个部分组成,第一部分是规则,定义了数据包的匹配项,其中包括:
源mac地址、目标mac地址、以太类型、源IP地址、目标IP地址、网络层协议号、传输层协议号、源端口号、目标端口号、vlan号、arpsendermac、arptargetmac等;第二部分是动作,匹配命中后,openvswitchbr0需要执行的动作,其中包括drop、output、nw_src_mod、nw_dst_mod、dl_src_mod、