共計 719 個字符,預計需要花費 2 分鐘才能閱讀完成。
今天就跟大家聊聊有關如何驗證 Swarm 數據持久性,可能很多人都不太了解,為了讓大家更加了解,丸趣 TV 小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
Scale Up
增加一個副本:
docker service update --replicas 2 my_web
運行之前我們先推測一下,理想的結果應該是:swarm 在 swarm-worker2 上啟動第二個副本,同時也將掛載 volume my_web。
對比一下實際的運行結果:
出現了一點復雜的狀況:
swarm 首先嘗試在 swarm-worker2 上啟動第二個副本,但在 mount volume 失敗。
重試了三次都失敗了。
最后在 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 數據持久性有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注丸趣 TV 行業資訊頻道,感謝大家的支持。