概要描述
TDH的集群元数据是由Manager数据库来管理的,如果Manager所在节点故障导致元数据损坏,那么整个TDH集群都将无法正常使用,即单节点故障。从TDH 5.0开始提供了Manager高可用来避免单节点故障,本文针对的是没有开启Manager高可用的集群如何备份和恢复Manager数据库。
详细描述
1 使用说明
1, TDH 5.X开始Manager元数据存储在mariadb数据库中,本文针对的是此之后的集群,更早的版本无法使用该文档。
2, 开启Manager高可用的集群不需要使用该文档,除非所有的Manager server节点都故障了。
2 原理说明
Manager数据存储在mariadb数据库中,所以理论上来说只要备份该数据库,当现有Manager节点故障时,完全可以重新安装一个Manager,然后将数据导入到新的Manager的数据库中,这样即可恢复集群。
3 Manager源数据备份
可以在manager所在节点配置定时调度备份manager数据库脚本,定时调度工具可以用crontab,每天凌晨24:00跑manager数据库备份脚本
Manager数据库备份:
/usr/bin/mysqldump -h localhost -u transwarp -p$(cat /etc/transwarp-manager/master/db.properties | grep io.transwarp.manager.db.password | awk -F = '{print $2}') -S /var/run/mariadb/transwarp-manager-db.sock --all-databases > /root/mysql_dump.out
获取数据库密码的方法: https://nj.transwarp.cn:8180/?p=5628
只要备份的dump文件存在就可以用下面的步骤来恢复集群,可以将其拷贝到多个节点上或者上传到hdfs等文件系统上。
4 安装新的Manager并导入数据
本文测试时是将新的manager安装在了集群中的服务器上,理论上来说可以在任一服务器上安装新的manager,只要保证跟TDH集群是在同一网段中以及操作系统版本等跟原来节点一致。
1)安装准备
上传安装包到集群备用节点,比如manager02节点,上传后解压,安装包里面要包含组件的安装包。还要准备操作系统iso镜像或者DVD,用来配置本地yum源。
2)安装Manager
此处的步骤跟安装新集群时一样,不熟悉安装流程的话可以参考手册:
https://www.warpcloud.cn/#/documents-support/docs?category=TDH&index=0
唯一的区别在于最后一步完成之后不要去打开8180页面。
3)恢复Manager数据库
使用之前备份得到的dump文件来恢复数据,获取密码还是可以参考文档:
https://nj.transwarp.cn:8180/?p=5628
mysql -h 127.0.0.1 -utranswarp -p"jLmFozpd2y" -P3308 transwarp_manager < /etc/transwarp-manager/master/mysql_dump.out
5 恢复集群
新的Manager数据库恢复之后,可以用它的地址去登录8180页面,此时页面上会显示组件报红,而后台pod运行正常,这就是manager和组件之间通信有问题,需要刷新安全组件,即刷新组件的guardian插件,由于新安装的manager没有认证信息,故需要做这一步。如果集群没开安全,此步可省略。