写点什么

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

  • 2015-07-07
  • 本文字数:1000 字

    阅读完需:约 3 分钟

随着 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 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-07-07 09:144908
用户头像

发布了 268 篇内容, 共 131.3 次阅读, 收获喜欢 24 次。

关注

评论

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

react源码中的协调与调度

flyzz177

React

go-zero docker-compose 搭建课件服务(一):编写服务api和proto

六月的

Docker-compose go-zero

etcd实现分布式锁

六月的

分布式锁 etcd

OKR之剑·理念篇03:OKR理念认同

vivo互联网技术

团队管理 OKR 目标管理

go-zero docker-compose 搭建课件服务(七):prometheus+grafana服务监控

六月的

Docker-compose go-zero

Linux下IIC驱动编写,介绍IIC子系统框架的使用

DS小龙哥

10月月更

部署 SAP UI5 应用到 SAP BTP 时遇到的 error retrieving MTA 错误消息

汪子熙

云原生 Cloud 云平台 SAP 10月月更

掌握这个方法,让工作经验配得上工作时间!

博文视点Broadview

go-zero docker-compose 搭建课件服务(五):完善user服务

六月的

Docker-compose go-zero

go-zero docker-compose 搭建课件服务(二):编写courseware rpc服务

六月的

Docker-compose go-zero

数据驱动型企业如何借助「新一代智能协作」提升研发效能?

LigaAI

人工智能 数据驱动 亚马逊云科技 企业号十月PK榜

【LeetCode】水果成篮Java题解

Albert

算法 LeetCode 10月月更

go-zero docker-compose 搭建课件服务(六):完善jwt鉴权和返回结构

六月的

Docker-compose go-zero

go channel原理及使用场景

六月的

Go channel

Linux下驱动开发_块设备驱动开发(硬件上采用SD卡+SPI协议)

DS小龙哥

10月月更

你知道Redis为什么要设计成单线程吗

芥末拌个饭吧

后端 redis 底层原理 10月月更

react源码中的fiber架构

flyzz177

React

实现etcd服务注册与发现

六月的

Docker-compose go-zero

go-zero docker-compose搭建课件服务(四):生成Dockerfile

六月的

Docker-compose go-zero

go-zero docker-compose 搭建课件服务(八):集成jaeger链路追踪

六月的

Docker-compose go-zero

go-zero docker-compose 搭建课件服务(九):http统一返回和集成日志服务

六月的

Docker-compose go-zero

深入浅出redis缓存应用

六月的

redis

谈谈spark性能调优的方法

芥末拌个饭吧

spark 后端 10月月更

golang的内存管理

六月的

golang 内存管理

Java中的接口详解

共饮一杯无

Java 接口 10月月更

goroutine&waitgroup下载文件

六月的

goroutine waitgroup

react源码分析:组件的创建和更新

flyzz177

React

Redis是如何保证数据一致性的

芥末拌个饭吧

后端 redis 底层原理 10月月更

Lerna最佳实践(内含大量代码)

鲸品堂

代码 lerna

go-zero docker-compose 搭建课件服务(三):编写courseware api服务

六月的

Docker-compose go-zero

一种基于柔性事务的分布式事务解决方案设计探究

京东科技开发者

分布式事务 事务 分布式架构 事务回滚 分布式处理

打包Docker与数据,Flocker实现整体轻松迁移_语言 & 开发_张天雷_InfoQ精选文章