高可用性 Identity API

高可用性 Identity API

OpenStack Identity Service をアクティブ・パッシブモードで高可用性にすることは、次のことが関連します。

前提条件

進める前に OpenStack Identity サービスの概要 をきちんと読んでください。

OpenStack Identity リソースの Pacemaker への追加

以下のセクションは、SUSE と Red Hat において OpenStack Identity のリソースを Pacemaker にダウンロードする方法を記載します。

SUSE

SUSE Enterprise Linux、openSUSE などの SUSE 系ディストリビューションは、OpenStack のサービスを制御するために OCF エージェント群を使用します。

  1. 以下のコマンドを実行して、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 *
    
  2. ここで以下のコマンドを使用して、Pacemaker クラスターに接続することにより、OpenStack Identity リソース向けに Pacemaker の設定を追加します。

    # crm configure
    
  3. 以下のクラスターリソースを追加します。

    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 を作成します。

  4. crm configure メニューから以下のコマンドを入力して、設定の変更をコミットします。

    # commit
    

crm configure はバッチ入力をサポートします。そのため、現在の Pacemaker 設定の中に上をコピー・ペーストし、適宜変更を反映できます。

例えば、お好みの仮想 IP アドレスに一致させるために、crm configure メニューから edit  p_ip_keystone と入力し、リソースを編集できます。

Pacemaker は OpenStack Identity API サービスおよび依存するリソースをすべてのノードに起動します。

Red Hat

Red Hat Enterprise Linux および Red Hat 系の Linux ディストリビューションの場合、以下のプロセスが Systemd ユニットファイルを使用します。

# pcs resource create openstack-keystone systemd:openstack-keystone --clone interleave=true

OpenStack Identity Service の設定

  1. 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 パラメーターにより、管理アクセスのためのプライベートネットワークを使用できます。

  2. すべてのものを (高可用性) MySQL データベースに保存して、すべてのデータが高可用性になっていることを確認します。

    [catalog]
    driver = keystone.catalog.backends.sql.Catalog
    # ...
    [identity]
    driver = keystone.identity.backends.sql.Identity
    # ...
    
  3. Identity サービスが ceilometer の通知を送信して、メッセージバスが高可用性のために設定されている場合、Identity サービスがきちんとそれを使用するよう設定する必要があります。この種の導入向けに Identity サービスを設定する方法の詳細は、メッセージサービスの高可用性 を参照してください。

高可用性 OpenStack Identity を使用するための OpenStack サービスの設定

OpenStack サービスが OpenStack Identity サーバーの設定が高可用性と仮想クラスター IP アドレスを指し示します。

  1. OpenStack Compute の場合 (OpenStack Identity サービスの IP アドレスが 10.0.0.11 の場合)、以下の設定を api-paste.ini ファイルに使用します。

    auth_host = 10.0.0.11
    
  2. この 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
    
  3. Dashboard を使用している場合、以下の内容を含めた local_settings.py ファイルを編集します。

    OPENSTACK_HOST = 10.0.0.11
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.