4.2. アンダークラウドのバックアップ
アンダークラウドノードをバックアップするには、アンダークラウドノードで root ユーザーとしてログインする必要があります。データベースを復元できるように、バックアップを作成する必要がある点に注意してください。
前提条件
- バックアップディレクトリーを作成し、エクスポートしている。詳細は、バックアップディレクトリーの作成およびエクスポート を参照してください。
- アンダークラウドをバックアップする前の、前提条件のタスクを実施している。詳細は、バックアップディレクトリーの作成およびエクスポート を参照してください。
- 各コントロールプレーンノードに ReaR をインストールし、設定している。詳細は、Relax and Recover (ReaR) のインストールと設定 を参照してください。
手順
データベースのパスワードを特定します。
[root@undercloud stack]# PASSWORD=$(sudo /bin/hiera -c /etc/puppet/hiera.yaml mysql::server::root_password)
データベースのバックアップを作成します。
[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
[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
mariadb
データベースサービスを停止します。[root@undercloud stack]# systemctl stop mariadb
バックアップを作成します。
[root@undercloud stack]# rear -d -v mkbackup
ReaR で作成するバックアップの ISO ファイルは、バックアップノードの
/ctl_plane_backups
ディレクトリーにあります。アンダークラウドを再起動します。
- アンダークラウドに stack ユーザーとしてログインします。
アンダークラウドを再起動します。
[stack@undercloud]$ sudo reboot