Torus登场:CoreOS打造的新一代分布式存储系统

本文讲的是Torus登场:CoreOS打造的新一代分布式存储系统,【编者的话】最近CoreOS推出来重量级产品Torus,专门为容器集群量身打造的分布式存储系统,可以为通过Kubernetes编排和管理的容器集群提供可靠可扩展的存储。让我们来感受下新产品给我们的集群分布式存储带来了多大的优势。

在容器集群的基础设施中,持久化存储是目前计算机界讨论最热的问题之一。微服务生产和消耗的海量数据我们该如何存储?尤其是对于部署一成不变、离散的应用时如何能做到持久化存储?随着容器在企业中的大规模应用,如何用一种能够让开发者在任何环境中能顺利使用的方式存储这些信息?怎样在容器不断动态迭代中保证数据的一致性和持久性?

如今CoreOS推出了Torus,它是一种针对容器集群量身打造的存储系统,可以为通过Kubernetes编排和管理的容器集群提供可靠可扩展的存储。我们相信开源软件必须及早发布产品,这样可以让更多的开发者、测试者以及贡献者参与进来,以增进整个社区的进步。所以现在您就可以在Github获取Tours的原型发布版本,同时我们也鼓励所有人参与测试数据和部署集群,一并帮助开发完善下一代的分布式存储。

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

站在CoreOS的角度,我们相信分布式系统为互联网的安全可靠运行奠定了基础。通过模块化的方式进行构建,在工作负载增加的时候进行扩展,同时确保其简单易用,并使得不同模块能够与其他组件相互配合。这种做法解决了大规模存储计算领域曾经面临过的不少挑战。通过我们构建etcd的三年经验,我们达成解决分布式问题的共识,在集群快速异步更新以及读取信息时,无论粒度多小的重要信息都应该是被约定和保持一致。今天etcd是最快、最稳定的开源分布式键值存储,它被用于包括Kubernetes在内数以百计的业界翘楚的分布式系统软件项目中,扮演着在大规模节点和应用程序执行时被用来协调配置的角色。

过去可靠的分布式存储问题比分布式具有更多的挑战,但是现状确实也是这样的。在实现分布式存储的算法中,如果出现错误后果将会很严重。一般情况下分布式存储的数据巨大,一旦实现中出现错误,错误会以惊人的速度传播,而且这种错误也很难被检测到。数据的疯长也会改变我们创建备份、归档和其他故障安全措施保障应用程序安全的做法。

为什么我们构建了Torus

Tour提供存储应该具有的原始特性:可靠、分布式、简单。它旨在解决今天开发团队运行分布式应用程序中遇到的一些主要问题。虽然传统的存储结构可以连接到我们现在的底层容器,但是这两个模型之间的不匹配促使我们开发这种新的解决方案来解决容器集群之间的存储。现在被认可的分布式存储算法也是出了名的困难的。Torus使用etcd为数以千计的生产部署提供部署服务、元数据的管理以及一致性的维护等。这也使得Torus能够把关注的焦点从新颖的解决方案上转移到存储部分方程上。

现在的存储方案并非全部为cloud-native而生

如果把现存的存储解决方案的部署、管理、操作试图硬塞进现代化的容器集群中实践,这非常困难,而且成本很高。这种分布式主要是为大机器小集群设计的,而不是像GIFEE倡导的侧重于小机器,大集群的创建。更糟糕的是,商业化的分布式存储往往需要昂贵的定制软硬件完成,这样不仅购买昂贵而且很难和其他的工具集成使用,随着时间的推移,升级、许可、超过售后器的维修都是大问题。

容器需要持久化的存储

容器集群比以往的设计更具有动态性,能在遇到自动扩容的场景时做到及时的更新,能够完成持续交付,能够及时应对组件加载失败方便更换的场景。确保能提供以容器微服务的方式为持久化存储提供启动、停止、升级,集群节点之间的数据迁移不像简单的为一个单一服务器运行独立的应用程序甚至是甚至多个虚拟机提供备份储存那么的简单。

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

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

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

"我们认识到市场对分布式存储有明确的需求,它可以解决使用动态化的容器应用,可以利用快速发展到硬件环境。”Packet的CEOZachary Smith说“我们很兴奋的看到CoreOS发布第一个真正意义上的分布式存储解决方案。"

Torus是如何工作的

像core一样,Torus的核心是一个将接口以传统文件方式呈现的库,这个库使得存储系统能够顺利实现易于理解的基本文件操作。借助etdc的一致过程进行协调和检查点操作,这个分布式文件可以通过多种方式暴露给用户的应用程序。目前Torus支持通过网络块设备(NBD)。将这个文件以面向块(Block-oriented)的存储进行暴露。Torus为Kubernetes的pod提供了简单的固定存储。这样的设计还可在不远的未来支持加密和高效率的Reed-Solomon纠错功能,借此为整个系统提供更有保障的数据有效性和保密性。

部署Torus

Torus可通过Kubernetes快速简单的部署和管理。目前发布的Torus包含用于在任何Kubernetes集群上以应用程序方式配置和运行Torus的Kubernetes清单。这使得Torus的安装、管理和升级变成一种简单,完全在云端完成的操作。一旦集群中的应用spun up,Torus会把固定的容量以插件的形式放入Kubernetes的动态存储中。为了使应用程序能够运行在pod,Torus要表现为传统的文件形式存储。从现在发布的版本包括演示运行在固定容量Kubernetes上的 PostgreSQL 数据库服务器,使用Torus作为备份存储。发布的内容有简明的操作文档,使用etcd部署Torus,以及Kubernetes集群,供外部测试使用。

Torus接下来做什么?社区的反馈

Torus的发布仅仅是我们准备建立一个世界级的cloud-native分布式存储系统的开始,我们还需要很多帮助。请直接到GitHub中提供你对项目的帮助和指导。欢迎加入项目的测试,问题提交,加入我们社区的讨论。如果你在San Francisco区域,请加入我们下次的CoreOS会议,可以深度探讨一下关于Torus的实现细节。

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

Tour是一个专门为cloud-native提供的简单可靠的现代分布式存储解决方案,也是全球范围企业级Kubernetes使用的基础。

原文链接:Presenting Torus: A modern distributed storage system by CoreOS(翻译:张亚龙)

原文发布时间为: 2016-06-15

本文作者:ylzhang 

本文来自合作伙伴DockerOne,了解相关信息可以关注DockerOne。

原文标题:Torus登场:CoreOS打造的新一代分布式存储系统

时间: 2024-11-02 17:00:11

Torus登场:CoreOS打造的新一代分布式存储系统的相关文章

神州信息新一代分布式银行核心系统打破银行互联网转型瓶颈

从集中式到分布式银行的基础架构正在发生着翻天覆地的变化,原来分布式并非是银行的必要条件,但随着互联网.物联网的发展,将为银行带来业务的爆发,这时集中式架构是否能够更好的支撑? 21日,神州信息旗下神州数码融信软件有限公司发布了新一代分布式银行核心系统.互联网金融平台.互联网开放平台三款新产品.三款产品都是基于神州数码融信2015年推出"互联网+全能银行"新一代银行应用架构ModelB@nk4.0,采用自有分布式技术平台Sm@rtGalaxy自主研发. 据悉,神州数码融信基于ModelB

大规模分布式存储系统原理与架构

概述 分布式存储概念 分布式存储系统是大量普通 PC 服务器通过 Internet 互联,对外作为一个整体提供存储服务. 特点 可扩展.低成本.高性能.易用 分布式存储涉及的设计主要来自两个领域:分布式系统以及数据库 数据分布.一致性.容错.负载均衡.事务与并发控制.易用性.压缩 / 解压缩 分布式存储分类 非结构化数据.结构化数据.半结构化数据 分布式存储系统分为四类: 分布式文件系统 :以对象的形式组织,对象之间没有关联,这样的数据一般称为 Blob(Binary Large Object,

在 CentOS 7.1 上安装分布式存储系统 Ceph

关于 Ceph 的介绍网上一大堆,这里就不重复了.Sage Weil 读博士的时候开发了这套牛逼的分布式存储系统,最初是奔着高性能分布式文件系统去的,结果云计算风口一来,Ceph 重心转向了分布式块存储(Block Storage)和分布式对象存储(Object Storage),现在分布式文件系统 CephFS 还停在 beta 阶段.Ceph 现在是云计算.虚拟机部署的最火开源存储解决方案,据说有20%的 OpenStack 部署存储用的都是 Ceph 的 block storage. Ce

分布式存储系统基础

    最近读了杨传辉的<大规模分布式存储系统:原理解析与架构实践>,这本书写的很好,涉及的知识点枚不胜举.本篇对于其中的分布式存储系统基础知识做些整理,以飨诸君. 分布式存储系统首先要面对的问题就是数据分片,即将数据均匀地分布到多个存储节点.另外,为了保证可靠性和可用性,需要将数据复制多个副本,这就带来了多个副本的数据一致性问题. 大规模系统的重要目标是节省成本,因而只能采用性价比较高的PC服务器.这些服务器性能很好,但是故障率很高,要求系统能够在软件层面实现自动容错.当存储节点出现故障时,

分布式存储系统

分布式存储系统应该具备的能力 大数据同生活息息相关,大量数据的出现对分布式存储提出了更高的需求,具体表现为以下方面: (1) 高可靠,这是存储系统需要满足的最关键需求,既要保证数据在读写过程中不能发生错误,同时还要保证数据进入到系统后硬件失效不会导致数据丢失.随着集群规模的增大,遇到硬件错误概率会随之变高,存储系统需要有能力保证在任何对数据做转换的时候有无缝的数据检查机制保证数据不会出错,在硬件失效后可以及时补充数据防止硬件损坏引起的数据丢失. (2) 高可用,存储系统必须具备连续提供对外服务的

了解Ceph增强OpenStack云计算环境的开源分布式存储系统

Ceph 是一个开源.统一.分布式的存储系统,提供了一种便捷方式来部署包含商用硬件.低成本且可大规模扩展的存储平台.了解如何创建一个 Ceph 集群(从单一点实现对象.块和文件存储).Ceph 的算法和复制机制,以及如何将它与您的云数据架构和模型相集成.作者提出了一种将 Ceph 集群集成到 OpenStack 生态系统中的简单而又强大的方法. Ceph 是一个符合 POSIX (Portable http://www.aliyun.com/zixun/aggregation/10963.htm

在CentOS 7上安装分布式存储系统Ceph

关于 Ceph 的介绍网上一大堆,这里就不重复了.Sage Weil 读博士的时候开发了这套牛逼的分布式存储系统,最初是奔着高性能分布式文件系统去的,结果云计算风口一来,Ceph 重心转向了分布式块存储(Block Storage)和分布式对象存储(Object Storage),现在分布式文件系统 CephFS 还停在 beta 阶段.Ceph 现在是云计算.虚拟机部署的最火开源存储解决方案,据说有20%的 OpenStack 部署存储用的都是 Ceph 的 block storage. Ce

联想超融合存储:面向对象的分布式存储系统

   联想超融合存储系统是一款自主研发,面向对象的分布式存储系统.通过将所有硬盘池化管理,大幅度的提高并发I/O;采用虚拟存储控制器,更加灵活智能的管理;利用无单点原则,水平扩展的分布式架构,构建了一个高性能.易扩展.高可靠的超融合存储系统. 分层持久存储 超融合是指在同一套单元设备(x86服务器)中不仅仅具备计算.网络.存储和服务器虚拟化等资源和技术,而且还包括云管理软件,数据重构,多副本,快照技术等元素,而多节点可以通过网络聚合起来,实现模块化的无缝横向扩展,形成统一的资源池.与传统存储方案

编译与使用MFS分布式存储系统的经验总结

本文将对MFShttp://www.aliyun.com/zixun/aggregation/14305.html">分布式存储系统的编译与使用进行总结,内容包括:MFS安装选项说明.MFS管理服务器.MFS元数据日志服务器.MFS数据存储服务器.MFS客户端挂载等内容进行详细的说明. 1.安装选项说明 部署MFS的首选方法是从源代码安装.源代码安装支持标准./configure -> make ->make install的步骤,重要的配置选项如表8-4所示. 表8-4 MF