写点什么

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

  • 2017-02-06
  • 本文字数:1182 字

    阅读完需:约 4 分钟

通过提供底层存储的单一视图和暴露自动化 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-02-06 18:007003

评论

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

《数字经济全景白皮书》银行业RPA应用专题分析 发布

易观分析

RPA 金融 银行

非关系型数据库Redis核心内容

浅羽技术

数据库 redis redis持久化 Memcache 8月月更

Selenium 中的 JUnit 注解

FunTester

【数据结构实践】手把手带你快速实现自定义二叉树

迷彩

数据结构 算法 二叉树 二叉树遍历 8月月更

zookeeper的特点和应用场景

浅羽技术

zookeeper 分布式 观察者模式 注册中心 8月月更

源码解析 kubectl port-forward 工作原理

张晓辉

Kubernetes 云原生 源码解析

浅谈JS发布订阅模式

海底烧烤店ai

JavaScript 前端 发布订阅模式 8月月更

Docker杀掉了容器?问题分析与解决过程全面复盘

程序员欣宸

Docker 8月月更

【CSS】什么是外边距的重叠?常见的有哪几种重叠情况?

翼同学

CSS 前端 编程语言 8月月更

【CSS·圆角边框】有关border-radius属性的记录以及实现原理

翼同学

CSS html 前端 8月月更

直播预告丨阿里云佐井:关注预警6要素,帮助用户实现精准监控和告警

阿里云弹性计算

监控 预警

【React】使用Next.js构建并部署个人博客

海底烧烤店ai

nuxt 博客开发 博客搭建 react rout 8月月更

[JS入门到进阶] 手写解析uin8数组的工具:解析二进制字节,太快太方便了!

HullQin

CSS JavaScript html 前端 8月月更

【CSS 盒子模型(下)】:padding 和 margin

翼同学

CSS html 前端 8月月更

zookeeper的选主过程

浅羽技术

zookeeper 分布式 ZooKeeper原理 8月月更

亚马逊云科技与TalkingData携手助力美妆巨头数字化营销闭环安全合规地提效

Lily

数字藏品app开发:数字藏品发行制作的关键

开源直播系统源码

NFT 数字藏品 数字藏品开发 数字藏品系统 数字藏品软件

mysql基础

楠羽

#开源

玩转KubeEdge保姆级攻略

乌龟哥哥

8月月更

弹性云端新算力,驱动沉浸新交互 |2022阿里云金融创新峰会

阿里云弹性计算

计算巢 云盒 倚天实例 专属Region

MySQL查询重写插件

TimeFriends

8月月更

【实践】手把手带你实现JWT登录鉴权

迷彩

分布式 微服务 前后端分离 JWT 8月月更

【CSS关键字】:inherit、initial、unset分别有哪些作用?

翼同学

CSS html 前端 8月月更 学习分享

佛山复星禅诚医院黄汉森:云边协同,打造线上线下一体化智慧医疗

阿里云弹性计算

弹性计算 分布式云 云盒 异地双活

如何通过经纬度坐标获取附近的地址信息?

HarmonyOS SDK

定位

面试突击79:Bean 作用域是啥?它有几种类型?

王磊

Java 常见面试题

混迹职场10多年的数据开发老鸟,居然被一个职场新人上了一课

雨果

数据工程师

【CSS】怎么理解层叠性、继承性和优先性?选择器的权重如何叠加?

翼同学

CSS html 前端 编程语言 8月月更

【CSS 盒子模型(上)】:width、height、overflow、border

翼同学

CSS html 前端 8月月更

持久,redis 持久化有哪几种方式,怎么选?

知识浅谈

redis持久化 8月月更

StorageOS致力于改进有状态的容器存储_DevOps & 平台工程_Hrishikesh Barua_InfoQ精选文章