harbor如何修改mysql_Harbor升级和数据库迁移手册
Harbor升级和数据库迁移手册
当升级一个已经存在的Harbor实例到新版本时,需要迁移数据库数据。参考查看数据库发生了哪些变化,如果有的话,就需要进行数据库迁移操作,因为迁移可能会改变数据库模式,所以在任何数据迁移操作之前,都一定要先备份数据库。
如果你是第一次安装habor,或者新安装的数据库的版本和之前的数据库版本一致,那么你不需要做任何数据库的迁移操作。
注意:从v1.2开始,你需要使用发布版本号做为迁移镜像的tag,新版本不再使用“latest”这个tag了。
在任何数据操作之前,都必须要备份数据。
升级Harbor和迁移数据
1.登到harbor所在的服务器上,如果harbor还在运行,就停止并删除对应的Harbor实例。
cd harbor
docker-compose down
2.备份harbor当前的文件,确保在需要的时候可以回滚到当前的这个版本。
cd..
mv harbor /my_backup_dir/harbor
4.在更新harbor之前,先做数据库迁移操作。这个迁移工具以docker镜像的方式提供,所以你需要从docker hub上pull镜像。在下面的命令里,用harbor的发布版本号来替换[tag]:
docker pull vmware/harbor-db-migrator:[tag]
5.备份数据库到一个目录,比如/path/to/backup。如果目录不存在的话,你需要自己创建,并且数据库的用户名和密码需要通过环境变量“DB_USR”和“DB_PWD”来提供。
docker run -ti --rm -e DB_USR=root -e DB_PWD=xxxx -v/data/database:/var/lib/mysql -v /path/to/backup:/harbor-migration/backupvmware/harbor-db-migrator:[tag] backup
6.更新数据库模式并迁移数据:
docker run -ti --rm -e DB_USR=root -e DB_PWD=xxxx -v/data/database:/var/lib/mysql vmware/harbor-db-migrator:[tag] up head
7.解压新的harbor安装包,并切换到工作目录./harbor中去。通过修改harbor.cfg来配置harbor。通过修改harbor.cfg来配置harbor,你可能需要参考第二步操作时备份的配置文件。参考获取更多的信息。由于新版本的harbor.cfg配置文件的格式和内容可能会发生改变,所以不能直接从之前的版本来复制harbor.cfg配置文件。
重要:如果你更新harbor之前使用的认证方式为LDAP/AD,那边在你加载启动新版本的harbor之前,必须要确保harbor.cfg中的auth_mode配置成ldap_auth,否则,更新之后用户将无法登陆。
为了帮助将harbor.cfg配置文件从v0.5.0版本迁移到v1.1.x版本,提供了一个脚本,描述如下。对于其他版本的配置文件,需要手动迁移harbor.cfg文件。
cd harbor
./upgrade --source-loc source_harbor_cfg_loc--source-version 0.5.0 --target-loc target_harbor_cfg_loc --target-version1.1.x
注意:在执行这个脚本之后,要重新检查一遍,确保harbor.cfg中的配置都是正确的。如果有需要的话,你可以修改harbor.cfg。
8.切换到./harbor目录,执行./install.sh脚本安装新版本harbor实例。如果你安装harbor选择其他组件,比如Notary或者Clair,可参考获取更新信息。
升级后回滚
不管什么原因,如果你想回滚到之前的harbor版本,可以参考如下步骤:
1.停harbor服务。
cd harbor
docker-compose down
2.从备份文件/path/to/backup中恢复数据库。
docker run -ti --rm -e DB_USR=root -e DB_PWD=xxxx -v/data/database:/var/lib/mysql -v /path/to/backup:/harbor-migration/backupvmware/harbor-db-migrator:[tag] restore
3.删除当前的harbor实例。
rm -rf harbor
4.恢复老版本的harbor文件。
mv /my_backup_dir/harbor harbor
5.使用之前的配置重启harbor服务。
如果之前版本是通过发布的二进制包安装的:
cdharbor
./install.sh
注意:如果你安装harbor选择其他组件,比如Notary或者Clair,可参考获取更新信息。
如果之前的harbor版本是通过源码安装的:
cdharbor
docker-compose up --build -d
迁移工具参考
使用help命令显示迁移工具帮助信息:
docker run --rm -e DB_USR=root -e DB_PWD=xxxxvmware/harbor-db-migrator:[tag] help
使用test命令测试mysql连接:
docker run --rm -e DB_USR=root -e DB_PWD=xxxx -v/data/database:/var/lib/mysql vmware/harbor-db-migrator:[tag] test
更多推荐
所有评论(0)