DockerCon 2016 深度解读:容器定义存储一窥

谁说Docker只能运行无状态的应用?本次DockerCon大会,众多容器存储解决方案的厂商齐聚一堂,展示了不同的产品或解决方案。有很早就推出开源容器数据管理Flocker的ClusterHQ,传统存储巨头EMC,初创公司Portworx,另外华为推出了自己的容器存储Elara,阿里云也支持通过数据卷(支持OSSFS和NAS)来管理用户的容器数据。

基于容器的存储方案和传统的存储方案的区别

作为非存储领域的人,尝试从容器的角度理解下基于容器的存储方案和传统的存储方案的区别:

  1. 容器更易变:

    • 存储要能随着容器迁移自动挂载
    • 要能和已有容器调度框架整合
  2. 容器更细粒度和高密度:
    • 这样场景下的拷贝、快照、Quota、流控有新的挑战
  3. 容器和后端存储的对接:
    • 需要考虑在不同的环境下(公有云、自有机房等)支持不同的存储后端
    • 如何横向扩展
    • 如何保证挂载速度(挂载了卷轴后是否还能做到容器秒级启动?)
    • 更友好的动态显示容器的挂载状态(挂载中、等待中等)
    • 是否可以复用容器所在机器的存储资源
  4. 应用感知和云端感知:
    • 根据容器的部署信息,对后端存储做调度,数据贴近服务
    • 如何根据运行节点和存储节点间的网络情况做相应的调度
    • 识别云平台的可用区概念和地域

我们再回顾下在使用容器之前的几种简单玩法:

  1. 单机:很多VPS的场景,固定一台机器,数据不迁移。
  2. 多机共享存储:块存储(SAN)、文件存储(NAS)、对象存储(OSS)
  3. 多机数据拷贝:数据层拷贝(rsync)、应用层拷贝(如mysql binlog)

接下来分别看下几家厂商的存储方案:

ClusterHQ:

Flocker:

Flocker是较早推出的一个开源容器数据卷管理框架,对接了Swarm\Kubernets\Mesosphere,基于Ext4支持很多的存储后端。

Volume Hub:

Flocker的图形化工具,支持显示所有节点上的容器、卷轴信息以及绑定状态,还支持数据卷的日志显示,很方便问题排查。目前还只是0.1 alpha版本。

dvol:

可以像git一样的版本管理Docker的数据卷,非常赞的功能,便于在调试阶段做对比。其实际上也是一个docker 的volume plugin。

  • docker run -v demo:/path --volume-driver=dvol
  • dvol commit -m "commit description"
  • dvol checkout -b newbranch

华为 Elara

Elara定位于容器编排框架和底层存储的桥梁,相对于Flocker,有一些设计上的区别:

  1. Flocker有中心节点,而Elara的所有Agent是分布式无状态的,只依赖kv
  2. 目前Flocker依赖的Docker的volume plugin接口比较少,只有创建和Mount的操作。Elara在自己的API上额外支持了快照、备份和流控等接口。
  3. 类似于Cinder支持存储资源调度

Portworx

Portworx是一家位于加州的初创公司。他的定位非常明确:在容器时代,专门购买存储设备是一个不符合潮流的做法。而使用Portworx的产品,可以直接利用运行容器的x86机器作为存储载体,其存储和管理节点也是以容器方式运行。存储成本可以降低70%,同时支持容器级别的快照、复制等管理能力。本月刚推出了企业版的PX-Enterprise产品。

下面展示的是在kubernets上部署myql的示例:

apiVersion: v1
kind: Pod
metadata:
  name: mysql
  labels:
    name: mysql
spec:
  containers:
    -
      name: mysql
      image: mysql:latest
      env:
        -
          name: MYSQL_PASSWORD
          value: mysql
      ports:
        -
          containerPort: 3306
     volumeMounts:
        - name: mysql-persistent-storage
          mountPath: /var/lib/mysql
volumes:
      - name: mysql-persistent-storage
         pwxDiskName: mysql-disk
         fsType: ext4
         cos:2
         snapshots: 12h  #定时快照时间
         haFactor: 3
         size: 4TB

EMC

EMC code也不甘落后,在原有开源产品libStorage之上,拥抱容器社区,将存储作为一等公民,提供平台无关的框架,支持存储的生产、编排和控制。libStorage支持三种架构:嵌入式、集中式和分布式。libStorage通过REX-Ray提供厂商无关的存储编排引擎,为Docker和Mesos运行环境提供支持。

下图为libStorage分布式架构图:

阿里云

阿里云容器服务也提供了数据卷的功能帮忙用户更好的管理存储,目前支持通过OSSFS和NAS提供共享文件存储。

OSSFS

ossfs是阿里云官方提供的基于FUSE的文件系统,项目主页见https://github.com/aliyun/ossfs。

ossfs适合于对IO性能要求比较低并且没有文件改写的场景,如保存wordpress上传的配置和图片。

ossfs和本地文件系统具体差异:

  • 随机或者追加写文件会导致整个文件的重写。
  • 元数据操作,例如list directory,性能较差,因为需要远程访问OSS服务器。
  • 文件/文件夹的rename操作不是原子的。
  • 多个客户端挂载同一个oss bucket时,依赖用户自行协调各个客户端的行为。例如避免多个客户端写同一个文件等等。
  • 不支持hard link。

虽然OSSFS在使用场景和性能上会比接下来介绍的NAS方案弱一些,但是价格会便宜很多。

NAS

阿里云NAS是面向阿里云ECS实例的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。

只需要两步即可完成数据卷的管理:
1. 创建数据卷,设置数据卷的名称、阿里云NAS产品的文件系统ID和挂载点域名

2. 创建容器时设置容器内部路径,设置上一个步骤的数据卷名就可完成目录映射。

阿里云容器服务正在测试对云盘的支持,会在近期推出。除此以外,阿里云容器服务支持标准的Docker volume plugin机制,任何volume插件都可以方便的集成进来,一些合作伙伴的集成也正在火热进行中。想了解更多阿里云容器服务的内容,请访问:http://www.aliyun.com/product/containerservice

时间: 2024-09-29 20:36:41

DockerCon 2016 深度解读:容器定义存储一窥的相关文章

DockerCon 2016 深度解读:在阿里云上体验Docker 1.12内置的编排能力

昨天才从DockerCon大会归来,阿里云容器服务团队将为大家奉献一系列深入学习的文章来帮助大家了解Docker 1.12的最新动态. 第一部分:在阿里云上体验Docker 1.12内置的编排能力 (本文) 第二部分:在阿里云上体验Docker 1.12的路由能力和容器应用分发部署 在DockerCon第一天的Keynote里面,Docker CTO Solomon Hykes宣布Docker将提供内置的编排(Orchestration)能力,从而能使得Docker Engine原生支持集群管理

DockerCon 2016 深度解读:Docker监控厂商之Sysdig

Docker监控厂商系列介绍 Docker 技术社区与其他诸如微服务.DevOps等等在过去的一年里碰撞出了炫目的火花,但是系统的稳定性永远都是成熟应用的首要考虑因素,因此,国内外围绕Docker监控涌现出了很多优秀的厂商,为整个Docker生态提供了坚实可靠的工具与服务.我们会以一个系列的文章来介绍这些Docker监控厂商,分析对比各个厂商在监控方面的侧重点与优势,让更多的开发者能够根据自己的业务需求做出合适的选择. 今天介绍的产品是 Sysdig Sysdig 介绍 Sysdig is op

DockerCon 2016 深度解读: Docker安全

前言 前端时间在乌云上出现了一篇很火的文章,从网上可以扫描到很多暴露控制端口到公网的Docker,并且没有配置认证策略,攻击者可以直接通过Docker Remote API控制Docker,而Docker通常又是用root权限启动的,所以攻击者等于完全获取的整个系统的权限.这件事再次给我们敲响了安全警钟,安全无小事,一个看似很小的问题,背后可能潜藏着巨大的安全风险. 本文将介绍Docker安全相关的一些技术,安全生态和最新的安全特性. 容器技术 容器技术最早可以追述到1979年在Unix上的ch

DockerCon 2016 深度解读: Citrix 服务发现解决方案 —— Nitrox

说起Citrix公司的NetScaler这款硬件负载均衡器大家可能不熟悉,它的竞争对手F5,在运维界可能比较多人了解.硬件负载均衡器通常作为网络入口流量分流的设备,例如像淘宝网的流量特别大,可能只有几个入口IP,在淘宝网的流量的最前端就会部署像F5或者NetScaler这样的硬件负载均衡器作为分流. 随着云计算越来越深入人心,像Citrix这种硬件设备商越来越卖不动了,因为绝大部分中小企业都直接跟云计算公司采购所需的虚拟设备,这样的设备可定制,可按需动态分配.Citrix也是积极跟云计算公司,例

DockerCon 2016:解读Weaveworks 提供的容器集群网络和监控解决方案

Dockercon 2016 -- Weaveworks Micro SDNs by Weaveworks "Micro SDNs"建立在传统的SDN和经典网络之上,它和传统的区别在于软件的网络是在软件启动的时候自己配置好,还是首先人为配置好网络后再创建应用.通过"Micro SDNs"的方式可以减少很多软件部署时的错误,并能让软件得到快速的迭代. Weaveworks' Weave Net是容器化部署的网络解决方案.Weaveworks的Micro SDN方案对开

DockerCon 2016 西雅图即将到来,8大主题详尽解读

DockerCon 2016 距离全球Docker粉丝最受欢迎的DockerCon 2016,只有短短几天.大家一定想了解,本次大会有哪些新的技术会推出?哪些新的场景又使用上容器技术?各大厂商又是如何在生产环境部署Docker?本文通过对会议议题的解读,帮助大家提前了解会议的亮点. 本次DockerCon大会持续2天半(6.19-6.21),在西雅图的华盛顿州会议中心举办.除了主会场外,还有另外8个分会场.分别有 用户故事(IBM.GE.Furgo) 百搭 (微服务) Docker技术 (eng

深度解析阿里云存储

 国际知名调研机构Gartner近日公布了2017年全球云计算云存储魔力象限,阿里云的云存储强势崛起成为这一核心领域的前四名. 图1 2017年Gartner全球云存储魔力象限图 在去年首次进入Gartner魔力象限即取得了不错的位置之后,今年阿里云存储再次强势进入公共云存储魔力象限,紧跟Google成为公共云存储厂商中在利基象限中最接近领导者象限的公共云存储厂商,而领导者象限中目前只有AWS和Azure. 图2 2016年Gartner全球云存储魔力象限图 作为国内市场排名第一的云厂商的云存储

数人云王璞:我们最后会达到容器定义的世界

 5月18日,由中国电子学会主办,ZD至顶网协办的第八届中国云计算大会在北京国家会议中心举办,数人云CEO王璞针对中美容器的融合与变革发表了心得和演说. 王璞表示:"随着容器技术如火如荼的发展和推广,下一步就不仅仅是软件定义世界了,我们最后会达到容器定义的世界,所有的软件都是以容器形式交付运行的." 以下是王璞演讲实录:(以下内容根据现场速记整理,未经发言嘉宾确认,仅供参考,谢绝转载.) 大家好,我是王璞,是数人云创始人兼CEO,很高兴今天来到云计算大会的现场给大家做一个演讲.我主要跟

DockerCon 2016大会召开:开源!垄断?

开源!垄断!似乎这两个词语是矛盾的,但是在6月19日~21日西雅图召开的DockerCon 2016大会上,业内却对Docker公司的策略产生了这样的疑问. 一直以来,Docker 作为一种开源的应用容器引擎,让开发人员可以将应用和依赖包打包到一个可移植的容器中,并发布到任何流行的 Linux 机器上,当然也可以实现虚拟化,并且不依赖于任何语言.框架或包装系统. 近两年,Docker的发展可以说风生水起,不仅其本身被众多开发人员和企业认可,同时也诞生了以Docker为中心的生态圈.Docker公