4.2. アンダークラウドのバックアップ

アンダークラウドノードをバックアップするには、アンダークラウドノードで root ユーザーとしてログインする必要があります。データベースを復元できるように、バックアップを作成する必要がある点に注意してください。

前提条件

  • バックアップディレクトリーを作成し、エクスポートしている。詳細は、「バックアップノードの準備」を参照してください。
  • アンダークラウドをバックアップする前の、前提条件のタスクを実施している。詳細は、「バックアップ手順の実行」を参照してください。
  • アンダークラウドノードに ReaR がインストールされ、設定されている。詳細は、「ReaR のインストールおよび設定」を参照してください。
  • ネットワークインターフェースに OVS ブリッジを使用する場合には、以下の形式で NETWORKING_PREPARATION_COMMANDS パラメーターを /etc/rear/local.conf ファイルに追加して、OVS インターフェースを手動で設定します。

    NETWORKING_PREPARATION_COMMANDS=('<command_1>' '<command_2>' ...')

    <command_1> および <command_2> を、ネットワークインターフェース名または IP アドレスを設定するコマンドに置き換えます。たとえば、ip link add br-ctlplane type bridge コマンドを追加してコントロールプレーンのブリッジ名を設定するか、ip link set eth0 up コマンドを追加してインターフェースの名前を設定できます。ネットワーク設定に基づいて、パラメーターにさらにコマンドを追加します。

手順

  1. データベースのパスワードを特定します。

    [root@undercloud stack]# PASSWORD=$(sudo /bin/hiera -c /etc/puppet/hiera.yaml mysql::server::root_password)
  2. データベースのバックアップを作成します。

    [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
  3. mariadb データベースサービスを停止します。

    [root@undercloud stack]# systemctl stop mariadb
  4. バックアップを作成します。

    [root@undercloud stack]# rear -d -v mkbackup

    ReaR で作成するバックアップの ISO ファイルは、バックアップノードの /ctl_plane_backups ディレクトリーにあります。

  5. アンダークラウドを再起動します。

    1. アンダークラウドに stack ユーザーとしてログインします。
    2. アンダークラウドを再起動します。

      [stack@undercloud]$ sudo reboot