打包Docker与数据,Flocker实现整体轻松迁移

随着Docker容器的流行,使用Docker的用户和案例也越来越多。在享受Docker便捷性的同时,相关人员发现Docker也存在一些缺点。最典型的就是,传统Docker使用数据时都是以数据卷的方式进行的。但是,Docker并不支持运行时携带相关数据直接迁移,也不支持非运行时把数据保存在Docker里进行迁移。这就直接导致容器之间的数据迁移耗费资源,而且共享数据难以管理。针对该问题,大数据公司ClusterHQ提供了一个解决方案。该方案利用公司的核心技术——开源数据卷管理器Flocker,实现了Docker容器和数据的打包整体迁移。接下来,本文就对Flocker进行简要介绍。

作为ClusterHQ公司2014年推出的产品,Flocker主要负责Docker 容器及其数据的管理。从功能方面而言,Flocker是一个数据卷管理器和多主机的 Docker 集群管理工具。用户可以通过它来控制数据,实现在Docker 中运行数据库、队列和键值(Key/Value)存储等服务,并在应用程序中轻松使用这些服务。Flocker的一大特性就是,把数据卷与Docker容器关联在了一起,使得容器可以携带数据在一个集群内的不同主机间进行迁移。但是,该方法之前存在一定的局限性。容器内的数据需要由共享的后端存储来提供,而且后端存储要能够被集群内的所有节点访问。只有亚马逊EBS、Rackspace的Cloud Block Storage、EMC的ScaleIO以及单后端情况下的基于ZFS的存储等少数存储后端能够适用于该场景。

近日,Flocker 1.0版本正式发布。该版本允许第三方编写Flocker 存储驱动来支持自己的存储系统,解决了之前后端存储的局限性,使得数据迁移变得更加便捷。ClusterHQ的首席执行官Mark Davis表示,任何需要用到VMware vMotion的地方就会涉及到容器的迁移问题。如果容器中包含数据,用户就需要用到类似Flocker这样的工具。虽然Flocker目前还不能做到像vMotion一样进行应用程序的运行时迁移,但它的迁移过程也仅需要一小段的关闭时间。ClusterHQ的技术总监兼联合创始人Luke Marsden表示,关闭时间的长短取决于后端把一个卷从一个虚拟机连接到另一个虚拟机的速度。ClusterHQ已经在努力通过卷快照等加速重新连接的过程,缩短这个时间。

感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者)。

你可能感兴趣的:(打包Docker与数据,Flocker实现整体轻松迁移)