容器定义存储(CDS)—存储技术的“瘦身”革命

Gossip Protocol的通信方式类似流言传播,每个节点状态的变化和更新,立即通过一传十,十传百的方式在集群内广播,而不是由某几个节点逐一传递,所以通信效率非常高效。

为了让存储能感知容器,存储调度也需和容器引擎集成,随着应用软件向更为面向服务的体系结构演进,应用软件的业务流程和调度也发生了变化。我们不再需要手动管理进程,而是自动实现软件的启动、停止和生命周期管理,对软件的运行和SLA需求也要实现自动化。这就要现代流行的调度器来完成,如Mesosphere,Kubernetes,Swarm,Spark等。

容器定义存储(CDS)—存储技术的“瘦身”革命

新的应用架构都是深度集成这些容器调度器,DevOps开发团队的工作也是基于容器调度器和编排工具进行,所以,对软件定义存储,容器定义存储等基层设施层来说,就可以直接跟这些调度或业务编排层实现集成。这对数据中心实现“轻量化”来说,也变得比较迫切。

容器定义存储(CDS)—存储技术的“瘦身”革命

容器在单个操作系统运行多个应用,由于它的轻量特性也给应用部署带来很多优势,如占用资源少、启动快、容易部署等,其高效率也意味着数据中心需要较少的硬件和物理空间开销,Docker也是因为开源和强大生态而被全球范围内的企业拥抱。但是容器的应用还是局限在公有云、网站、无状态的应用,还没有大规模进入到数据中心主要业务。一个主要原因是现有容器是基于无状态业务进行优化,到目前为止,还没有健壮和易管理的方法存放有状态的数据,这也跟容器每次访问完后就终止进程的架构有关。

分布式扩展存储架构在设计时,就需要考虑如何以面向服务的数据中心提供不同的存储类型。 面对服务访问所需的多进程、多volume、高吞吐量等诉求时,存储需要从许多运行在不同机器的节点,提供一致的存储服务访问。有时这些容器甚至运行在云上或其他数据中心。面向服务的应用类型包括了:

无状态服务: 这些通常是短暂的计算作业,他们依靠一些其他状态的服务实现具体业务。

状态数据库服务: 这些通常需要块存储或非共享存储访问。