由于传统的通用数据中心架构对计算与存储的紧耦合组织已经不能满足新型应用在计算性能、数据访存、资源合理利用、成本以及可扩展性等方面的差异化需求,所以,实现计算与存储的物理分离和逻辑融合成为了未来数据中心设计的一大重点。这一新趋势,已经在工业界得到了初步验证,例如,无服务器(serverless computing)架构凭借其高性价比、高伸缩性与敏捷开发的优势,近年来获得了学术界与工业界的广泛关注。在无服务器计算架构中,计算任务的执行与数据的持久化存储在物理上被分离开。以亚马逊云服务(AWS)为例,Lambda服务提供云函数服务,负责计算任务的调度、执行与扩展;而持久化数据的海量存储,则可通过S3与DynamoDB等对象存储服务与键值存储服务得到保证。在计算与存储分离之后,平台管理者可以针对每一种资源进行有针对性的统一调度与管理,从而提高各种资源的利用率、节省空间成本与能耗开销。同时,平台使用者也可以节约大量管理服务器的时间精力、提高研发效率。
而另一方面,随着智能网卡、低延迟网络、NVMe SSDs、NVMe over Fabrics等高性能硬件以及底层通信协议的出现和发展,数据中心内部的本地数据获取和远程访问之间的性能差距变得越来越小。同时,LegoOs的提出也为进一步设计计算、内存和存储相分离的未来数据中心带来了新的思考。然而,如何利用这些新兴技术实现一个计算、内存和存储分离的高性能数据中心,对现有存储系统带来很多挑战。当前数据中心采用的仍然是直连式存储(Direct-Attached Storage,DAS),该方式虽然结构简单,但其与CPU的紧耦合组织大大降低了资源利用率。我们需要将存储资源从计算节点中剥离出来,整合并形成独立的、支持低延迟高吞吐的存储系统。因此,设计全新的存储方案是当前亟待解决的一个问题。
随着计算机软硬件和用户需求的发展,数据中心对于计算和存储资源的需求也越来越高,计算和存储集成在一个服务器的资源分配机制已经无法满足用户的使用需求。比如,广泛的数据中心应用在服务性能和存储成本之间有着截然不同的取舍。根据实时数据的访存情况,权衡代价进行层次化(tiered)存储成为了趋势。然而,传统的部署方式已经难以满足层次化存储对自动扩展、高效性的要求。近年来,得益于数据中心内高速网卡和互联网络的普及,网络访问存储带来的额外开销变得可以接受,从而促进了计算与存储分离架构的演进和发展。计算存储分离是更高级别的资源虚拟和融合的思想,这种架构将存储能力和计算能力分开,各自服务化,通过高速网络连接,上层计算对数据的访问过程是透明的。与传统的存储计算耦合部署模型相比,分离架构有以下优势:
1.对于不同类型的集群,可以针对性地部署更加合适的服务器;
2.计算和存储可以分别按需进行扩展,而不是一起扩展;
3.不同集群可以有不同的升级周期;
4.划分了运维职责,更加便于管理;
5.提高了资源利用率,降低了能耗开销。
国内外厂商在计算与存储分离方面已经有了较多的实践。早在2006年,亚马逊公司便推出了对象存储服务Amazon Simple Storage Service(Amazon S3),通过提供RESTful API让用户方便地使用该服务,并提供了基于无服务架构的查询服务Amazon Athena,对存储在S3上的数据进行SQL分析。同时,该公司的云大数据平台Amazon Elastic MapReduce(Amazon EMR)也为用户提供了将计算层与存储层分离的方法,使用户能弹性改变自己的资源需求并节省成本。国内厂商在此方面也迈出了向前的脚步。例如,阿里巴巴公司开发了面向云数据库的分布式文件系统PolarFS,将其与该公司研发的PolarDB配合使用,可将计算资源与存储资源分离,在低延迟、高可用方面取得了进步。
2012年,在云计算和硬件技术不断发展的基础上,威睿公司(VMware)提出了软件定义数据中心(SDDC)和软件定义存储(SDS)的概念,这些概念在随后的实践中不断被发展完善。软件定义将硬件资源抽象化,使得存储和计算等资源能够方便地被用户管理和使用。IBM公司则将软件定义存储的思想用在了该公司的Hadoop中,为用户提供弹性服务;StoneFly利用其存储虚拟化方案StoneFusion来存储与管理PB级的企业数据。
相关标签: