7.3. 中央サイトの更新

サンプルの手順を使用してすべてのエッジサイトを設定およびデプロイしたら、中央の Image サービスがイメージをエッジサイトにプッシュできるように、中央サイトの設定を更新します。

警告

この手順では、Image サービス (glance) を再起動し、長く実行されている Image サービスプロセスを中断します。たとえば、セントラルイメージサービスサーバーから DCN イメージサービスサーバーにイメージをコピーしている場合、そのイメージコピーは中断されるため、再起動する必要があります。詳細は、Clearing residual data after interrupted Image service processes を参照してください。

手順

  1. 以下のような内容で ~/central/glance_update.yaml ファイルを作成します。以下の例には、2 つのエッジサイト dcn0 および dcn1 の設定が含まれています。

      parameter_defaults:
        GlanceEnabledImportMethods: web-download,copy-image
        GlanceBackend: rbd
        GlanceStoreDescription: 'central rbd glance store'
        CephClusterName: central
        GlanceBackendID: central
        GlanceMultistoreConfig:
          dcn0:
            GlanceBackend: rbd
            GlanceStoreDescription: 'dcn0 rbd glance store'
            CephClientUserName: 'openstack'
            CephClusterName: dcn0
            GlanceBackendID: dcn0
          dcn1:
            GlanceBackend: rbd
            GlanceStoreDescription: 'dcn1 rbd glance store'
            CephClientUserName: 'openstack'
            CephClusterName: dcn1
            GlanceBackendID: dcn1
  2. dcn_ceph.yaml ファイルを作成します。以下の例では、このファイルは、エッジサイト dcn0 および dcn1 の Ceph クラスターのクライアントとして、中央サイトの glance サービスを設定します。

    sudo -E openstack overcloud export ceph \
    --stack dcn0,dcn1 \
    --config-download-dir /var/lib/mistral \
    --output-file ~/central/dcn_ceph.yaml
  3. 元のテンプレートを使用して中央サイトを再デプロイする際に、新たに作成した dcn_ceph.yaml および glance_update.yaml ファイルを追加します。

    openstack overcloud deploy \
           --stack central \
           --templates /usr/share/openstack-tripleo-heat-templates/ \
           -r ~/central/central_roles.yaml \
        ...
           -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \
           -e /usr/share/openstack-tripleo-heat-templates/environments/nova-az-config.yaml \
           -e ~/central/central-images-env.yaml \
           -e ~/central/role-counts.yaml \
           -e ~/central/site-name.yaml
           -e ~/central/ceph.yaml \
           -e ~/central/ceph_keys.yaml \
           -e ~/central/glance.yaml \
           -e ~/central/dcn_ceph_external.yaml
  4. 中央サイトのコントローラーで、cinder-volume サービスを再起動します。cinder-backup サービスと一緒に中央サイトをデプロイしている場合は、cinder-backup サービスも再起動してください。

    ssh heat-admin@controller-0 sudo pcs resource restart openstack-cinder-volume
    ssh heat-admin@controller-0 sudo pcs resource restart openstack-cinder-backup

7.3.1. イメージサービスプロセス中断後の残存データの消去

中央サイトを再起動すると、長時間稼働している Image サービス (glance) のプロセスが中断されます。これらのプロセスを再起動する前に、まず、再起動した Controller ノード、および Ceph と Image サービスのデータベースに残っているデータをクリーンアップする必要があります。

手順

  1. 再起動した Controller ノードの残留データを確認し、消去します。ステージングストア用のglance-api.conf ファイル内のファイルと、Image サービスデータベース内の対応するイメージ (例: <image_ID>.raw) を比較します。

    • これらの対応するイメージのステータスがインポート中の場合、イメージを再作成する必要があります。
    • イメージのステータスがアクティブの場合、ステージングからデータを削除し、コピーのインポートを再起動する必要があります。
  2. Ceph ストアの残留データをチェックおよび消去します。ステージングエリアから消去したイメージは、そのイメージを含む Ceph ストアの stores プロパティーに一致するレコードがなければなりません。Ceph におけるイメージ名は、Image サービスデータベースのイメージ ID です。
  3. イメージサービスデータベースのクリア中断されたインポートジョブからインポートステータスになっているイメージをすべて消去します。

    $ glance image-delete <image_id>