高校软件定义数据中心建设与优化策略研究
2019-09-03孟凡立
孟凡立
摘 要:服务器虚拟化技术实现了服务器硬件与软件的解耦,在降低管理难度的同时大幅提升了服务器的利用效率和运行质量,但目前高校数据中心网络、存储整体虚拟化进展较慢,网络、存储资源与硬件紧耦合,应用系统受限于硬件性能及可靠性,造成数据中心运维、管理复杂,资源利用率低,维护成本高。本文对软件定义网络、软件定义存储及虚拟化等相关技术在数据中心的应用进行了深入分析,提出了一套通过SDN架构对传统数据中心进行优化的建设方案,该方案通过软件配置的方式对数据中心进行管理,实现了数据中心计算、网络和存储资源与硬件的彻底分离,有效提升了基础设施利用率,推动数据中心向自动化和智能化方向演进,支撑和加速高校各类业务的快速部署和发展。
关键词:软件定义数据中心;数据中心;智慧校园;软件定义网络
中圖分类号:G40-057 文献标志码:A 文章编号:1673-8454(2019)15-0080-05
一、引言
传统数据中心物理、逻辑架构复杂,业务与基础设施紧密关联,灵活性差,应用系统运行维护严重受制于硬件,造成数据中心的运行、维护和管理复杂,硬件资源利用率低,TCO(Total Cost of Ownership,总拥有成本)过高。随着数据中心规模的不断扩展,越来越多的业务、功能和协议在网络上进行叠加,网络设备越来越多,设备类型不断增加,安全策略也越来越庞大和复杂,网络管理变得更加繁琐,极大地增加了数据中心运维的难度,延缓了数据中心服务上线时间。近年来,随着云操作系统、虚拟化、软件定义网络、超融合等技术在高校数据中心的应用,数据中心的建设质量与运行管理水平有效提升,推动高校数据中心向全软件定义的数据中心演进。“软件定义”技术从最初的软件定义网络(Software Defined Network,SDN)开始,逐步发展到软件定义存储(Software Defined Storage,SDS)和软件定义数据中心(Software Defined Data Center,SDDC)[1]。软件定义数据中心通过软件将数据中心的计算、存储、网络、安全等重要基本构建模块虚拟化,并将各种不同的物理平台转变为可以通过软件整合成统一管理的单一实体。
SDDC概念最早于2012年由VMware首先提出,通过软件的方式实现了整个数据中心内部基础设施资源的抽象、池化、部署和管理,满足了定制化、个性化的应用和业务需求,在数据中心层面为智慧校园提供了强有力的资源支撑[2]。软件定义数据中心彻底改变了IT(Information Technology,信息技术)服务的交付方式,IT资源以完整的数据中心服务形式进行快速交付,包括计算资源、网络资源、存储资源、安全服务等。软件定义数据中心用户从申请到获得服务的时间从原来的几天甚至几个月,缩减到几分钟就可以获取到按需定制的个性化数据中心服务,根据用户需要可以提供不同等级、成本的服务。在软件定义数据中心中,数据中心核心基础设施都完成了虚拟化,能以服务的形式交付,并由软件来控制,这是一种高灵活性、高弹性、高可扩展性和高安全性的数据中心模式,被越来越多的高校认可。
二、高校数据中心建设面临的问题
目前多数高校已经完成了服务器虚拟化工作,通过在传统物理服务器上安装虚拟化管理软件,将服务器的CPU、内存和硬盘等资源通过虚拟化管理软件提供给操作系统,一台物理服务器上可以运行多个操作系统,一个操作系统也可以调用多台物理服务器的资源。虚拟化技术使传统物理架构在数据中心建设中陆续被虚拟化架构替代,通过虚拟化技术实现了资源的动态分配和服务的高可用性,大幅提升了数据中心管理效率,降低了运维成本,很多高校一个技术人员可以管理维护几百台虚拟机,这在数据中心全面虚拟化之前是不可能完成的任务。随着智慧校园的建设,数据中心规模不断扩大,因为所有虚拟机的存储全部来自于集中式存储,其性能受集中式存储控制器数量的影响,不可能随着应用需求的扩展而线性增加。由于数据无法快捷地在不同存储设备之间进行迁移,无法有效解决存储设备的性能孤岛和数据孤岛问题,从而严重影响了数据中心的可扩展性和安全性,当存储设备发生故障时,数据中心的所有服务将全部停止工作。另外,由于应用、服务器、网络和存储是分离的,造成多个系统管理员分别管理,无法通力合作,运维和管理效率低下。
高校数据中心资源利用率低的问题随着服务器的虚拟化得到了一定改善,但大量数据中心的服务器、存储利用率仍然长期停留在25%以下,而全球数据中心服务器的平均利用率仅为15%[3]。仅实现服务器虚拟化,数据中心的交换机、存储、安全等设备没有实现虚拟化,系统内部硬件资源的负载很不均衡,由于各种设备之间处于隔离状态,资源无法在设备之间流动,造成资源分布、使用不均衡,利用率低。通过服务器虚拟化,计算资源实现了动态调度,服务器硬件利用率得到了一定提升,但是由于资源调度的过程中需要使用大量资源,虚拟机迁移时间较长,存储、网络等资源无法有效共享,无法有效支撑计算资源的灵活调度,从而无法实现整个数据中心资源的灵活调度。另外,随着高校智慧校园建设要求的不断提高,数据中心的性能、扩展能力和可靠性都受到了严峻挑战,受CPU(Central Processing Unit,中央处理器)协同工作机制、集中存储的IOPS(Input Output Operations Per Second,每秒输入输出量)性能瓶颈等因素影响,在现有架构下,计算性能不可能无限扩充,为了获取更高的计算能力,只能使用更多的设备借助交换机进行连接,从而达到扩展系统能力的目的。由于设备之间的网络传输能力比设备内部数据总线传输能力低,网络协议也更为复杂,导致数据传输效率更低,为了提升数据中心设备的利用率,通过基于集中式存储架构的虚拟化数据中心解决方案已不能解决数据中心目前面临的问题,必须对数据中心整体架构进行调整,才能满足目前智慧校园建设的新需求。
三、软件定义数据中心的关键环节
软件定义数据中心把传统数据中心的硬件资源进行虚拟化和软件化,数据中心的计算、网络、存储、管理、安全等资源都可以通过软件进行定义,从而实现更加灵活配置的动态架构,同时可以通过丰富的应用程序编程接口(Application Programming Interface,API)对外提供服务[2]。软件定义数据中心相较传统虚拟化架构主要变化体现在,网络、存储系统结构由软硬件一体变为软硬件分离,由于网络和存储方式的调整,在带来诸多便利的同时也出现了一些新的问题和挑战,主要是软件定义网络、存储的实现以及各类资源在数据中心灵活调度的实现方式。
1.软件定义网络
随着数据中心流量的急剧增长,传统数据中心网络灵活性差、运行效率低、链路利用率低、负载均衡困难、易拥塞等问题愈发明显,SDN技术的出现为数据中心解决网络当前所面临的问题提供了一个有效解决方案。互联网在最初设计时,为了提升整个网络的健壮性,避免因单点故障导致整个网络大面积瘫痪,采用了去中心化、分布式控制的设计理念,网络设备的控制功能和转发功能是紧密耦合的,控制和转发通过同一个网络设备实现,这种实现方式大幅提升了网络整体的可靠性,单台或局部设备停止工作不会对整个网络的运行造成严重影响。高校为了面向校内用户提供私有云计算服务,需要更为灵活、高效的网络支撑,数据中心对其内部的网络体系提出了新要求[4]。为解决这一系列问题,Mckeown教授于2009年提出了软件定义网络的概念,计划通过分离转发和控制层来改善网络僵化的问题[5]。软件定义网络可以有效解决传统网络过于依赖设备供应厂商所造成的管理成本高、维护工作量大、扩展升级困难等问题,有效满足了智慧校园对数据中心资源快速调度的需求。
软件定义网络目前受到广泛认可的是ONF提出的SDN模型,数据中心内部网络被分成转发、控制和应用三个层级,该模型将控制功能从所有交换机中独立出来,交换机只负责转发,原来交换机的控制功能移交给控制层的控制器,通过控制器对整个网络进行集中管理,控制功能的独立与集中是实现软件定义网络的关键环节。分层的架构使网络具有更为灵活和细粒度的控制能力,数据中心能够实时优化、控制整个网络的流量,SDN网络结构见图1。SDN控制器集中对物理交换机、虚拟交换机进行管理,在软件定义网络中交换机仅具备转发功能,而原来交换机负责的转发规则交由控制器进行管理,控制能力的移交实现了控制功能与转发功能的分离。转发层中的设备是网络数据传输的载体,它根据控制層给其下达的指令进行网络数据包的转发,执行网络数据包转发的载体可以是物理交换机,也可以虚拟交换机软件。在软件定义网络的数据中心环境下,数据中心需要的仅仅是高性能网络交换设备,甚至是纯二层无路由功能的交换机就可以满足需要,很大程度上降低了网络的复杂度和对网络设备功能的要求。应用层负责对网络数据进行分析和处理,指导底层设备控制流量转发,从而实现路由、网关等各类网络基础功能。根据数据中心服务管理需要,可以开发流量控制、网络服务质量保障、组播、网络接入控制、网络安全策略等应用。通过软件对网络进行调度可以更好地开展数据可视化、网络运行状态分析等工作,为数据中心网络优化和管理水平提升提供有效的途径。
SDN网络可编程、动态扩展的特点,对数据中心服务器、存储的建设与管理方式产生了深远影响。SDN控制和转发相互分离以后,承载控制功能的控制器成为了整个网络的核心,控制器放置位置的不同明显会影响到整个网络的性能,这不仅是SDN应用到数据中心时需要面临的首要问题,还是一个软件定义网络自身面临的关键性的问题,SDN网络仍然处于发展期,部分技术细节还不够成熟,在实施过程中应根据应用环境来进行选择。
2.软件定义存储
多数高校以前端服务器加后端集中共享存储的模式,对数据中心服务器进行了虚拟化,随着虚拟机数量的增加,普遍存在服务器计算、内存资源还有富余的情况,使存储系统的性能、空间首先达到瓶颈,导致虚拟机的运行受到影响,其实,存储的采购、实施以及后续的管理都比较复杂。近几年,软件定义存储开始从概念走向实质,软件定义存储的目标是将存储应用程序与物理的数据存储基础设施分离,实现存储资源的灵活分配,软件定义存储允许用户自主创建数据中心存储系统,用户可自由选择硬件供应商,并通过软件自主创建解决方案。传统存储以硬件为核心,软件定义存储以工作负载为核心,软件定义存储改变了存储资源的提供方式,容量可以根据用户对性能、空间以及可靠性的要求按需提供。软件定义存储实现了软件与硬件的隔离以及异构平台的有效共享,与传统的存储虚拟化有本质区别,它既支持通用硬件,也支持专用硬件的特殊功用,适用于几乎所有横向扩展的存储[6]。通过对异构存储资源的统一资源池化管理,支持存储和数据服务的按需线性分批建设,管理员设置存储和数据服务的管理策略,通过丰富的自助服务接口向虚拟机提供资源,从而实现了存储和数据服务的解聚。
超融合架构的出现,为数据中心及存储系统全面虚拟化提供了理想的技术解决方案。超融合架构目前有两种解决方案:第一种是使用软、硬件一体的超融合设备,就是在单个机箱内提供完整的虚拟机平台解决方案,实质就是一个部署了多个虚拟管理程序的商用X86服务器,并利用相关软件将本地存储汇聚到一个大的共享池里,供虚拟机使用;第二种方案就是通过纯软件的方式实现,软件定义存储可以更好地实现整个数据中心资源的自动化。数据中心仅仅实现存储虚拟化,存储很难与服务器、网络以及数据中心其他资源协同工作,只有实现数据中心整体虚拟化,才可能实现数据中心计算、网络、存储和安全资源的协同工作。通过超融合架构建设的分布式存储系统,可以使虚拟机快捷地从一台服务器在线迁移到平台内的任一台服务器,这能有效提升数据中心的容灾能力。超融合架构下软件定义存储的结构如图2所示。
3.虚拟机迁移
为了实现数据中心的管理和优化,需要不断对软件定义的数据中心进行资源分配、资源优化、设备更新和负载均衡等操作,这需要虚拟机从工作服务器迁移到目的服务器。实时虚拟机迁移有利于实现网络优化和管理目标,为了保证业务的连续性需要在迁移过程中不中断正在运行的服务,通过虚拟机实时迁移技术,可以在虚拟数据中心实现这些目标,但是虚拟机迁移仍然可能对网络或服务性能产生影响。主要原因是在执行虚拟机迁移操作时,工作主机和目的主机上需要消耗大量的计算资源,这肯定会对其他共享这台物理机的虚拟机性能产生影响。多台虚拟机共享一台物理主机时,每台虚拟机都没有独立的计算资源,虚拟机管理平台无法保证每台虚拟机有效的性能独立。当进行大规模的虚拟机迁移时,迁移过程可能会使用承载了关键服务的链路来传输迁移数据,从而导致网络拥堵、延迟甚至数据包丢失。总迁移时间和停机时间是评估实时虚拟机迁移性能的两个重要指标,迁移持续时间过长可能会影响数据中心为用户分配新的虚拟机,或者导致延迟资源分配。在迁移过程,虚拟机也会经历不可忽略的停机时间。为了有效地进行虚拟机迁移,减少总迁移时间,提升服务性能,可以通过基于分组的启发式算法(grouping-based heuristic algorithm,GBHA)进行迁移,算法通过计算每个分组的虚拟机对其他虚拟机迁移时间的累积影响,通过数据中心软件管理平台及时优化调整分配有限的计算、网络带宽等资源,找到最优的迁移方案,从而在满足依赖关系和性能要求的前提下,解决大规模迁移触发时的迁移规划问题,减少虚拟机的总迁移时间。
4.软件定义计算
服务器虚拟化是SDC的核心技术之一,目前多数高校已完成了服务器的虚拟化工作,有效提升了服务器的使用率,服务器的管理更为高效,运行质量也得到了一定提升。服务器虚拟化后,通过虚拟化管理平台软件可以对计算机资源进行高效调度管理,实现了通过软件对计算机资源的管理,是软件定义数据中心中最早开展也是最为成熟的一个环节。
5.软件管理平台
软件管理平台是整个软件定义数据中心的调度中心,负责将计算、存储、网络、安全等资源根据软件设置的策略进行自动化调度与统一管理、编排和监控,同时根据用户需求形成不同层次的服务以及资源量化统计能力。数据中心软件管理平台主要包括资源管理、服务管理和运维管理三个主要功能模块。目前VMware、Amazon和Microsoft等公司已经开始提供比较成熟的虚拟化数据中心管理平台,另外OpenStack等开源软件也得到了较为广泛的应用,开源的SDDC管理平台软件具有较好的开放性和兼容性,但后期维护升级服务的可持续性存在一定的风险,管理平台是数据中心的核心,其稳定性决定了数据中心整体运行情况,建议优先考虑商业化的成熟方案。
四、软件定义数据中心的优化与提升
软件定义数据中心实现了对资源的动态调配,有效提升了资源利用率,通过软件集中管理使运维难度和管理成本进一步降低。相较传统虚拟化数据中心,软件定义数据中心在灵活性、安全性、稳定性和整体效能方面都有明显的提升空间。
1.灵活性
软件定义数据中心实现了计算、存储和网络资源的池化,可以根据业务类型,将数据中心划分为多个VDC(Virtual Data Center,虚拟数据中心),对不同业务网络进行有效隔离,由软件定义数据中心管理系统直接配置底层的硬件设备实现,以提供不同业务之间的完全隔离,相较于传统网络操作更为简便,实现更为快速,数据中心灵活性得到大幅提升,VDC数据中心结构如图3所示。在软件定义数据中心环境下,计算、存储、网络资源全部实现了虚拟化,形成了资源池,资源的分配、回收、优化更为灵活。同时SDDC为大规模的网络自动化带来了新的机遇,数据中心整体虚拟化后,通过硬件与软件的解耦,高校可以有效提高业务的敏捷性,业务部署更加快速,管理、维护更为灵活方便,用户体验更好。
2.安全性
在没有实现整体虚拟化时,如果数据中心内部一个业务系统被黑客攻破,数据中心所有业务都会暴露在被攻破的系统中,因为传统的安全产品部署在数据中心的出口,数据中心内部各业务系统之间很难实现完全隔离。常见的做法是让所有网络流量必须从数据中心流出到安全设备,经过安全设备检测后再回到数据中心,不论流量的交互方是否在同一台物理主机内,这导致数据网络路由并不是最优路径,在降低效率的同时消耗了大量数据中心资源。实现数据中心整体虚拟化后,通过数据中心软件管理平台,可以对各业务系统的网络实施更精细化的控制,实现数据中心内部所有虚拟机的隔离,虚拟机之间必须经过数据中心管理平台允许,才可以交互数据,从而进一步提升了数据中心内部的网络安全性。另外通过VDC技术将数据中心按业务类别和安全等级可以划分为几个虚拟的数据中心,实现数据在多个层面的完全隔离,大幅提升了数据的安全性。
3.稳定性
随着智慧校园的建设,数据中心规模不断增大,学校对业务的可靠性提出了更高的要求。为了提高数据中心运行的可靠性,除了提升系统本身的健壮性外,当前主流做法是通过负载均衡的方式实现业务系统双活部署。传统网络的分布式架构使得负载均衡技术难以满足低成本、高灵活性、自适应调整的要求,SDN数据中心可以根据路径当前负载状况和链路负载波动为路径设置一个权重,并以此作为路径选择依据,针对需要调度的网络流量,设置流量阈值,从而保证了高效的网络流量调度[7]。在软件定义数据中心中,所有流量通过集中的控制器进行调度,因此可以更为方便、快捷地掌握服务和网络整体运行状态,从而可以根据各链路及服务的负载和运行情况引导网络数据包的转发,集中的控制器通过算法就能完成传统负载均衡设备的所有功能,有效提升了数据中心整体运行质量和可靠性。通过对容易引起网络拥塞的高并发负载进行调度,将高负载应用、链路的数据转移到低负载设备,以降低最大负载,并使整个数据中心的负载更加均衡。
4.效率
软件定义数据中心能够缩短服务部署的时间,应用程序的部署不再需要几个星期,仅需几分钟,服务及其配套的网络资源、存储资源和安全政策都可以部署到位。通过API驱动的虚拟化可实现数据中心环境完全自动化,软件定义数据中心能够提供更为全面的应用环境。和数据中心管理人员现在配置虚拟机一样,在软件定义数据中心中,计算、网络、存储和安全都可以在集中的软件管理平台上通过软件设置来实现,因此,数据中心管理中员不仅可以进行自助快速配置,还能获取数据中心必需的业务连续性、实施效率和控制能力。
5.优化情况
通过软件定义数据中心架构对传统虚拟化数据中心进行改造后,数据中心在服务器利用率、交换机利用率、能耗、稳定性、安全性、存储利用率、可用性和可扩展性等方面都得到了明显的提升,优化前后的对比情况见图4。
五、结束语
本文在数据中心整体虚拟化的基础上实现了软件定義数据中心,很好地支持了基础设施云中的计算、存储、网络、安全资源的池化和弹性调度。从技术角度来说,软件定义数据中心的本质是通过软件定义计算、存储、网络和安全资源,并以API接口的方式对外提供服务。同服务器虚拟化一样,软件定义网络、软件定义存储以及软件定义的其他IT资源,整合形成了软件定义数据中心,对高校整体IT基础设施带来明显变化,并进而对构建在其基础上的应用、数据和服务产生了深远影响。因此需要高校从整体架构层面做好规划和设计,确保软件定义数据中心实施的有序、高效。
参考文献:
[1]DarabsehA,AI-Ayyoub,JararwehY,et al.SDDC:asoftwaredefineddatacenterexperimentalframework[C].Future Interne to f Thing sand Cloud(Fi Cloud),20153rdInternationalConferenceon.IEEE,2015:189-194.
[2]陈楠.软件定义数据中心的关键技术与应用[N].人民邮电,2015-09-17.
[3]王恩东,陈继承等.SADC:融合架构智能数据中心[J].小型微型计算机系统,2017(9):2072-2079.
[4]朱科融,面向软件定义数据中心的故障检测与恢复技术研究[D].成都:西南交通大学,2017.
[5]McKeown N, Anderson T, Balakrishnan H, et al. OpenFlow: Enabling Innovation in Campus Networks[J]. ACM SIGCOMM Computer Communication Review. ACM, 2008,38(2): 69-74.
[6]胡馨元.浅析软件定义存储与数字化医院基础架构演进[J].信息安全与技术,2015(7):94-96.
[7]樊自甫,张丹等.基于软件定义网络的数据中心网络负载均衡算法研究[J].计算机工程与科学,2018(6):1017-1022
(编辑:王晓明)