写点什么

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:006801

评论

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

腾讯游戏实时计算应用平台建设实践

Apache Flink

flink

三天研读《中兴电路设计规范》精华总结

不脱发的程序猿

28天写作 电路设计 3月日更 中兴 中兴电路设计规范

优秀软件设计的特征

这就是编程

从两个模型带你了解DAOS 分布式异步对象存储

华为云开发者联盟

开源 对象存储 存储 分布式异步对象存储 NVM

浅论指针(三)

Integer

c 指针

BOE(京东方)首度披露“千亿级西南战略” 全面布局物联生态

爱极客侠

[译文] 用故事点数评估开发工作真的好吗?

LigaAI

项目管理 程序人生 敏捷开发

跟我学丨如何用鲲鹏服务器搭建Hadoop全分布式集群

华为云开发者联盟

hadoop 服务器 集群 鲲鹏 Hadoop全分布式集群

Sentinel的注解支持 - @SentinelResource使用详解

麦洛

sentinel SpringCloud Alibaba

Tensorflow实现Transformer模型将葡萄牙语翻译成英语

AI_robot

CSP-J/S必备知识——文件输入输出

Jack—Li

第9周作业

猫。

【无偿分享】史上最全Python学习大礼包 限24h删

sum56

Python Python基础 python入门 python学习 python资料

Spring Boot集成 Sentinel 实现接口流量控制

麦洛

微服务 sentinel spring cloud alibaba

随机数环设想

waitmoon

Java

一个数组通过配置随机抽取组成小数组

waitmoon

Java

C++中结构体的定义

Jack—Li

已拿到6个Offer!主动分享成功秘籍:阿里巴巴Java面试参考指南(2021最新版)

比伯

Java 架构 面试 程序人生 技术宅

已助我拿到8个Offer!阿里巴巴Java面试参考指南(泰山版)

Java架构追梦

Java 编程 架构 面试 阿里巴巴泰山版

NetCore的缓存使用详例

happlyfox

缓存 学习 netcore 3月日更

加码技术破圈创新,蚂蚁金融科技助力各行各业转型升级

Lily

CountDownLatch:别浪,等人齐再团!

王磊

Java 多线程

产品训练营--第六期作业

曦语

产品训练营

EGG NETWORK阿凡提公链全新一代算法稳定币之王EFTalk

币圈那点事

理解reflect elem和value的一段测试代码

werbenhu

Go 语言

智慧派出所管理系统,派出所指挥调度平台搭建

JVM 诊断之 jstat 工具使用

hepingfly

Java JVM jvm调优 jstat

用 Go + WebSocket 快速实现一个 chat 服务

万俊峰Kevin

websocket go-zero Go 语言

未来直播 “神器”,像素级视频分割是如何实现的 | CVPR 冠军技术解读

阿里云CloudImagine

阿里云 算法 计算机视觉 音视频

有趣!一行代码居然无法获取请求的完整URL

Gopher指北

HTTP Go 语言

源码分析:Redisson分布式锁过程分析

程序员架构进阶

redis 源码分析 分布式锁 28天写作 3月日更

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