使用Longhorn优雅地恢复运行中的容器应用( 二 )


本文插图
部署MySQL应用
在集群A中部署一个MySQL应用 , 并在MySQL中创建测试表article并插入一条数据 。
使用Longhorn优雅地恢复运行中的容器应用
本文插图
在集群A的Longhorn中对这个卷进行备份 。
使用Longhorn优雅地恢复运行中的容器应用
本文插图
备份成功后 , 可以在集群B的Longhorn中看到备份信息(因为两个集群的Longhorn配置了相同的backup target , 所以备份信息是共享的) 。
使用Longhorn优雅地恢复运行中的容器应用
本文插图
创建容灾备份卷
访问集群B的Longhorn UI , 使用集群A的Volume的备份 , 在集群B中创建一个容灾备份卷 。
使用Longhorn优雅地恢复运行中的容器应用
本文插图
使用Longhorn优雅地恢复运行中的容器应用
本文插图
这里Volume的名称会根据备份卷自动填充 , 不建议手动修改 。
保存后 , 访问 Volume 页面可以看到我们新创建的容灾备份卷 。
使用Longhorn优雅地恢复运行中的容器应用
本文插图
在集群A的MySQL应用中再次插入几条数据 。
使用Longhorn优雅地恢复运行中的容器应用
本文插图
访问集群A的Longhorn UI , 对这个卷再次进行备份 。 这时可以看到集群B中的容灾备份卷图标变成了灰色 , 代表这个卷正在同步集群A中Volume的最新备份数据 , 此时无法激活和使用容灾备份卷 。
使用Longhorn优雅地恢复运行中的容器应用
本文插图
等待一会 , 图标变成了蓝色 , 代表已经与集群A中Volume的最新备份同步成功 。 接下来我们就可以使用这个卷了 。
使用Longhorn优雅地恢复运行中的容器应用
本文插图
如果在集群A中对MySQL卷设置了自动备份 , 集群B中的Longhorn会定时轮询最新的备份 , 将增量数据信息自动同步到容灾备份卷 , 以保持与集群A中Volume的数据一致 。
在新集群中恢复mysql应用
假设此时我们的集群A已经无法使用了 , 我们可以在集群B使用最新的备份卷快速恢复MySQL应用 。
首先 , 我们将集群B的容灾备份卷激活 。
使用Longhorn优雅地恢复运行中的容器应用
本文插图
等待卷状态变成Detached以后 , 选择创建PV/PVC 。
使用Longhorn优雅地恢复运行中的容器应用
本文插图
这里不建议修改PV和PVC的名称 , namespace可根据实际集群B中的namespace名称进行填写 。 保存会 , 会在集群B的指定namespace中创建PVC 。
使用Longhorn优雅地恢复运行中的容器应用
本文插图
访问Rancher可以看到PVC已经创建成功 。
使用Longhorn优雅地恢复运行中的容器应用
本文插图
使用恢复的PVC创建MySQL应用 , 再查询一下数据 , 可以看到数据也恢复过来啦!大功告成!
使用Longhorn优雅地恢复运行中的容器应用
本文插图