起因
云服务器厂商更换机房,且不能热迁移,需要用户自己备份迁移数据。
备份以及迁移
因为是使用Docker Swarm进行部署的,所以要对为知笔记用到的数据卷进行备份。以下命令在待迁移的主机上执行:
- 找到Docker的根目录,并跳转到数据卷所在的
volumes
目录:
docker info|grep "Docker Root Dir" ## Docker Root Dir: /mnt/data/docker
cd /mnt/data/docker/volumes
- 找到数据卷进行备份,例如数据卷的名字叫
wzinote
:
tar czvf wiznote.tar.gz ./wiznote/ ## 压缩成tar包
- 将压缩完成后的文件拷贝到目标(新)机器上,可以自己手动拷贝也可以
scp
进行远程拷贝,以下信息根据实际情况改写:
scp -P SSH端口 ./wiznote.tar.gz 用户名@新机器IP:~/wiznote.tar.gz
当完成文件的传输后,到新机器上进行以下操作:
- 数据卷的解压缩:
tar vxf wiznote.tar.gz
- 确定Docker的根目录,因为需要将为知笔记的数据卷移动到
volumes
目录中:
docker info|grep "Docker Root Dir" ## Docker Root Dir: /mnt/data/docker
cd /mnt/data/docker/volumes
- 移动数据卷:
mv wiznote /mnt/data/docker/volumes/
自此完成了数据卷的迁移,在新机器上重新部署为知笔记服务,指定为迁移完成的数据卷即可。