7.5. エッジでのインストール済み Red Hat Ceph Storage クラスターの使用
既存の Ceph クラスターを使用するように Red Hat OpenStack Platform を設定することができます。これは外部 Ceph のデプロイメントと呼ばれます。
前提条件
- レイテンシー要件を超えないように、DCN サイトのローカルにインストール済みの Ceph クラスターを用意する必要がある。
手順
Ceph クラスターに以下のプールを作成します。中央サイトにデプロイしている場合は、
backupsおよびmetricsプールを含めます。[root@ceph ~]# ceph osd pool create volumes <_PGnum_> [root@ceph ~]# ceph osd pool create images <_PGnum_> [root@ceph ~]# ceph osd pool create vms <_PGnum_> [root@ceph ~]# ceph osd pool create backups <_PGnum_> [root@ceph ~]# ceph osd pool create metrics <_PGnum_><_PGnum_> は配置グループの数に置き換えます。適切な値を判断するには、Ceph Placement Groups (PGs) per Pool Calculator も使用できます。
Ceph に OpenStack クライアントユーザーを作成し、Red Hat OpenStack Platform 環境が適切なプールにアクセスできるようにします。
ceph auth add client.openstack mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rwx pool=images'返された、提供された Ceph クライアントキーを保存します。アンダークラウドを設定する際に、このキーを
CephClientKeyパラメーターの値として使用します。注記このコマンドを中央サイトで実行し、Cinder バックアップまたは Telemetry サービスを使用する予定の場合、コマンドに allow rwx pool=backups, allow pool=metrics を追加します。
Ceph Storage クラスターのファイルシステム ID を保存します。Ceph 設定ファイルの
[global]セクションのfsidパラメーターの値は、ファイルシステム ID です。[global] fsid = 4b5c8c0a-ff60-454b-a1b4-9747aa737d19 ...この値は、アンダークラウドを設定する際に
CephClusterFSIDパラメーターの値として使用します。アンダークラウド上で環境ファイルを作成し、ノードが非マネージド Ceph クラスターに接続するように設定します。ceph-external-<SITE>.yaml など、認識可能な命名規則を使用します。ここで、SITE はデプロイメントの場所に置き換えます (例: ceph-external-central.yaml、ceph-external-dcn1.yaml 等)。
parameter_defaults: # The cluster FSID CephClusterFSID: '4b5c8c0a-ff60-454b-a1b4-9747aa737d19' # The CephX user auth key CephClientKey: 'AQDLOh1VgEp6FRAAFzT7Zw+Y9V6JJExQAsRnRQ==' # The list of IPs or hostnames of the Ceph monitors CephExternalMonHost: '172.16.1.7, 172.16.1.8, 172.16.1.9' # The desired name of the generated key and conf files CephClusterName: dcn1- CephClusterFSID および CephClientKey パラメーターには、以前に保存した値を使用します。
- CephExternalMonHost パラメーターの値として、Ceph モニターの ip アドレスのコンマ区切りリストを使用します。
-
CephClusterNameパラメーターには、エッジサイト間で一意の値を選択する必要があります。名前を再利用すると、設定ファイルが上書きされます。
Red Hat OpenStack Platform director を使用して Red Hat Ceph Storage を中央サイトにデプロイした場合、ceph の設定を環境ファイル
central_ceph_external.yamlにエクスポートできます。この環境ファイルにより、DCN サイトが中央ハブの Ceph クラスターに接続されので、詳細は前の手順でデプロイした Ceph クラスターに固有のものです。sudo -E openstack overcloud export ceph \ --stack central \ --output-file /home/stack/dcn-common/central_ceph_external.yaml中央サイトの外に Red Hat Ceph Storage がデプロイされている場合、
openstack overcloud export cephコマンドを使用してcentral_ceph_external.yamlファイルを生成することはできません。代わりに central_ceph_external.yaml ファイルを手動で作成する必要があります。parameter_defaults: CephExternalMultiConfig: - cluster: "central" fsid: "3161a3b4-e5ff-42a0-9f53-860403b29a33" external_cluster_mon_ips: "172.16.11.84, 172.16.11.87, 172.16.11.92" keys: - name: "client.openstack" caps: mgr: "allow *" mon: "profile rbd" osd: "profile rbd pool=vms, profile rbd pool=volumes, profile rbd pool=images" key: "AQD29WteAAAAABAAphgOjFD7nyjdYe8Lz0mQ5Q==" mode: "0600" dashboard_enabled: false ceph_conf_overrides: client: keyring: /etc/ceph/central.client.openstack.keyring各サイトについて同様の詳細を記述した環境ファイルを作成し、中央サイトには非マネージド Red Hat Ceph Storage クラスターを使用します。
openstack overcloud export cephコマンドは、非マネージド Red Hat Ceph Storage クラスターがあるサイトでは機能しません。中央サイトを更新すると、このファイルによって、中央サイトはエッジサイトのストレージクラスターをセカンダリーロケーションとして使用できるようになります。parameter_defaults: CephExternalMultiConfig: cluster: dcn1 … cluster: dcn2 …オーバークラウドをデプロイする場合は、環境ファイル external-ceph.yaml、ceph-external-<SITE>.yaml、および central_ceph_external.yaml を使用します。
openstack overcloud deploy \ --stack dcn1 \ --templates /usr/share/openstack-tripleo-heat-templates/ \ -r ~/dcn1/roles_data.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/external-ceph.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/dcn-storage.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/nova-az-config.yaml \ -e /home/stack/dnc1/ceph-external-dcn1.yaml \ .... -e /home/stack/overcloud-deploy/central/central-export.yaml \ -e /home/stack/dcn-common/central_ceph_external.yaml \ -e /home/stack/dcn1/dcn_ceph_keys.yaml \ -e /home/stack/dcn1/role-counts.yaml \ -e /home/stack/dcn1/ceph.yaml \ -e /home/stack/dcn1/site-name.yaml \ -e /home/stack/dcn1/tuning.yaml \ -e /home/stack/dcn1/glance.yaml- すべてのエッジサイトが配置された後、中央サイトを再デプロイします。