rancher单节点备份和恢复
在完成 Rancher 的单节点安装后,或在升级 Rancher 到新版本之前,需要对 Rancher 进行数据备份。如果在 Rancher 数据损坏或者丢失,或者升级遇到问题时,可以通过最新的备份进行数据恢复。这里的单节点我理解是单rancher-server。
官方文档
准备
查看rancher-server容器,有一些值要记录
占位符 | 值 | 描述 |
---|---|---|
<RANCHER_CONTAINER_TAG> |
rancher/rancher:stable | 当前安装的 Rancher Server 镜像 |
<RANCHER_CONTAINER_NAME> |
objective_volhard | 当前 Rancher 容器名称。 |
<RANCHER_VERSION> |
V2.2.5 | 您正在为其创建备份的 Rancher 版本。 |
<DATE> |
2020-07-25 | 创建数据卷容器或备份的日期。 |
注意:关于RANCHER_CONTAINER_TAG,官方说法是要记录容器tag,要标识备份文件用的,然而我镜像的TAG是stable这个东东,写不写都一样,看个人。
备份
流程:关闭当前容器--创建一个备份容器共享rancher-server的数据卷--将备份容器的数据卷打包--删除备份容器--启动rancher-server
1、关闭容器
docker stop <RANCHER_CONTAINER_NAME>
2、备份当前rancher server到容器的数据到数据卷容器
docker create --volumes-from objective_volhard --name rancher-data-2020-07-25 rancher/rancher:stable
3、创建Rancher Server数据卷容器备份
docker run --volumes-from rancher-data-2020-07-25 -v $PWD:/backup alpine tar zcvf /backup/rancher-data-2020-07-25.tar.gz /var/lib/rancher
注意:$PWD的位置在/var/lib/docker/containers/下,就是docker的存储路径。
4、将备份压缩包rancher-data-2020-07-25.tar.gz移到 Rancher Server 外部的安全位置。然后从 Rancher Server 所在主机中删除rancher-data-
5、启动容器
docker start <RANCHER_CONTAINER_NAME>
恢复
流程:关闭当前容器----确认备份数据存在--清空rancher-server数据卷并将备份的数据解压到该数据卷中--启动rancher-server
1、关闭rancher-server
docker stop <RANCHER_CONTAINER_NAME>
2、确认备份数据
ls /backup/rancher-data-2020-07-25.tar.gz
3、执行恢复操作,该操作会清空现rancher-server的数据卷
docker run --volumes-from objective_volhard -v $PWD:/backup busybox sh -c "rm /var/lib/rancher/* -rf && tar pzxvf /backup/rancher-data-2020-07-25.tar.gz"
4、启动容器
docker start <RANCHER_CONTAINER_NAME>
5、web 浏览器中打开 Rancher UI,确认是否成功恢复数据