开源Docker容器虚拟化技术的发展有很多动力,但是很少有供应商直接解决数据存储问题。ClusterHQ现在正在构建一种称为Flocker的技术来解决Docker数据挑战。ClusterHQ的首席执行官兼联合创始人Luke Marsden说,Flocker是五年以上的研究,开发和运营经验的结果,该经验将弹性,分布式,商品存储与容器结合在一起。
“两年前,我们推出了名为HybridCluster的产品,这是一个基于FreeBSD Jails的高级容器管理平台,” Marsden告诉eWEEK。“ HybridCluster的生产客户部署已经证明了我们技术的弹性和可扩展性,并且这种经验使我们更名为DockerHQ的公司得以迅速行动,以解决Docker和Linux的数据问题。”
Docker一年多以前就出现了,它是一种基于Linux的容器解决方案,在诸如LXC(Linux容器)之类的基础技术上进行了扩展。开源的FreeBSD操作系统长期以来拥有自己的名为Jails的容器构造。
Marsden说,Flocker是一个轻量级的卷和容器管理器,开发人员可以用来将其应用程序定义为一组连接的Docker容器。然后,即使在不同的数据中心中,这些应用程序也可以在主机之间进行部署并随其数据轻松迁移。
尽管Flocker是一种数据技术,但Marsden强调说Flocker绝对不是存储区域网络(SAN)或网络附加存储(NAS)技术。
Marsden说:“在Flocker之前,很少有人能够解决容器数据的问题。” “事实上,缺乏对数据支持服务的支持是阻碍容器采用的主要因素之一。”
Marasden说,Flocker使用分布式本地存储为应用程序提供存储,同时提供存储的可移植性。Flocker的关键部分是其对Zettabyte文件系统(ZFS)复制技术的使用。ZFS是最初由Sun Microsystems开发的用于Solaris Unix操作系统的文件系统。Flocker利用的OpenZFS是ZFS项目的开源继承者。
Marsden说:“ Flocker 在Linux上使用ZFS,这是OpenZFS项目的一部分,我们正在积极参与并为此做出贡献。” “以前使用HybridCluster,我们一直在FreeBSD的ZFS之上构建,它在本地被支持并集成在其中。”
Flocker结合使用OpenZFS和ClusterHQ近五年来开发的专有技术来管理分布式集群中的ZFS文件系统。
Marsden说:“ Flocker 0.1仅仅是我们分布式文件系统技术可能的面貌。”
数据卷的可移植性只是Flocker的第一步。除此之外,Marsden希望能够进行连续复制,实时迁移容器以及类似VMware DRS(分布式资源调度程序)的功能,例如通过自动移动容器来自动平衡集群中的负载。
随着Docker生态系统的成熟,包括Google Kubernetes,Apache Mesos和CoreOS Fleet在内的建立协调功能的努力已经浮出水面。Marsden说Flocker可以用作编排工具的补充。
“我们之所以创建Flocker,是因为没有一个业务流程系统为有状态容器提供操作支持(例如,数据迁移,故障转移),而数据却是每个应用程序的核心,” Marsden说。“我们希望能够扩展这些编排服务,以提供对数据库,队列,键值存储和其他数据支持服务的支持。”
Flocker现在只有其0.1版本,还有很多开发工作要做。Marsden表示,他非常想从社区中获得关于他们希望在通用版本中看到哪些功能的反馈,以确保所有这些功能都是可靠的并且可以大规模生产。
就用Flocker开展业务而言,这仍在未来的路线图上。
“虽然我们今天不宣布商业产品,但您可以期望ClusterHQ采用与其他成功的开源公司类似的商业模式,” Marsden说。