5.2. ストレージが設定された中央サイトのデプロイ

マルチストアの Image サービスおよびバックエンドとしての Ceph Storage をデプロイするには、以下の手順を実施します。

前提条件

  • ハブおよび各アベイラビリティーゾーンまたはストレージサービスが必要な各地区での Ceph クラスター用ハードウェア
  • ハイパーコンバージドアーキテクチャーでエッジサイトをデプロイする必要があります。
  • ハブおよび各アベイラビリティーゾーンまたはストレージサービスが必要な各地区での 3 つの Image サービスサーバー用ハードウェア

2 つまたはそれ以上のスタックで設定されるデプロイメントの例を以下に示します。

  • 中央サイトに 1 つのスタック (central)
  • エッジサイトに 1 つのスタック (dcn0)
  • dcn0 と同様にデプロイされた追加のスタック (dcn1dcn2、等)

手順

以下の手順で、中央サイトの初回デプロイメント手順の概要を説明します。

注記

マルチストアの Image サービスを使用する DCN デプロイメントの例について、デプロイメントコマンドおよび環境ファイルを以下の手順で詳しく説明します。以下の手順には、ここでの目的とは関連しないが実際の設定には必要な要素 (ネットワーク設定など) は含まれていません。

  1. ホームディレクトリーに、デプロイする各スタックのディレクトリーを作成します。

    mkdir /home/stack/central
    mkdir /home/stack/dcn0
    mkdir /home/stack/dcn1
  2. 利用可能なハードウェアに該当する設定パラメーターおよび Ceph クラスターの名前を設定します。詳しくは、カスタム設定を使用した Ceph の設定 に関するドキュメントを参照してください。

    cat > /home/stack/central/ceph.yaml << EOF
    parameter_defaults:
      CephClusterName: central
      CephAnsibleDisksConfig:
        osd_scenario: lvm
        osd_objectstore: bluestore
        devices:
          - /dev/sda
          - /dev/sdb
      CephPoolDefaultSize: 3
      CephPoolDefaultPgNum: 128
    
    EOF
  3. 実際の環境に適したロールを使用して、中央サイト用のロールを生成します。

    openstack overcloud roles generate Compute Controller CephStorage \
    -o ~/central/central_roles.yaml
    
    cat > /home/stack/central/role-counts.yaml << EOF
    parameter_defaults:
      ControllerCount: 3
      ComputeCount: 2
      CephStorage: 3
    EOF
  4. 環境ファイル ~/central/central-images-env.yaml を生成します。

    sudo openstack tripleo container image prepare \
    -e containers.yaml \
    --output-env-file ~/central/central-images-env.yaml
  5. site-name.yaml 環境ファイルでサイトの命名規則を設定します。Nova アベイラビリティーゾーンと Cinder ストレージアベイラビリティーゾーンが一致している必要があります。

    cat > /home/stack/central/site-name.yaml << EOF
    parameter_defaults:
        NovaComputeAvailabilityZone: central
        ControllerExtraConfig:
            nova::availability_zone::default_schedule_zone: central
        NovaCrossAZAttach: false
        CinderStorageAvailabilityZone: central
        GlanceBackendID: central
    EOF
  6. 以下のような内容で glance.yaml テンプレートを設定します。

    parameter_defaults:
        GlanceEnabledImportMethods: web-download,copy-image
        GlanceBackend: rbd
        GlanceStoreDescription: 'central rbd glance store'
        GlanceBackendID: central
        CephClusterName: central
  7. その他すべてのテンプレートを準備したら、central スタックをデプロイします。

    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/glance.yaml
注記

openstack overcloud deploy コマンドに、ネットワーク設定用の heat テンプレートを追加する必要があります。エッジアーキテクチャーの設計には、スパイン/リーフ型ネットワークが必要です。詳しくは、スパイン/リーフ型ネットワーク を参照してください。

ceph-ansible.yaml ファイルのパラメーターは、以下のように設定されます。

  • NovaEnableRbdBackend: true
  • GlanceBackend: rbd

これらの設定を同時に使用すると、heat により glance.conf のパラメーター image_import_plugins の値には image_conversion が設定されます。これにより、glance image-create-via-import --disk-format qcow2… 等のコマンドで QCOW2 イメージが自動的に変換されます。

これは Ceph RBD に最適な設定です。イメージの変換を無効にするには、GlanceImageImportPlugin パラメーターを使用します。

   parameter_defaults:
     GlanceImageImportPlugin: []