3.16. ホストのラベル付け
Ceph オーケストレーターは、ホストへのラベルの割り当てをサポートします。ラベルは自由形式であり、特別な意味はありません。つまり、mon
、monitor
、mycluster_monitor
、またはその他のテキスト文字列を使用できます。各ホストに複数のラベルを指定できます。
たとえば、Ceph Monitor デーモンを配置するすべてのホストに mon
ラベルを、Ceph Manager デーモンを配置するすべてのホストに mgr
を、Ceph Object Gateway デーモンに rgw
をといった具合に適用します。
ストレージクラスター内のすべてのホストにラベルを付けると、各ホストで実行されているデーモンをすばやく識別できるため、システム管理タスクが簡素化されます。さらに、Ceph オーケストレーターまたは YAML ファイルを使用して、特定のホストラベルを持つホストにデーモンをデプロイまたは削除できます。
3.16.1. ホストへのラベルの追加
Ceph オーケストレーターを使用して、ラベルをホストに追加します。ラベルを使用して、デーモンの配置を指定できます。
ラベルの例の一部は、ホストにデプロイされるサービスに基づいて、mgr
、mon
、および osd
になります。各ホストに複数のラベルを指定できます。
cephadm
に特別な意味を持ち、_
で始まる以下のホストラベルを追加することもできます。
-
_no_schedule
: このラベルは、cephadm
がホスト上でデーモンをスケジュールまたはデプロイすることを阻止します。すでに Ceph デーモンが含まれている既存のホストに追加されると、これにより、cephadm
は、自動的に削除されない OSD を除いて、それらのデーモンを別の場所に移動します。ホストに_no_schedule
ラベルが追加されると、デーモンはそのホストにデプロイされません。ホストが削除される前にデーモンがドレインされると、そのホストに_no_schedule
ラベルが設定されます。 -
_no_autotune_memory
: このラベルは、ホスト上のメモリーを自動調整しません。そのホスト上の 1 つ以上のデーモンに対して、osd_memory_target_autotune
オプションまたは他の同様のオプションが有効になっている場合でも、デーモンメモリーが調整されることを阻止します。 -
_admin
: デフォルトでは、_admin
ラベルはストレージクラスター内のブートストラップされたホストに適用され、client.admin
キーは、ceph orch client-keyring {ls|set|rm}
関数でそのホストに配布されるように設定されます。このラベルを追加のホストに追加すると、通常、cephadm
は設定ファイルとキーリングファイルを/etc/ceph
ディレクトリー にデプロイします。
前提条件
- インストールされ、ブートストラップされたストレージクラスター。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
- ホストがストレージクラスターに追加されている。
手順
Cephadm シェルにログインします。
例
[root@host01 ~]# cephadm shell
ホストにラベルを追加します。
構文
ceph orch host label add HOSTNAME LABEL
例
[ceph: root@host01 /]# ceph orch host label add host02 mon
検証
ホストをリスト表示します。
例
[ceph: root@host01 /]# ceph orch host ls
3.16.2. ホストからのラベルの削除
Ceph オーケストレーターを使用して、ホストからラベルを削除します。
前提条件
- インストールされ、ブートストラップされたストレージクラスター。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
手順
cephadm
シェルを起動します。[root@host01 ~]# cephadm shell [ceph: root@host01 /]#
ラベルを削除します。
構文
ceph orch host label rm HOSTNAME LABEL
例
[ceph: root@host01 /]# ceph orch host label rm host02 mon
検証
ホストをリスト表示します。
例
[ceph: root@host01 /]# ceph orch host ls
3.16.3. ホストラベルを使用した特定ホストへのデーモンのデプロイ
ホストラベルを使用して、特定のホストにデーモンをデプロイできます。ホストラベルを使用して特定のホストにデーモンをデプロイするには、次の 2 つの方法があります。
-
コマンドラインから
--placement
オプションを使用する。 - YAML ファイルを使用する。
前提条件
- インストールされ、ブートストラップされたストレージクラスター。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
手順
Cephadm シェルにログインします。
例
[root@host01 ~]# cephadm shell
現在のホストとラベルをリスト表示します。
例
[ceph: root@host01 /]# ceph orch host ls HOST ADDR LABELS STATUS host01 _admin mon osd mgr host02 mon osd mgr mylabel
方法 1:
--placement
オプションを使用して、コマンドラインからデーモンをデプロイします。構文
ceph orch apply DAEMON --placement="label:LABEL"
例
[ceph: root@host01 /]# ceph orch apply prometheus --placement="label:mylabel"
方法 2: デーモンを YAML ファイルの特定のホストラベルに割り当てるには、YAML ファイルでサービスタイプおよびラベルを指定します。
placement.yml
ファイルを作成します。例
[ceph: root@host01 /]# vi placement.yml
placement.yml
ファイルでサービスの種類とラベルを指定します。例
service_type: prometheus placement: label: "mylabel"
デーモン配置ファイルを適用します。
構文
ceph orch apply -i FILENAME
例
[ceph: root@host01 /]# ceph orch apply -i placement.yml Scheduled prometheus update…
検証
デーモンのステータスをリスト表示します。
構文
ceph orch ps --daemon_type=DAEMON_NAME
例
[ceph: root@host01 /]# ceph orch ps --daemon_type=prometheus NAME HOST PORTS STATUS REFRESHED AGE MEM USE MEM LIM VERSION IMAGE ID CONTAINER ID prometheus.host02 host02 *:9095 running (2h) 8m ago 2h 85.3M - 2.22.2 ac25aac5d567 ad8c7593d7c0