OpenStack Identity Service をアクティブ・パッシブモードで高可用性にすることは、次のことが関連します。
進める前に OpenStack Identity サービスの概要 をきちんと読んでください。
以下のセクションは、SUSE と Red Hat において OpenStack Identity のリソースを Pacemaker にダウンロードする方法を記載します。
SUSE Enterprise Linux、openSUSE などの SUSE 系ディストリビューションは、OpenStack のサービスを制御するために OCF エージェント群を使用します。
以下のコマンドを実行して、OpenStack Identity のリソースを Pacemaker にダウンロードします。
# cd /usr/lib/ocf/resource.d
# mkdir openstack
# cd openstack
# wget https://git.openstack.org/cgit/openstack/openstack-resource-agents/plain/ocf/keystone
# chmod a+rx *
ここで以下のコマンドを使用して、Pacemaker クラスターに接続することにより、OpenStack Identity リソース向けに Pacemaker の設定を追加します。
# crm configure
以下のクラスターリソースを追加します。
clone p_keystone ocf:openstack:keystone \
params config="/etc/keystone/keystone.conf" os_password="secretsecret" os_username="admin" os_tenant_name="admin" os_auth_url="http://10.0.0.11:5000/v2.0/" \
op monitor interval="30s" timeout="30s"
注釈
この設定は OpenStack Identity サービスを管理するためのリソース p_keystone
を作成します。
crm configure メニューから以下のコマンドを入力して、設定の変更をコミットします。
# commit
crm configure はバッチ入力をサポートします。そのため、現在の Pacemaker 設定の中に上をコピー・ペーストし、適宜変更を反映できます。
例えば、お好みの仮想 IP アドレスに一致させるために、crm configure メニューから edit p_ip_keystone
と入力し、リソースを編集できます。
Pacemaker は OpenStack Identity API サービスおよび依存するリソースをすべてのノードに起動します。
Red Hat Enterprise Linux および Red Hat 系の Linux ディストリビューションの場合、以下のプロセスが Systemd ユニットファイルを使用します。
# pcs resource create openstack-keystone systemd:openstack-keystone --clone interleave=true
keystone.conf
ファイルを編集して、 bind(2) パラメーターの値を変更します。
bind_host = 10.0.0.12
public_bind_host = 10.0.0.12
admin_bind_host = 10.0.0.12
admin_bind_host
パラメーターにより、管理アクセスのためのプライベートネットワークを使用できます。
すべてのものを (高可用性) MySQL データベースに保存して、すべてのデータが高可用性になっていることを確認します。
[catalog]
driver = keystone.catalog.backends.sql.Catalog
# ...
[identity]
driver = keystone.identity.backends.sql.Identity
# ...
Identity サービスが ceilometer の通知を送信して、メッセージバスが高可用性のために設定されている場合、Identity サービスがきちんとそれを使用するよう設定する必要があります。この種の導入向けに Identity サービスを設定する方法の詳細は、メッセージサービスの高可用性 を参照してください。
OpenStack サービスが OpenStack Identity サーバーの設定が高可用性と仮想クラスター IP アドレスを指し示します。
OpenStack Compute の場合 (OpenStack Identity サービスの IP アドレスが 10.0.0.11 の場合)、以下の設定を api-paste.ini
ファイルに使用します。
auth_host = 10.0.0.11
この IP アドレスを用いて OpenStack Identity エンドポイントを作成します。
注釈
プライベート IP とパブリック IP の両方を使用する場合、2 つの仮想 IP アドレスを作成し、次のようにエンドポイントを定義します。
$ openstack endpoint create --region $KEYSTONE_REGION \
$service-type public http://PUBLIC_VIP:5000/v2.0
$ openstack endpoint create --region $KEYSTONE_REGION \
$service-type admin http://10.0.0.11:35357/v2.0
$ openstack endpoint create --region $KEYSTONE_REGION \
$service-type internal http://10.0.0.11:5000/v2.0
Dashboard を使用している場合、以下の内容を含めた local_settings.py
ファイルを編集します。
OPENSTACK_HOST = 10.0.0.11
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.