BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

StorageOS致力于改进有状态的容器存储

| 作者 Hrishikesh Barua 关注 15 他的粉丝 ,译者 汪欣 关注 0 他的粉丝 发布于 2017年2月7日. 估计阅读时间: 4 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

通过提供底层存储的单一视图和暴露自动化API,StorageOS致力于提供灵活的容器存储

StorageOS是一个虚拟层,提供统一的可用存储层视图。该视图可作为卷(volume)来访问。StorageOS以容器的形式运行,并用一个Docker卷插件来访问卷。也可以在容器外部直接访问卷。底层存储可以跨越许多运行StorageOS的底层容器。为了解该方案背后更多的技术信息,InfoQ联系了StorageOS的创始人兼CTO Alex Chircop。据Chircop介绍,StorageOS"可以通过单一层来访问后端的不同存储类型。虚拟化引擎目前支持物理和虚拟磁盘。我们正计划支持对象存储(如S3)。"

分布式存储系统必须处理容错和延迟。为了实现容错,Chircop说,"存储池使用纠删码(erasure coding)和副本来做保护。节点内使用纠删码以应对磁盘故障,跨节点使用副本以应对节点故障。"

StorageOS卷可以跨多主机,因此它们被创建在有实例化容器的节点上,以减少延迟。Chircop说,通过使用固态硬盘感知的布局(layout)并减少算法中的写入放大(write amplification),该软件针对固态硬盘进行了优化。写入放大是写入固态硬盘时遇到的问题。写入放大发生的原因包括重读已经写入的数据,更新已经写入的数据和作为重写过程的一部分写入新的位置。固态硬盘在这里还包括NVMe设备,NVMe是一种基于PCI Express总线的规范,用于访问诸如固态硬盘的非易失性存储介质。

无状态应用比有状态应用更适合容器,因为后者需要持久性存储。现有的存储架构不适合自动化。StorageOS的既定目标之一是在操作方面与容器环境实现相同的灵活性。例如,StorageOS Docker插件即时提供存储,并直接与API和控制面板集成。"docker run"命令可以在启动指定容器的过程中调配和加载存储。StorageOS还计划与Kubernetes集成。

标签功能可以更好地与编排流水线集成。标签可以指示位置、特定应用以及像QA环境或模拟(staging)环境。使用标签标记一个卷就将激活该功能。

Docker最近收购了Infinit,这是一家拥有可移植的分布式文件系统和存储层的初创公司。StorageOS与他们的产品有什么不同? 听听Chircop怎么说:

企业中的一个问题是缺乏持久性的容器存储。对用户来说,Docker所倡导的有状态分布式存储是一个容易的起点,很快客户就会面对企业级的持久性容器存储需求。Infinit具有分布式文件系统,而数据库和消息队列需要快速的和确定的性能以及一致性保证,这些都是StorageOS体系结构的关键特性。

StorageOS还可以与公有云(如AWS)集成。由于被部署为容器,它可以安装在任何能够运行容器的平台上。还可以启用加密以满足数据隐私的要求。

查看英文原文StorageOS Aims to Improve Stateful Container Storage


感谢王纯超对本文的审校。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

深度内容

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT