Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
第3章 専用ノード上でのその他の Ceph サービスのデプロイ
デフォルトでは、director は Ceph MON サービスおよび Ceph MDS サービスをコントローラーノードにデプロイします。これは、小規模なデプロイメントに適しています。しかし、大規模なデプロイメントの場合には、Ceph クラスターのパフォーマンスを向上させるために、Ceph MON サービスおよび Ceph MDS サービスを専用のノードにデプロイすることを推奨します。そのためには、いずれかのサービス用の カスタムロール を作成します。
カスタムロールについての詳細は、オーバークラウドの高度なカスタマイズの 新規ロールの作成 を参照してください。
director は、全オーバークラウドロールのデフォルトのリファレンスとして以下のファイルを使用します。
-
/usr/share/openstack-tripleo-heat-templates/roles_data.yaml
このファイルを /home/stack/templates/
にコピーして、カスタムロールを追加できるようにします。
$ cp /usr/share/openstack-tripleo-heat-templates/roles_data.yaml /home/stack/templates/roles_data_custom.yaml
後でオーバークラウドの作成時に /home/stack/templates/roles_data_custom.yaml
ファイルを呼び出します(「オーバークラウドデプロイメントの開始」以下のサブセクションでは、Ceph MON サービスまたは Ceph MDS サービス向けのカスタムロールの設定方法について説明します。
3.1. Ceph MON サービス向けのカスタムロールとフレーバーの作成
本項では、Ceph MON ロール向けにカスタムロール (名前: CephMon
) およびフレーバー (名前: ceph-mon
) を作成する方法について説明します。デフォルトロールのデータファイルは、すでにコピー済みのはずです (詳細は3章専用ノード上でのその他の Ceph サービスのデプロイを参照)。
-
/home/stack/templates/roles_data_custom.yaml
ファイルを開きます。 - Ceph MON サービスのサービスエントリー (OS::TripleO::Services::CephMon) を Controller ロールのセクションから削除します。
OS::TripleO::Services::CephClient サービスを Controller ロールに追加します。
[...] - name: Controller # the 'primary' role goes first CountDefault: 1 ServicesDefault: - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephMds - OS::TripleO::Services::CephClient - OS::TripleO::Services::CephExternal - OS::TripleO::Services::CephRbdMirror - OS::TripleO::Services::CephRgw - OS::TripleO::Services::CinderApi [...]
roles_data_custom.yaml
の末尾に、Ceph MON サービスおよびその他すべての必要なノードサービスを含むカスタムのCephMon
ロールを追加します。以下に例を示します。- name: CephMon ServicesDefault: # Common Services - OS::TripleO::Services::AuditD - OS::TripleO::Services::CACerts - OS::TripleO::Services::CertmongerUser - OS::TripleO::Services::Collectd - OS::TripleO::Services::Docker - OS::TripleO::Services::Fluentd - OS::TripleO::Services::Kernel - OS::TripleO::Services::Ntp - OS::TripleO::Services::ContainersLogrotateCrond - OS::TripleO::Services::SensuClient - OS::TripleO::Services::Snmp - OS::TripleO::Services::Timezone - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::Tuned # Role-Specific Services - OS::TripleO::Services::CephMon
openstack flavor create
コマンドを使用して、このロール用にceph-mon
という名前の新規フレーバーを定義します。$ openstack flavor create --id auto --ram 6144 --disk 40 --vcpus 4 ceph-mon
注記このコマンドについての詳しい情報を確認するには、
openstack flavor create --help
を実行してください。このフレーバーを新規プロファイルにマッピングします。このプロファイルも
ceph-mon
という名前です。$ openstack flavor set --property "cpu_arch"="x86_64" --property "capabilities:boot_option"="local" --property "capabilities:profile"="ceph-mon" ceph-mon
注記このコマンドについての詳しい情報を確認するには、
openstack flavor set --help
を実行してください。ノードを新しい
ceph-mon
プロファイルにタグ付けします。$ ironic node-update UUID add properties/capabilities='profile:ceph-mon,boot_option:local'
ceph-mon
フレーバーを CephMon ロールに関連付けるには、以下の設定をnode-info.yaml
ファイルに追加します。parameter_defaults: OvercloudCephMonFlavor: CephMon CephMonCount: 3
ノードのタグ付けに関する詳しい情報は、「ノードの手動でのタグ付け」を参照してください。また、カスタムロールプロファイルの関連情報は、プロファイルへのノードのタグ付け を参照してください。