转载

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

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

原文  http://www.infoq.com/cn/news/2017/02/storageos-container-storage
正文到此结束
Loading...