【QCon】精华内容上线92%,全面覆盖“人工智能+”的典型案例!>>> 了解详情
写点什么

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:005349
用户头像

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

关注

评论

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

程序员最终会被自己开发的轮子所淘汰吗?

这我可不懂

程序员 低代码 JNPF

10年IT老兵亲述SpringCloud开发从入门到实战文档

程序知音

Java 微服务 java架构 Java进阶 spring-cloud

接口测试

测吧(北京)科技有限公司

测试

项目管理系统Redmine怎么样

PingCode

项目管理 项目管理软件

Prometheus实战-从0构建高可用监控平台(三)

小毛驴的烂笔头

Linux Prometheus

JAVA快速开发框架 一键生成表单模板代码

力软低代码开发平台

Prometheus实战-从0构建高可用监控平台(五)

小毛驴的烂笔头

Linux Prometheus

全新 – Amazon EC2 R6a 实例由第三代 AMD EPYC 处理器提供支持,适用于内存密集型工作负载

亚马逊云科技 (Amazon Web Services)

Amazon EC2

iOS MachineLearning 系列(13)—— 语音与音频相关的AI能力

珲少

mac软件卸载不干净怎么办?

真大的脸盆

Mac Mac 软件 软件卸载工具 卸载软件

什么是点对点传输?什么是点对多传输

镭速

开启数字化,传统工厂该如何布局?

优秀

数字化 数字工厂

阿里云 EMAS & 魔笔:4月产品动态

移动研发平台EMAS

阿里云 DevOps 消息推送 低代码平台 兼容性测试

毕业设计-100w秒杀设计

Sam

架构实战营

锐捷网络,无边光景一时新

脑极体

网络

酷家乐x极盾科技:“智能安全决策平台”助力日均十亿级日志分析

极盾科技

数据安全

JMeter实时性能监控平台实战

测吧(北京)科技有限公司

测试

Django认证系统

测吧(北京)科技有限公司

测试

今日分享丨inBuilder低代码平台有关前端的“道、法、术、器”

inBuilder低代码平台

前端 低代码平台

安卓机上 4G 内存跑 alpaca,欢迎试用轻量级 LLM 模型推理框架 InferLLM

MegEngineBot

开源 大模型 MegEngine LLM

Prometheus实战-从0构建高可用监控平台(四)

小毛驴的烂笔头

Linux Prometheus

如何有效的向 AI 提问 ?

繁依Fanyi

人工智能

重塑财务计划,拥抱全面预算管理的未来

智达方通

业财融合 全面预算管理 财务计划

Alibaba技术官熬夜肝出的,Kafka“限量笔记”牛掰!

程序知音

Java kafka java架构 Java进阶 后端技术

【干货集】PCBA板边器件布局重要性

华秋PCB

工具 电路 PCB 布局 PCB设计

数据标注——数字世界的基石

来自四九城儿

Django笔记二十五之数据库函数之日期函数

Hunter熊

Python django extract trunc

开源工具系列7:Kube-bench

HummerCloud

Kubernetes 云原生安全

数字化管理时代来临,瓴羊Quick BI、帆软Fine BI领跑国产BI市场

对不起该用户已成仙‖

软件测试 | 编程语言中的Interface

测吧(北京)科技有限公司

测试

Fabarta 与青岛市城阳区政府达成战略合作,共同推动区域数据要素市场建设

Fabarta

数据挖掘 数据要素 数据资产管理 图智能 数据要素流通

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