写点什么

CoreOS 为 Kubernetes 量身打造分布式存储方案 Torus

  • 2016-06-07
  • 本文字数:2151 字

    阅读完需:约 7 分钟

近日,CoreOS 在 GitHub 上基于 Apache 2.0 许可证协议开源了它们的分布式存储系统 Torus。Torus 是一种针对容器集群量身打造的存储系统,可以为通过 Kubernetes 编排和管理的容器集群提供可靠可扩展的存储。这是继 etcd rkt flannel ,以及 CoreOS Linux 之后 CoreOS 发布的另一个开源产品。

分布式系统的过去、现在和将来

分布式系统为物联网的安全可靠运行奠定了基础。通过模块化的方式进行构建,在工作负载增加的时候进行扩展,同时确保简单易用,并使得不同模块能够与其他组件相互配合,这样的做法解决了大规模环境中计算领域曾经面临过的不少挑战。

容器技术一经推出就获得了用户的普遍认可,然而在部署容器集群的过程中,很多用户都在头疼一个问题:

  • 如何将容器运行过程中访问的数据固定存储起来?
  • 如何用一种能够让开发者在任何环境中顺利使用的方式存储这些信息?
  • 随着使用过程中容器集群不断缩放和扩展,怎样保证这些数据的一致性和固定性?

绝大部分容器集群依然可以使用传统存储,然而这类系统并非针对容器这种新技术量身打造的,这样的使用不仅会遇到很多技术困难,同时也需要付出极高的成本。

在设计上,传统分布式存储系统主要适用于由大型计算机组成的小规模集群,而非使用廉价小型计算机组成的大规模集群,后者才是容器世界中最常用的。此外传统商用分布式存储系统通常需要使用昂贵甚至定制的软硬件,抛开价格不谈,这类系统很难与新兴的工具和使用模式进行集成。随着使用时间的延长,这类系统升级、许可,以及维护的成本也将日益增加。

此时只能通过某种全新的解决方案为容器集群提供存储。

CoreOS 最近发布的开源分布式存储系统 Torus,在设计上可以为通过 Kubernetes 编排和管理的容器集群提供可靠可扩展的存储。

Torus 的架构

现代化集群的存储必须在网络端维持统一的可用性,随着数据在不同容器中处理还需要管理访问并保障一致性,就算只是在一个应用程序内部使用,随着应用版本的增长也需要做到这几方面。

Torus 在架构的设计上通过下列几个特性解决了这些问题:

  • 扩展性:与 etcd 类似,Torus 也是一种构建块,可以实现包括分布式块设备(Distributed block device)或大型对象存储在内不同类型的存储。Torus 使用 Go 语言编写并使用 gRPC 协议,用户可以方便地用任何语言创建 Torus 客户端。
  • 易用性:专门针对集群和 Kubernetes 等集群流程平台(Cluster orchestration platform)设计的 Torus 可用简单的方法部署和运维,并可随时缩放。
  • 准确性:Torus 使用 etcd 分布式键值数据库存储并检索文件或对象元数据。etcd 为必须快速可靠执行的分布式系统核心运作提供了一个坚实、经得起考验的基础。
  • 缩放性:Torus 目前可缩放至数百个节点,并可将多个共用磁盘以单一存储池的方式使用。

Torus 的核心是一个将接口以传统文件方式呈现的库,这个库使得存储系统能够顺利实现易于理解的基本文件操作。借助 etdc 的一致过程(consensus process)进行协调和检查点操作,这个分布式文件可以通过多种方式暴露给用户的应用程序。目前 Torus 支持通过网络块设备(Network Block Device,NBD)将这个文件以面向块(Block-oriented)的存储进行暴露。

Torus 为 Kubernetes 的 pod 提供了简单的固定存储

这样的设计还可在不远的未来支持加密和高效率的 Reed-Solomon 纠错功能,借此为整个系统提供更有保障的数据有效性和保密性。

Torus 可通过 Kubernetes 部署和管理。目前首发的 Torus 包含用于在任何 Kubernetes 集群上以应用程序方式配置和运行 Torus 的 Kubernetes 清单。这使得 Torus 的安装、管理和升级变成一种简单,完全在云端完成的操作。

据 CoreOS 介绍,该公司计划在未来让对象存储等其他存储系统也能基于 Torus 实现,通过这些分布式文件创建集合,并由 etcd 负责协调。

Torus 的前景如何?毕竟开源的分布式存储系统还有很多,例如 Ceph、GlusterFS 等,但这些系统都是针对传统基础结构设计的,有别于 Torus 这一业界首个主要以容器为中心的分布式存储平台。如果 Torus 能够按照 CoreOS 的规划继续完善,IT 管理员很可能会将其视作一种更为优雅和成熟,专门针对容器打造的固定存储解决方案。

若想尝试和体验该产品,可按照这里提供的指南开始运行第一个Torus 集群。

社区反馈

Torus 发布后获得了大量社区成员的关注,大家都对这种全新的分布式存储系统表示出巨大的兴趣。同时该项目的相关工作人员也对此发表了自己的看法。

CoreOS 产品主管 Wei Dang 表示:“我们听到 Kubernetes 用户说现有的存储系统有些难用,希望 Torus 的使用能简单一些。Torus 可通过 Kubernetes 部署到容器内部运行,能够为多个微服务工作负载提供一个统一的分布式存储集群。”

分布式系统工程师兼 Go kit 创始人 Peter Bourgon 认为:“分布式存储一直被视作云原生应用程序难以解决的问题,我对于 Torus 的潜力感到很满意,很希望知道 CoreOS 和这个社区最终将取得怎样的辉煌成果!”

Twitter 用户 Barak Michener(@barakmich) 则认为:“Torus 的开发已经有段时间了,特别感谢 @coreoslinux 给我提供了这次机会以及 @packethost 对我的帮助,当然,还要感谢我的测试平台。”


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-06-07 19:006850
用户头像

发布了 283 篇内容, 共 116.3 次阅读, 收获喜欢 62 次。

关注

评论

发布
暂无评论
发现更多内容

【数据库】查询优化之子连接优化

恒生LIGHT云社区

数据库 sql SQL子查询 子查询

澳鹏中国智能可配置工作流(Workflow 2.0)全新升级

澳鹏Appen

人工智能 工作流 workflow 数据标注 训练数据

不会一致性hash算法,劝你简历别写搞过负载均衡

程序员小富

Java 面试 算法 架构设计 一致性算法

有关 TiDB 升级的二三事——教你如何快乐升级

PingCAP

MASA Framework - 整体设计思路

MASA技术团队

C# .net 框架 Framework dapr

大数据开发之Spark SQL 的 Catalyst介绍

@零度

大数据 spark SQL

网易云信又双叒受到Gartner关注,看看这次的报告说了什么?

网易云信

Gartner 通信平台 CPaaS

为企业选择合适的CRM系统的技巧

低代码小观

CRM 客户关系管理 CRM系统 客户关系管理系统 企业管理软件

如何高效上架HarmonyOS原子化服务?这个平台帮你搞定!

HarmonyOS开发者

HarmonyOS

前端开发之jQuery的常用方法

@零度

jquery 前端开发

极客星球 | MobPush之FCM离线消息解密

MobTech袤博科技

FCM 离线消息

星环科技AIoT平台让工业制造设备更智能、更耐用

星环科技

【有奖评测】无影云电脑评测征集令,晒出评测赢万元豪礼

阿里云弹性计算

阿里云 无影云电脑 征文活动

盘点 2022 云原生实战峰会重磅发布

阿里巴巴云原生

阿里云 开源 容器 云原生

使用 Visual Studio Code 编写和激活 ABAP 代码

汪子熙

vscode abap 1月月更 vs-code

Android技术分享| Android WebRTC 对 AudioRecord 的使用

anyRTC开发者

android 音视频 WebRTC 移动开发 AudioRecord

【分布式技术专题】「Zookeeper系列」为大家介绍一下Zookeeper的"开发伴侣"—Curator-Framework(基础篇)

码界西柚

zookeeper curator 1月月更 CuratorFramework

【分布式技术专题】「Zookeeper系列」为大家介绍一下 Zookeeper 的"开发伴侣"—Curator-Framework(组件篇)

码界西柚

zookeeper ZooKeeper原理 1月月更 Curator-Framework

今儿新学会一个写日志技能:双缓冲机制

华为云开发者联盟

线程 日志 应用程序 双缓冲区 Web程序

数据库审计设备选择哪家好?谁能告知?

行云管家

数据库 服务器 数据库审计

人员流动大,简历管理纷杂怎么办?用低代码可以解决嘛?

优秀

低代码

深度解读企业云上办公利器「无影云电脑」

阿里云弹性计算

阿里云 无影云电脑

Apache 基金会年度报告 | ShardingSphere 代码提交量位列前十

SphereEx

数据库 开源 基金会 ShardingSphere SphereEx

大数据实践:数据指标中心的建设思路

五分钟学大数据

大数据 1月月更

main函数你到底知道多少

恒生LIGHT云社区

后端 开发 Java’ main方法

java开发之SpringBoot实现自动执行代码

@零度

JAVA开发 springboot

【堡垒机】2022年企业买堡垒机就选行云管家!五大优点看这里!

行云管家

等保 堡垒机 过等保 等保2.0

【伙伴故事】智慧厨电接入华为云+HarmonyOS,你的未来厨房长这样

华为云开发者联盟

华为云 HarmonyOS iotda 智慧厨电 厨房

rosdep update遇到ERROR: error loading sources list: The read operation timed out问题

Ayosh

ROS

恒源云(GPUSHARE)_CV领域有关【直方图】的论文小记

恒源云

深度学习 CV

12月发布两大特别专区!一图了解龙蜥社区大事件

OpenAnolis小助手

开源 操作系统 运营

CoreOS为Kubernetes量身打造分布式存储方案Torus_语言 & 开发_大愚若智_InfoQ精选文章