参考文档:
担心Harbor数据丢失?谈谈Harbor的备份和恢复方法。_键客李大白的技术博客_51CTO博客
1. Harbor备份
- 创建备份目录
${backup_dir}用来存放harbor的备份文件
$ mkdir -p ${backup_dir}
- 备份Harbor安装目录
我的Harbor是安装在/harbor/harbor下
$ cp /harbor/harbor ${backup_dir}/
- 备份Harbor data
查看数据存放位置
$ grep data_volume /harbor/harbor/harbor.yml
data_volume: /data
备份data数据
$ cp /data ${backup_dir}/data
远程拷贝请使用代替cp:
scp -r root@10.10.1.64:/harbor/harbor ${backup_dir}/
scp -r root@10.10.1.64:/data ${backup_dir}/
2. Harbor的恢复
使用前面备份的文件来恢复harbor中的数据,恢复方法就是跟备份相反。
在backup虚拟机上安装一个新的harbor服务。
- 停止Harbor
$ cd /harbor/harbor # 一定要进行harbor的安装目录
$ docker-compose down
- 恢复harbor安装目录
$ cp ${backup_dir}/harbor /harbor/harbor
需要修改一下ip为备份机器ip:
sed -i 's~old_ip~new_ip~g' `grep "old_ip" -rl .`
- 恢复data目录
$ cp ${backup_dir}/data /data
注意/data下各目录的权限,使用scp拷贝时如果不存在的文件,拷贝过来是root:root的属组,会导致服务起不来。
特别是database,要重新赋一下权限:chown -R polkitd:input database
- 重启Harbor
$ cd /harbor/harbor # 进入到安装目录
$ docker-compose up -d
完成以上操作后,重新找一台机器,验证一下镜像的上传下载。
最后就是编写备份以及同步的脚本和定时任务,这里略过。