千家信息网

如何验证Swarm数据持久性

发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,今天就跟大家聊聊有关如何验证Swarm数据持久性,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Scale Up增加一个副本:docker se
千家信息网最后更新 2024年11月30日如何验证Swarm数据持久性

今天就跟大家聊聊有关如何验证Swarm数据持久性,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

Scale Up

增加一个副本:

docker service update --replicas 2 my_web

运行之前我们先推测一下,理想的结果应该是:swarm 在 swarm-worker2 上启动第二个副本,同时也将挂载 volume my_web

对比一下实际的运行结果:

出现了一点复杂的状况:

  1. swarm 首先尝试在 swarm-worker2 上启动第二个副本,但在 mount volume 失败。

  2. 重试了三次都失败了。

  3. 最后在 swarm-worker1 成功启动第二个副本。

mount 失败的原因是:以 VirtualBox 为 backend 的 Rex-Ray volume 不支持同时 attach 到多个 Host。

需要注意:这实际上是 VirtualBox 的限制,而非 Rex-Ray。如果 backend 选择 Ceph RBD 就没有这个问题。

更新 Volume

更新 volume 的内容。

service 返回更新内容,数据已经同步到副本。

Failover

现在模拟故障情况。shutdown 节点 swarm-worker1,过一会,所有副本都会迁移到 swarm-worker2

访问 service,以前更新的内容完整地保留了下来。

Rex-Ray 作为 Swarm 的存储编排方案能够很好地支持跨主机 volume 管理,而且当容器在集群中迁移时 volume 也能够自动迁移。

看完上述内容,你们对如何验证Swarm数据持久性有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

0