4.2. 备份 undercloud
要备份 undercloud 节点,您必须以 root 用户身份登录 undercloud 节点。作为前提条件,您必须备份数据库以确保您可以恢复数据库。
前提条件
- 您已创建并导出了备份目录。如需更多信息,请参阅创建并导出备份目录。
- 在备份 undercloud 前,您执行了必备的任务。如需更多信息,请参阅 备份 undercloud 前执行预备任务。
- 您已在每个 control plane 节点上安装和配置了 ReaR。如需更多信息,请参阅 安装和配置 Relax 和 Recover (ReaR)。
流程
查找数据库密码:
PASSWORD=$(sudo /bin/hiera -c /etc/puppet/hiera.yaml mysql::server::root_password)
[root@undercloud stack]# PASSWORD=$(sudo /bin/hiera -c /etc/puppet/hiera.yaml mysql::server::root_password)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 备份数据库:
mysql -uroot -p$PASSWORD -s -N -e "select distinct table_schema from information_schema.tables where engine='innodb' and table_schema != 'mysql';" | xargs mysqldump -uroot -p$PASSWORD --single-transaction --databases > openstack-backup-mysql.sql
[root@undercloud stack]# mysql -uroot -p$PASSWORD -s -N -e "select distinct table_schema from information_schema.tables where engine='innodb' and table_schema != 'mysql';" | xargs mysqldump -uroot -p$PASSWORD --single-transaction --databases > openstack-backup-mysql.sql
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mysql -uroot -p$PASSWORD -s -N -e "SELECT CONCAT('\"SHOW GRANTS FOR ''',user,'''@''',host,''';\"') FROM mysql.user where (length(user) > 0 and user NOT LIKE 'root')" | xargs -n1 mysql -uroot -p$PASSWORD -s -N -e | sed 's/$/;/' > openstack-backup-mysql-grants.sql
[root@undercloud stack]# mysql -uroot -p$PASSWORD -s -N -e "SELECT CONCAT('\"SHOW GRANTS FOR ''',user,'''@''',host,''';\"') FROM mysql.user where (length(user) > 0 and user NOT LIKE 'root')" | xargs -n1 mysql -uroot -p$PASSWORD -s -N -e | sed 's/$/;/' > openstack-backup-mysql-grants.sql
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 停止
mariadb
数据库服务:systemctl stop mariadb
[root@undercloud stack]# systemctl stop mariadb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建备份:
rear -d -v mkbackup
[root@undercloud stack]# rear -d -v mkbackup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以在
/ctl_plane_backups
目录下找到您在备份节点上使用 ReaR 创建的备份 ISO 文件。重启 undercloud:
- 以 stack 用户身份登录 undercloud。
重启 undercloud:
sudo reboot
[stack@undercloud]$ sudo reboot
Copy to Clipboard Copied! Toggle word wrap Toggle overflow