Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

第2章 復元

本項では、Red Hat OpenStack Platform director で使用するアンダークラウドの復元方法を説明します。

2.1. アンダークラウドの復元

以下の復元プロセスは、ダウンしたアンダークラウドノードを正常な状態に戻し、最初から再インストールする必要があるという前提で行います。また、ハードウェアのレイアウトは同じで、マシンのホスト名およびアンダークラウドの設定も同じであると仮定します。

マシンのクリーンインストールが完了したら、再度、director のインストールおよび実行に必要なサブスクリプション/リポジトリーをすべて有効にします。root ユーザーで以下のコマンドを実行します。

1. mariadb サーバーをインストールします。

# yum install -y mariadb-server

2. MariaDB の設定ファイルおよびデータベースのバックアップを復元してから、MariaDB サーバーを起動して、バックアップデータを読み込みます。

a. root ユーザーとして、MariaDB ファイルを復元します。

# tar -xzC / -f undercloud-backup-$DATE.tar.gz etc/my.cnf.d/server.cnf
# tar -xzC / -f undercloud-backup-$DATE.tar.gz root/undercloud-all-databases.sql

b. /etc/my.cnf.d/server.cnf を編集して、bind-address のエントリーをコメントアウトします。

c. Start the mariadb service and temporarily update the max_allowed_packet setting:

# systemctl start mariadb
# mysql -uroot -e"set global max_allowed_packet = 16777216;"
# cat /root/undercloud-all-databases.sql | mysql

d. 特定のパーミッションを消去します (後ほど再作成します)。

# for i in ceilometer glance heat ironic keystone neutron nova;do mysql -e "drop user $i";done
# mysql -e 'flush privileges'

3. stack ユーザーアカウントを作成します。

# sudo useradd stack
# sudo passwd stack  # specify a password
# echo "stack ALL=(root) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/stack
# sudo chmod 0440 /etc/sudoers.d/stack

4. stack ユーザーのホームディレクトリーを復元します。

# tar -xzC / -f undercloud-backup-$DATE.tar.gz home/stack

5. swift および glance ベースパッケージをインストールしてから、swift と glance のデータを復元します。

# yum install -y openstack-glance openstack-swift
# tar --xattrs -xzC / -f undercloud-backup-$DATE.tar.gz srv/node var/lib/glance/images

6. 適切なユーザーがデータを所有するように設定します。

# chown -R swift: /srv/node
# chown -R glance: /var/lib/glance/images

7. アンダークラウドの SSL 証明書を復元します。

# tar -xzC / -f undercloud-backup-$DATE.tar.gz etc/pki/instack-certs/undercloud.pem
# tar -xzC / -f undercloud-backup-$DATE.tar.gz etc/pki/ca-trust/source/anchors/ca.crt.pem

8. stack ユーザーとしてアンダークラウドのインストールを再実行します。この操作は、stack ユーザーのホームディレクトリーで実行するようにしてください。

# su - stack
$ sudo yum install -y python-tripleoclient

9. ホスト名が正しく /etc/hosts に設定されていることを確認します。

10. アンダークラウドを再インストールします。

$ openstack undercloud install

2.2. 復元したアンダークラウドのオーバークラウドへの再接続

上記の手順を完了すると、アンダークラウドにより自動的にオーバークラウドへの接続が復元されるはずです。これらのノードは、数秒ごとに発行されるシンプルな HTTP 要求を使用して、保留中のタスクに対して Orchestration (heat) のポーリングを継続します。

2.3. 完了した復元の検証

以下のコマンドを使用して、新しく復元した環境のヘルスチェックを実行します。

2.3.1. Identity サービス (Keystone) の動作の確認

このステップでは、ユーザーの一覧を照会して、Identity サービスの動作を検証します。

# source overcloudrc
# openstack user list

コントローラーから実行する場合は、このコマンドの出力には、この環境で作成されたユーザーの一覧が含まれているはずです。このアクションでは、keystone が実行中でユーザーの要求を正常に認証していることが分かります。以下に例を示します。

# openstack user list
+----------------------------------+------------+---------+----------------------+
|                id                |    name    | enabled |        email         |
+----------------------------------+------------+---------+----------------------+
| 9e47bb53bb40453094e32eccce996828 |   admin    |   True  |    root@localhost    |
| 9fe2466f88cc4fa0ba69e59b47898829 | ceilometer |   True  | ceilometer@localhost |
| 7a40d944e55d422fa4e85daf47e47c42 |   cinder   |   True  |   cinder@localhost   |
| 3d2ed97538064f258f67c98d1912132e |    demo    |   True  |                      |
| 756e73a5115d4e9a947d8aadc6f5ac22 |   glance   |   True  |   glance@localhost   |
| f0d1fcee8f9b4da39556b78b72fdafb1 |  neutron   |   True  |  neutron@localhost   |
| e9025f3faeee4d6bb7a057523576ea19 |    nova    |   True  |    nova@localhost    |
| 65c60b1278a0498980b2dc46c7dcf4b7 |   swift    |   True  |   swift@localhost    |
+----------------------------------+------------+---------+----------------------+

2.3.2. OpenStack サービスの確認

openstack-status コマンドを実行して、OpenStack サービスのステータスを表示します。

# openstack-status