Docker swarm NFS卷,

时间:2016-08-01 11:22:50

标签: docker docker-swarm

我正在使用Docker的1.12群与Orchestration一起玩!但有一个问题我无法找到答案:

  1. 在这种情况下,如果你正在运行像nginx或redis这样的服务,你不必担心数据持久性,

  2. 但是如果您正在运行像数据库这样的服务,我们需要数据持久性,因此如果您的docker实例发生了某些事情,主服务器会将docker实例移动到其中一个可用节点,默认情况下docker不会移动数据卷到其他节点来解决这个问题。我们可以使用第三方插件,如Flocker(https://github.com/ClusterHQ/flocker),Rexray(“https://github.com/emccode/rexray”)来解决问题。

  3. 但问题是:当一个节点出现故障时,您将丢失数据。 Flocker或Rexray没有处理这个问题。

  4. 如果我们使用像NFS这样的东西,我们可以解决这个问题。我将相同的卷安装到我的节点上,在这种情况下,我们不必在两个节点之间移动数据。如果其中一个节点无法记住docker挂载位置,我们可以这样做吗?如果是这样,我们可以通过docker Swarm Built-In Orstration实现这一目标!

1 个答案:

答案 0 :(得分:2)

使用Rexray,数据存储在docker swarm节点之外(在Amazon S3,Openstack Cinder中......)。因此,如果您丢失节点,则不会丢失持久数据。如果您的调度程序安装了一个需要另一台主机上的数据的新容器,它将使用rexray插件检索外部卷,您就可以了。

注意:您的外部提供程序需要允许您从现在不可用的旧节点执行卷的强制分离。