写点什么

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

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

关注

评论

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

08 | 栈:如何实现浏览器的前进和后退功能

鲁米

06 | 链表(上):如何实现LRU缓存淘汰算法

鲁米

走进厦航,体验智能会计时代的业财融合

用友BIP

智能会计 业财融合

【FAQ】运动健康服务端侧数据常见问题及解答

HarmonyOS SDK

HMS Core

CnosDB 科技春晚暨CnosDB 2.4.0 Milky Way发布会

CnosDB

开源 时序数据库 CnosDB CnosDB2.4.0发布会

Amazon CodeWhisperer 正式发布可免费供个人使用

亚马逊云科技 (Amazon Web Services)

人工智能 Amazon Lambda 云上探索实验室 Amazon CodeWhisperer Amazon Cloud9

一次讲清楚京东科技百亿级用户画像平台的探索和实践 | 京东云技术团队

京东科技开发者

数据库 Clickhouse 用户画像 用户画像平台

细说GaussDB(DWS)的2种查询优化技术

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 华为云GaussDB(DWS)

2024深圳电子展,加快粤港澳电子信息发展,重点打造湾区经济

AIOTE智博会

电子展 深圳电子展 电子信息展 电博会

DDD学习与感悟——总是觉得自己在CRUD怎么办? | 京东云技术团队

京东科技开发者

架构 DDD 软件设计 curd

【高效视频处理】体验火山引擎多媒体处理框架 BMF

数字扫地僧

BMF

关于Nuxt.js 服务端组件的使用

秃头小帅oi

如何从 Jira 成功迁移到极狐GitLab,看这个就够了!

极狐GitLab

项目管理 DevOps gitlab 敏捷开发

纯CSS实现炫酷背景霓虹灯文字效果

南城FE

CSS 前端 动画 交互设计

三层开发

Geek_8da502

APP开发

JVM C1、C2编译器

FunTester

一键自动修改和翻新OC源码,解决苹果审核4.3和马甲问题

时间序列数据压缩算法简述

CnosDB

开源 时序数据库 CnosDB

Tomcat 配合虚拟线程,一种新的编程体验

越长大越悲伤

Java springboot 虚拟线程

重磅签约!美团携手用友推进数智化升级

用友BIP

企业数智化

京东面试:说说Cookie、Session和Token的区别?

王磊

Java 面试

喜讯!华秋荣获2023中国产业数字化百强榜企业

华秋电子

用友与厦国会联合培训,探索智能会计时代业财融合成功模式

用友BIP

智能会计

服务器集群技术有哪几种类型

Geek_f19a80

服务器

对标世界一流!用友已与74家中央企业达成集团级合作!

用友BIP

深入理解HarmonyOS UIAbility:生命周期、WindowStage与启动模式探析

华为云开发者联盟

鸿蒙 操作系统 华为云 HarmonyOS 华为云开发者联盟

05 | 数组:为什么很多编程语言中数组都从0开始编号

鲁米

拼版不合理案例详解

华秋电子

GPU深度学习性能的三驾马车:Tensor Core、内存带宽与内存层次结构

Baihai IDP

人工智能 程序员 AI gpu LLM

07 | 链表(下):如何轻松写出正确的链表代码?

鲁米

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