2.2. Relax-and-Recover ツールを使用したコントロールプレーンノードのバックアップ


コントロールプレーンノードをバックアップするには、バックアップノードを設定し、コントロールプレーンノードに Relax-and-Recover ツールをインストールし、バックアップイメージを作成します。バックアップは、通常の環境メンテナンスの一環として作成できます。

さらに、更新またはアップグレードを実行する前にコントロールプレーンノードをバックアップする必要があります。更新またはアップグレード時にエラーが発生した場合は、バックアップを使用して、コントロールプレーンノードを以前の状態に復元できます。

バックアッププロセスでは、Pacemaker によって管理されるサービスのフェイルオーバーが発生します。このため、計画的なメンテナンス中に実行し、一部のトランザクションが失われることを期待する必要があります。

2.2.1. サポート対象のバックアップ形式およびプロトコル

アンダークラウドおよびバックアップ/復元プロセスは、オープンソースのツールである Relax-and-Recover (ReaR) を使用してブート可能なバックアップイメージを作成し、復元します。ReaR は Bash で記述されており、複数のイメージ形式と複数の転送プロトコルをサポートします。

次のリストは、ReaR を使用してアンダークラウドとコントロールプレーンをバックアップおよび復元するときに Red Hat OpenStack Platform がサポートするバックアップ形式とプロトコルを示しています。

ブート可能なメディア形式
  • ISO
ファイルトランスポートプロトコル
  • SFTP
  • NFS

2.2.2. バックアップノードへの NFS サーバーのインストールと設定

バックアップファイルを保存するために、新しい NFS サーバーをインストールして設定できます。バックアップノードに NFS サーバーをインストールして設定するには、インベントリーファイルと SSH キーを順次作成し、NFS サーバーオプションを指定して openstack undercloud backup コマンドを実行します。

重要
  • NFS サーバーまたは SFTP サーバーをインストールして設定している場合は、この手順を実行する必要はありません。バックアップするノードに ReaR を設定するときに、サーバー情報を入力します。
  • デフォルトでは、NFS サーバーの Relax and Recover (ReaR) IP アドレスパラメーターは 192.168.24.1 です。使用している環境に一致する IP アドレス値を設定するには、tripleo_backup_and_restore_server パラメーターを追加する必要があります。

手順

  1. アンダークラウドノードにおいて、source コマンドでアンダークラウドの認証情報を読み込みます。

    [stack@undercloud-0 ~]$ source stackrc
    (undercloud) [stack@undercloud ~]$
  2. アンダークラウドノードで、バックアップノードのインベントリーファイルを作成します。

    (undercloud) [stack@undercloud ~]$ cat <<'EOF'> ~/nfs-inventory.yaml
    [BackupNode]
    <backup_node> ansible_host=<ip_address> ansible_user=<user>
    EOF

    <backup_node><ip_address>、および <user>を、使用中の環境に適用される値に置き換えます。

  3. 公開 SSH 鍵をアンダークラウドノードからバックアップノードにコピーします。

    (undercloud) [stack@undercloud ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub <backup_node>

    <backup_node> をバックアップノードのパスおよび名前に置き換えます。

  4. バックアップノードに NFS サーバーを設定します。

    (undercloud) [stack@undercloud ~]$ openstack undercloud backup --setup-nfs --extra-vars /home/stack/bar-vars.yaml --inventory /home/stack/nfs-inventory.yaml

2.2.3. コントロールプレーンノードへの ReaR のインストール

コントロールプレーンノードのバックアップを作成する前に、各コントロールプレーンノードに Relax and Recover (ReaR) をインストールして設定します。

重要

既知の問題が原因でコントローラーノードがダウンしても、オーバークラウドノードの ReaR バックアップは継続されます。ReaR バックアップを実行する前に、すべてのコントローラーノードが実行されていることを確認してください。今後の Red Hat OpenStack Platform (RHOSP) リリースで修正される予定です。詳細は BZ#2077335 - Back up of the overcloud ctlplane keeps going even if one controller is unreachable を参照してください。

前提条件

手順

  1. アンダークラウドノードにおいて、source コマンドでアンダークラウドの認証情報を読み込みます。

    [stack@undercloud-0 ~]$ source stackrc
  2. まだ行っていない場合は、インストール中に保存された場所から静的 ansible インベントリーファイルを展開します。

    (undercloud) [stack@undercloud ~]$ cp ~/overcloud-deploy/<stack>/tripleo-ansible-inventory.yaml ~/tripleo-inventory.yaml
    • <stack> は、スタックの名前に置き換えます。デフォルトでは、スタックの名前は overcloud です。
  3. bar-vars.yaml ファイルで、バックアップの保存場所を設定します。

    • 独自の NFS サーバーをインストールして設定している場合は、tripleo_backup_and_restore_server パラメーターを追加して、値を NFS サーバーの IP アドレスに設定します。

      tripleo_backup_and_restore_server: <ip_address>
      tripleo_backup_and_restore_shared_storage_folder: <backup_dir>
      • <ip_address> および <backup_dir> を、使用中の環境に適用される値に置き換えます。デフォルトでは、tripleo_backup_and_restore_server パラメーターの値は 192.168.24.1* です。
    • SFTP サーバーを使用する場合は、tripleo_backup_and_restore_output_url パラメーターを追加し、SFTP サーバーの URL と認証情報の値を設定します。

      tripleo_backup_and_restore_output_url: sftp://<user>:<password>@<backup_node>/
      tripleo_backup_and_restore_backup_url: iso:///backup/

      <user><password>、および <backup_node> を、バックアップノードの URL および認証情報に置き換えます。

  4. コントロールプレーンノードに ReaR をインストールします。

    (undercloud) [stack@undercloud ~]$ openstack overcloud backup --setup-rear --extra-vars /home/stack/bar-vars.yaml --inventory /home/stack/tripleo-inventory.yaml
  5. システムで UEFI ブートローダーを使用している場合は、コントロールプレーンノードで以下の手順を実行します。

    1. 以下のツールをインストールします。

      $ sudo dnf install dosfstools efibootmgr
    2. USING_UEFI_BOOTLOADER パラメーターの値 0 を値 1 に置き換えて、UEFI_BOOTLOADER =/boot/efi/EFI/redhat/shimx64.efi を追加して、/etc/rear/local.conf にある ReaR 設定ファイルで UEFI バックアップを有効にします。

2.2.4. バックアップ用の Open vSwitch (OVS) インターフェイスの設定

お使いの環境で Open vSwitch (OVS) ブリッジを使用する場合は、アンダークラウドまたはコントロールプレーンノードをバックアップする前に OVS インターフェイスを手動で設定する必要があります。復元プロセスでは、この情報を使用してネットワークインターフェイスを復元します。

手順

  • /etc/rear/local.conf ファイルに、以下の形式で NETWORKING_PREPARATION_COMMANDS パラメーターを追加します。

    NETWORKING_PREPARATION_COMMANDS=('<command_1>' '<command_2>' ...')
  • &lt ;command_1> および &lt ;command_2&gt; を、ネットワークインターフェイスを設定するコマンドに置き換えます。たとえば、ip link add br-ctlplane type bridge コマンドを追加してコントロールプレーンのブリッジを作成するか、ip link set eth0 up コマンドを追加して eth0 の状態を up に変更します。ネットワーク設定に基づいて、パラメーターにさらにコマンドを追加します。

    たとえば、アンダークラウドの設定が以下のように設定します。

    $ ip -4 addr ls br-ctlplane
    8: br-ctlplane: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 172.16.9.1/24 brd 172.16.9.255 scope global br-ctlplane
    valid_lft forever preferred_lft forever
    
    $ sudo ovs-vsctl show
    ...
    Bridge br-ctlplane
    Controller "tcp:127.0.0.1:6633"
    is_connected: true
    fail_mode: secure
    datapath_type: system
    Port eth0
    Interface eth0
    Port br-ctlplane
    Interface br-ctlplane
    type: internal
    Port phy-br-ctlplane
    Interface phy-br-ctlplane
    type: patch
    options:
    
    {peer=int-br-ctlplane}
    ...

    NETWORKING_PREPARATION_COMMANDS パラメーターは以下のようにフォーマットされます。

    NETWORKING_PREPARATION_COMMANDS=('ip link add br-ctlplane type bridge' 'ip link set br-ctlplane up' 'ip link set eth0 up' 'ip link set eth0 master br-ctlplane' 'ip addr add 172.16.9.1/24 dev br-ctlplane')

2.2.5. コントロールプレーンノードのバックアップの作成

コントロールプレーンノードのバックアップを作成するには、openstack overcloud backup コマンドを使用します。その後、ノードが破損したりアクセスできなくなったりした場合に備えて、バックアップを使用して、コントロールプレーンノードを以前の状態に復元できます。コントロールプレーンのバックアップには、コントロールプレーンノードで実行されるデータベースのバックアップが含まれます。

重要

コントロールプレーンノードをバックアップする前に、各コントロールプレーンノードを停止し、ファイルシステムが破損していることを確認します。たとえば、コントロールプレーンノードのディスク破損により、ノードのバックアップが実行されなくなります。

前提条件

手順

  1. 各コントロールプレーンノードで config-drive パーティションを見つけます。

    [stack@undercloud-0 ~]$ blkid -t LABEL="config-2" -odevice
  2. 各コントロールプレーンノードで、各ノードの config-drive パーティションを root ユーザーとしてバックアップします。

    [root@controller-x ~]# dd if=<config_drive_partition> of=/mnt/config-drive

    <config_drive_partition> を、手順 1 で見つけた config-drive パーティションの名前に置き換えます。

  3. アンダークラウドノードにおいて、source コマンドでアンダークラウドの認証情報を読み込みます。

    [stack@undercloud-0 ~]$ source stackrc
  4. コントロールプレーンノードのバックアップを作成します。

    (undercloud) [stack@undercloud ~]$ openstack overcloud backup --inventory /home/stack/tripleo-inventory.yaml

    バックアッププロセスは、環境へのサービスを中断することなく、各コントロールプレーンノードで順番に実行されます。

2.2.6. cron を使用したコントロールプレーンノードバックアップのスケジューリング

Ansible backup-and-restore ロールを使用して、ReaR でコントロールプレーンノードのバックアップをスケジュールできます。/var/log/rear-cron ディレクトリーでログを確認できます。

前提条件

手順

  1. コントロールプレーンノードのバックアップをスケジュールするには、以下のコマンドを実行します。デフォルトのスケジュールは日曜日の午前 0 時です。

    openstack overcloud backup --cron
  2. オプション: デプロイメントに応じてスケジュールが設定されたバックアップをカスタマイズします。

    • デフォルトのバックアップスケジュールを変更するには、tripleo_backup_and_restore_cron パラメーターに別の cron スケジュールを渡します。

      openstack overcloud backup --cron --extra-vars
      '{"tripleo_backup_and_restore_cron": "0 0 * * 0"}'
    • cron がスケジュールされたバックアップを実行する際にバックアップコマンドに追加されるパラメーターを定義するには、以下の例のように tripleo_backup_and_restore_cron_extra パラメーターをバックアップコマンドに渡します。

      openstack overcloud backup --cron --extra-vars '{"tripleo_backup_and_restore_cron_extra":"--extra-vars bar-vars.yaml --inventory /home/stack/tripleo-inventory.yaml"}'
    • バックアップを実行するデフォルトユーザーを変更するには、以下の例のように tripleo_backup_and_restore_cron_user パラメーターを backup コマンドに渡します。

      openstack overcloud backup --cron --extra-vars '{"tripleo_backup_and_restore_cron_user": "root"}
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る