AICon全球人工智能与机器学习技术大会8折倒计时最后一周,即将涨价>> 了解详情
写点什么

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

2017 年 2 月 06 日

通过提供底层存储的单一视图和暴露自动化 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 )关注我们。

2017 年 2 月 06 日 18:005738

评论

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

week12学习总结

burner

突破传统 区块链如何实现病历永存

CECBC区块链专委会

区块链 电子病历 信息共享

ArCall远比你想象的要强大的多

anyRTC开发者

WebRTC 在线教育 直播 RTC 安卓

花两个半月吃透这份Java手打面经,成功从外包上岸到京东

Java迁哥

Java 学习 腾讯 面试 资料

9块钱,构建个私有网盘,关键不限速

华为云开发者社区

网站 OBS 在线网盘 华为云 云存储

LeetCode题解:84. 柱状图中最大的矩形,双循环暴力,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

程序员如何获取一份高薪工作?阿里P8大牛给你一些中肯的建议

Java迁哥

Java 华为 程序员 面试 资料

week12 homework

burner

一条龙!CI / CD 、打造小团队前端工程化服务

久违

Vue 前端 jenkins React 前端工程化

分析HiveQL 生成的MapReduce执行程序

任小龙

数字货币钱包系统定制开发,区块链钱包源码

13530558032

Docker 网络模式详解及容器间网络通信

哈喽沃德先生

Docker 容器 微服务 容器技术 容器化

35K成功上岸华为商城事业部,只因学透了这几个开源的商城项目

Java迁哥

Java 华为 源码 资料 商城项目

区块链支付系统源码开发,USDT承兑支付平台

13530558032

为什么阿里巴巴的程序员成长速度这么快,看完他们的内部资料我明白了

Java迁哥

Java 阿里巴巴 程序员 成长 笔记

区块链交易所开发源码,数字货币交易所app开发

13530558032

合约跟单系统开发,数字货币合约跟单软件搭建

13530558032

迭代技术方案设计文档规范

程序员架构进阶

技术方案

【运维探讨】RPA落地实践,提升IT运维工作效能!

嘉为蓝鲸

RPA 运维自动化 标准化 系统运维 流程

Java中强、软、弱、虚四种引用详解

奈学教育

Java

2019年我最喜欢的三款数码产品。

徐说科技

手机 苹果

鲲鹏迁移第一批吃螃蟹的人,践行技术国际化

华为云开发者社区

鲲鹏920 服务器 华为云 ARM芯片 X86

第 0 期架构师训练营第 8 周作业 1

fujin

第 0 期架构师训练营第 8 周作业2-总结

fujin

【API进阶之路】破圈,用一个API代替10人内容团队

华为云开发者社区

内容 编辑 API 华为云 文本摘要

LR.JAVA平台商业可视化大屏(BI)设计演示

力软.net/java开发平台

软件开发 BI 数据可视化 Java 分布式

架构设计复杂度来源

escray

学习 从零开始学架构 架构师预科班

浅析LR.Net工作流引擎

Learun

.net 敏捷开发 工作流

Java中强、软、弱、虚四种引用详解

古月木易

Java

高效程序员的45个习惯:敏捷开发修炼之道(7)

石云升

敏捷开发 晨会

隐私计算会成为“金融”向“数科”转型的一剂猛药?

hellompc

MySQL 核心特性与优化

MySQL 核心特性与优化

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