3.15. ホストのラベル付け
Ceph オーケストレーターは、ホストへのラベルの割り当てをサポートします。ラベルは自由形式であり、特別な意味はありません。つまり、mon
、monitor
、mycluster_monitor
、またはその他のテキスト文字列を使用できます。各ホストに複数のラベルを指定できます。
Red Hat Ceph Storage 8.1 以降、Ceph Orchestrator はホストへの一般ラベルとトポロジーラベルの両方の割り当てをサポートしています。ラベルは任意のテキスト文字列を使用して free-form にすることができます。トポロジーラベルは、ハードウェア識別子とユーザーラベルとともに入力されます。
- ラベル
ラベルはユーザーが指定した free-form のテキストです。たとえば、Ceph Monitor デーモンをデプロイするすべてのホストで、
mycluster_mon
などのラベルを使用します。次に、Ceph Manager デーモンをデプロイするすべてのホストに、2 番目のラベルmycluster_mgr
を配置します。ストレージクラスター内のすべてのホストにラベルを付けると、各ホストで実行されているデーモンをすばやく識別できるため、システム管理タスクが簡素化されます。さらに、Ceph Orchestrator または YAML ファイルを使用して、特定のホストラベルを持つホストにデーモンをデプロイまたは削除できます。
- トポロジーラベル
- Red Hat Ceph Storage 8.1 以降では、マルチラック環境でトポロジーラベルを使用して、ラックごとに異なるサービスを作成できるようになりました。トポロジーラベルにより、特定のホストでのアップグレード操作が可能になります。詳細は、段階的アップグレード を参照してください。
ホストにラベルを付ける前に、ストレージクラスターがインストールされ、ブートストラップされていることを確認してください。
3.15.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 シェルにログインします。
例
cephadm shell
[root@host01 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ホストにラベルを追加します。
構文
ceph orch host label add HOSTNAME LABEL
ceph orch host label add HOSTNAME LABEL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# ceph orch host label add host02 mon
[ceph: root@host01 /]# ceph orch host label add host02 mon
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ホストをリスト表示します。
例
[ceph: root@host01 /]# ceph orch host ls
[ceph: root@host01 /]# ceph orch host ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.15.2. ホストからのラベルの削除 リンクのコピーリンクがクリップボードにコピーされました!
Ceph オーケストレーターを使用して、ホストからラベルを削除します。
前提条件
- インストールされ、ブートストラップされたストレージクラスター。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
手順
cephadm
シェルを起動します。cephadm shell
[root@host01 ~]# cephadm shell [ceph: root@host01 /]#
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ラベルを削除します。
構文
ceph orch host label rm HOSTNAME LABEL
ceph orch host label rm HOSTNAME LABEL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# ceph orch host label rm host02 mon
[ceph: root@host01 /]# ceph orch host label rm host02 mon
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ホストをリスト表示します。
例
[ceph: root@host01 /]# ceph orch host ls
[ceph: root@host01 /]# ceph orch host ls
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.15.3. ホストラベルを使用した特定ホストへのデーモンのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
ホストラベルを使用して、特定のホストにデーモンをデプロイできます。ホストラベルを使用して特定のホストにデーモンをデプロイするには、次の 2 つの方法があります。
-
コマンドラインから
--placement
オプションを使用する。 - YAML ファイルを使用する。
前提条件
- インストールされ、ブートストラップされたストレージクラスター。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
手順
Cephadm シェルにログインします。
例
cephadm shell
[root@host01 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 現在のホストとラベルをリスト表示します。
例
[ceph: root@host01 /]# ceph orch host ls HOST ADDR LABELS STATUS host01 _admin mon osd mgr host02 mon osd mgr mylabel
[ceph: root@host01 /]# ceph orch host ls HOST ADDR LABELS STATUS host01 _admin mon osd mgr host02 mon osd mgr mylabel
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 方法 1:
--placement
オプションを使用して、コマンドラインからデーモンをデプロイします。構文
ceph orch apply DAEMON --placement="label:LABEL"
ceph orch apply DAEMON --placement="label:LABEL"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# ceph orch apply prometheus --placement="label:mylabel"
[ceph: root@host01 /]# ceph orch apply prometheus --placement="label:mylabel"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 方法 2: デーモンを YAML ファイルの特定のホストラベルに割り当てるには、YAML ファイルでサービスタイプおよびラベルを指定します。
placement.yml
ファイルを作成します。例
[ceph: root@host01 /]# vi placement.yml
[ceph: root@host01 /]# vi placement.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow placement.yml
ファイルでサービスの種類とラベルを指定します。例
service_type: prometheus placement: label: "mylabel"
service_type: prometheus placement: label: "mylabel"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow デーモン配置ファイルを適用します。
構文
ceph orch apply -i FILENAME
ceph orch apply -i FILENAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# ceph orch apply -i placement.yml Scheduled prometheus update…
[ceph: root@host01 /]# ceph orch apply -i placement.yml Scheduled prometheus update…
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
デーモンのステータスをリスト表示します。
構文
ceph orch ps --daemon_type=DAEMON_NAME
ceph orch ps --daemon_type=DAEMON_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[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
[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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.15.4. ホストへのトポロジーラベルの追加 リンクのコピーリンクがクリップボードにコピーされました!
マルチラック環境でトポロジーラベルを使用すると、Cephadm がクラスター内のホストのトポロジーレイアウトを認識できるようになります。トポロジーラベルにより、特定のホストでのアップグレード操作が可能になります。
コマンドラインインターフェイスまたはホスト仕様ファイルを使用して、トポロジーラベルを追加します。
前提条件
始める前に、次の前提条件が満たされていることを確認してください。
- インストールされ、ブートストラップされたストレージクラスター。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
手順
方法 1: コマンドラインインターフェイスを使用してトポロジーラベルを追加します。
Cephadm シェルで、host add または set-topological-labels コマンドを使用してトポロジーラベルを追加します。
ラベルは、
hardware_identifier
=user_label
の形式で記述されます。ハードウェア識別子はデータセンターまたはラックを指定できます。コンマ区切りで複数のラベルを使用できます。ホストにトポロジーラベルを追加するには、次のコマンドのいずれかを使用します。
--topological-labels
オプションを指定したhost add
コマンドを使用します。構文
ceph orch host add _HOSTNAME_ _IP_ADDRESS_ --topological-labels _TOPOLOGICAL_LABEL1_,_TOPOLOGICAL_LABEL2_
ceph orch host add _HOSTNAME_ _IP_ADDRESS_ --topological-labels _TOPOLOGICAL_LABEL1_,_TOPOLOGICAL_LABEL2_
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph orch host add host02 10.10.128.69 --topological-labels datacenter=A,rack=3
ceph orch host add host02 10.10.128.69 --topological-labels datacenter=A,rack=3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow set-topological-labels
コマンドを使用します。重要set-topological-labels
コマンドは、既存のトポロジーラベルを上書きします。ラベルを指定せずにコマンドを実行すると、ホストのすべてのラベルがクリアされます。ラベル付きでコマンドを実行すると、ホスト上の既存のラベルが置き換えられます。このコマンドの実行中に使用されるラベルは、既存のラベルに追加されません。構文
ceph orch host set-topological-labels _HOSTNAME_ _TOPOLOGICAL_LABEL1_,_TOPOLOGICAL_LABEL2_
ceph orch host set-topological-labels _HOSTNAME_ _TOPOLOGICAL_LABEL1_,_TOPOLOGICAL_LABEL2_
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph orch host add host02 10.10.128.69 --topological-labels datacenter=A,rack=3
ceph orch host add host02 10.10.128.69 --topological-labels datacenter=A,rack=3
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 方法 2 サービス仕様ファイルを使用してトポロジーラベルを追加します。
ホスト仕様ファイル内からトポロジーラベルを設定します。
構文
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
-
ceph orch host ls -f yaml
コマンドを使用して、ホストの既存のトポロジーラベルを見つけます。