准备工作

本地备份数据库

ZStack Cloud云管理平台首次安装后,默认每天凌晨12点半和中午12点半自动备份一次数据库,备份数据默认存放在管理节点的/var/lib/zstack/mysql-backup/目录,最多保留14次备份数据。可通过crontab -l查看。
30 0,12 * * * zstack-ctl dump_mysql --keep-amount 14
如果管理节点长期运行在高负载状态,建议调整备份频率和保留备份次数,通过crontab -e 修改为以下状态。表示每小时的30分,进行一次数据库备份,最多保留200次备份数据。
30 * * * * zstack-ctl dump_mysql --keep-amount 200

异地备份数据库

为防止管理节点出现故障不能进入系统,建议配置远程数据库备份。

假定管理节点的IP地址为172.20.12.16,异地备份服务器的IP地址为172.20.12.75,进行异地备份,请在管理节点172.20.12.16上执行以下步骤:
#在管理节点上生成ssh key公钥
ssh-keygen
#拷贝ssh key 公钥到异地备份服务器节点,期间需手动输入yes和root密码
ssh-copy-id root@172.20.12.75

异地数据库冗余备份

如果有多台服务器可做冗余备份,可以在异地备份服务器上同时进行异地数据库备份,增加数据库的多备份。

在异地备份服务器172.20.12.75上,通过crontab -e 修改crontab,使用rsync远程拷贝管理节点存放的数据库目录来进行定时异地备份。
#每天凌晨12点和中午12点,将管理节点数据库直接备份到异地备份服务器的/var/lib/zstack/from-zstack-remote-backup/ 目录下,最多保留24份
0 0,12 * * * zstack-ctl dump_mysql --host root@172.20.12.75 --d --keep-amount 24