近日,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对我的帮助,当然,还要感谢我的测试平台。”

细说云计算

ID:CloudNote

▲长按二维码识别关注

探讨云计算的一切,

有干货,也有闲聊。

Torus:为Kubernetes量身打造的分布式存储方案相关推荐

  1. 如何为企业量身打造一套高可用系统?

    对于用户量较大的系统以及系统稳定性要求极高的企业,每一次计划外的系统停机都是严重事故.想要降低计划外系统停机的概率,有两个关键动作,一是执行计划内维护来及时更新硬件或者软件,另外一个有效的动作就是搭建 ...

  2. 小别墅样式_6款三层小别墅样式,各风格特色图纸为农村自建量身打造

    原标题:6款三层小别墅样式,各风格特色图纸为农村自建量身打造 从最新农村建房面积规定可以看出,今后农村自建房小别墅是主流,而三层小别墅样式则是为农村家庭量身打造的别墅样式,在满足住房需求的同时,做到经 ...

  3. 第十八:如何定制Pytest+Allure2详细报告生成,给项目量身打造一套测试报告(重点超详细)

    简介 1.俗话说"人靠衣服马靠鞍"一个项目做的在好,没有一分的漂亮的测试报告有时候也是很难在客户那边验收的,今天就带你们解决这一难题. 2.前边一篇文章是分享如何搭建pytest+ ...

  4. 推荐 | 为科研人量身打造的公众号,都在这里啦

    注重效率的科研人,需要的是有质量的公众号.下面这几个公众号,不论是资深学者还是青年研究生都会关注.其中不仅包含前沿学术资讯.深度趋势解读,还有针对不同学科/专业量身打造的精品内容. 轻扫二维码关注,你 ...

  5. 狂神说 es笔记_【开源推荐】专门为程序员朋友量身打造的笔记软件—— Boostnote...

    前言 很多人好奇程序猿是如何记笔记的,如果有了解过可能会知道Markdown.都知道Markdown 是一个轻量级的标记语言,语法简单.容易上手,它深受程序员.博客主等人群的钟爱.随着越来越多的博客系 ...

  6. 在“互联网+”时代下,专为餐饮行业量身打造的智能管理系统!

    传统的餐厅经营,日常运营中存在人力资本.物料损耗.设施设备.广告宣传推广等资金的投入.特别是在设施设备,前期需要投入大量资金,且后期还需进行维护,费用不小.传统的餐饮管理模式,除了在各种服务上存在体验 ...

  7. 【SunRTC】一款为保险应用场景量身打造的实时音视频产品

    重磅!!![SunRTC]一款为保险应用场景量身打造的实时音视频产品开源啦! 简介 一.产品介绍 (一)产品应用场景 (二)产品主要功能 (三)产品价值 二.技术实现 (一)视频.即时消息功能 (二) ...

  8. 【无武汉公司团建小姐姐量身打造这几个路线挺适合够给力吧?

    临时起意组里要组织出游活动,上面下达的计划要做滴水不漏,等着找位置,一定要弄得出类拔萃才能印象深刻,有没有创新的好景点呢?武汉公司团建小姐姐量身打造这几个路线挺适合够给力吧? 这么好玩的地方还是不容错 ...

  9. 【​观察】从量身打造“超级用户计划”,看爱奇艺iQUT的态度、温度和高度

    申耀的科技观察 读懂科技,赢取未来! 爱奇艺智能CEO熊文最近有点忙. 继今年5月正式发布爱奇艺iQUT战略,宣布推出奇遇VR一体机之后,7月又对外发布了"超级用户计划".毫无疑问 ...

  10. 专门为码农朋友量身打造的笔记软件-Boostnote

    感谢参考原文-http://bjbsair.com/2020-04-01/tech-info/18432.html 前言 很多人好奇程序猿是如何记笔记的,如果有了解过可能会知道**Markdown.* ...

最新文章

  1. AI药物全球100领军人物:43%来自学界 美英顶级AI专家人数最多
  2. JavaScript中实现私有属性的写类方式(2)
  3. React Hooks - useEffect通俗易懂
  4. 神策数据王琛:用户画像实践之神策标签生产引擎架构
  5. another rejection from Cambridge MPhil in Management
  6. 欢乐纪中某B组赛【2019.1.18】
  7. ZooKeeper(五) 使用Zookeeper有序临时节点实现分布式锁
  8. [容易]在二叉查找树中插入节点
  9. c#实现播放器的集中方式
  10. CentOS6编译装载nbd模块
  11. tolua unity 报错_Unity3D热更新之LuaFramework篇[01]--从零开始
  12. css样式基础库,WeUI基础样式库
  13. php 网络爬虫开源,phpspider php爬虫框架
  14. 个性化不和谐帐户的8种方法
  15. 软件工程导论 银行储蓄系统_银行储蓄系统.ppt
  16. 【uniapp小程序】uploadFile文件上传
  17. 人生不过一场旅行,你路过我,我路过你
  18. 【Android Gradle 插件】 Splits 配置 ② ( Splits#abi{} 脚本块配置 | 根据 CPU 架构进行分包 | AbiSplitOptions 配置简介 )
  19. js splice的三个用法
  20. 浅析2017年医疗类APP开发前景

热门文章

  1. 【面经】五面阿里巴巴达摩院
  2. html5 视频缩略图,应用canvas获取video的缩略图
  3. Android 测试工具集01
  4. 中国移动的垃圾短信屏蔽算法?
  5. log4cxx的使用
  6. linux pam limits.so,linux – 即使需要pam_limits.so,ulimit也不会读取打开文件描述符limits.conf设置...
  7. npm i 和 npm i -S有什么区别吗?
  8. 能量原理与变分法笔记02:变分问题 变分和微分运算能交换次序 欧拉方程
  9. AndroidStudio自带的模拟器如何联网
  10. vue项目添加百度统计及设置埋点