3.16. ホストの追加
Red Hat Ceph Storage インストールをブートストラップすると、同じコンテナー内の 1 つの Monitor デーモンと 1 つの Manager デーモンで構成される作業ストレージクラスターが作成されます。ストレージ管理者は、追加のホストをストレージクラスターに追加し、それらを設定することができます。
-
Red Hat Enterprise Linux 8 の場合、プリフライト Playbook を実行すると、Ansible インベントリーファイルに記載されているすべてのホストに
podman、lvm2、chronyd、およびcephadmがインストールされます。 -
Red Hat Enterprise Linux 9 の場合、プリフライト Playbook がサポートされていないため、すべてのホストに
podman、lvm2、chronyd、およびcephadmを手動でインストールし、Ansible Playbook の実行手順をスキップする必要があります。 カスタムレジストリーを使用する場合は、Ceph デーモンを追加する前に、新しく追加したノードのカスタムレジストリーにログインしてください。
.Syntax [source,subs="verbatim,quotes"] ---- # ceph cephadm registry-login --registry-url _CUSTOM_REGISTRY_NAME_ --registry_username _REGISTRY_USERNAME_ --registry_password _REGISTRY_PASSWORD_ ----.Example ---- # ceph cephadm registry-login --registry-url myregistry --registry_username myregistryusername --registry_password myregistrypassword1 ----
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ルートレベル、またはストレージクラスター内のすべてのノードへの sudo アクセス権を持つユーザー。
- ノードを CDN に登録して、サブスクリプションを割り当てます。
-
ストレージクラスター内のすべてのノードへの sudo アクセスおよびパスワードなしの
sshアクセスのある Ansible ユーザー。
手順
+
次の手順では、示されているように root、またはユーザーがブートストラップされているユーザー名のいずれかを使用します。
管理キーリングが含まれるノードから、新規ホストの root ユーザーの
authorized_keysファイルにストレージクラスターの公開 SSH 鍵をインストールします。構文
ssh-copy-id -f -i /etc/ceph/ceph.pub user@NEWHOST例
[root@host01 ~]# ssh-copy-id -f -i /etc/ceph/ceph.pub root@host02 [root@host01 ~]# ssh-copy-id -f -i /etc/ceph/ceph.pub root@host03Ansible 管理ノードの
/usr/share/cephadm-ansibleディレクトリーに移動します。例
[ceph-admin@admin ~]$ cd /usr/share/cephadm-ansibleAnsible 管理ノードから、新しいホストを Ansible インベントリーファイルに追加します。ファイルのデフォルトの場所は
/usr/share/cephadm-ansible/hosts/です。以下の例は、一般的なインベントリーファイルの構造を示しています。例
[ceph-admin@admin ~]$ cat hosts host02 host03 host04 [admin] host01注記新しいホストを Ansible インベントリーファイルに追加し、ホストでプリフライト Playbook を実行している場合は、ステップ 4 に進みます。
Red Hat Enterprise Linux 8 の
--limitオプションを指定して、プリフライト Playbook を実行します。構文
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit NEWHOST例
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs" --limit host02プリフライト Playbook は、新しいホストに
podman、lvm2、chrony、およびcephadmをインストールします。インストールが完了すると、cephadmは/usr/sbin/ディレクトリーに配置されます。Red Hat Enterprise Linux 9 の場合は、
podman、lvm2、chronyd、およびcephadmを手動でインストールします。[root@host01 ~]# dnf install podman lvm2 chrony cephadm
ブートストラップノードから、
cephadmオーケストレーターを使用して、新しいホストをストレージクラスターに追加します。構文
ceph orch host add NEWHOST例
[ceph: root@host01 /]# ceph orch host add host02 Added host 'host02' with addr '10.10.128.69' [ceph: root@host01 /]# ceph orch host add host03 Added host 'host03' with addr '10.10.128.70'オプション: プリフライト Playbook を実行する前後に、IP アドレスでノードを追加することもできます。ストレージクラスター環境に DNS が設定されていない場合は、ホスト名とともに、IP アドレスでホストを追加できます。
構文
ceph orch host add HOSTNAME IP_ADDRESS例
[ceph: root@host01 /]# ceph orch host add host02 10.10.128.69 Added host 'host02' with addr '10.10.128.69'検証
ストレージクラスターのステータスを表示し、新しいホストが追加されたことを確認します。ホストの STATUS は、
ceph orch host lsコマンドの出力では空白になります。例
[ceph: root@host01 /]# ceph orch host ls
3.16.1. addr オプションを使用したホストの特定 リンクのコピーリンクがクリップボードにコピーされました!
addr オプションは、ホストに接続するための追加の方法を提供します。ホストの IP アドレスを addr オプションに追加します。ssh がホスト名でホストに接続できない場合は、addr に保存されている値を使用して、IP アドレスでホストに到達します。
前提条件
- インストールされ、ブートストラップされたストレージクラスター。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
手順
cephadm シェル内からこの手順を実行します。
IP アドレスを追加します。
構文
ceph orch host add HOSTNAME IP_ADDR例
[ceph: root@host01 /]# ceph orch host add host01 10.10.128.68
ホスト名でホストを追加すると、ホストが IPv4 アドレスではなく IPv6 アドレスで追加される場合は、ceph orch host を使用してそのホストの IP アドレスを指定します。
ceph orch host set-addr HOSTNAME IP_ADDR
追加したホストの IP アドレスを IPv6 形式から IPv4 形式に変換するには、次のコマンドを使用します。
ceph orch host set-addr HOSTNAME IPV4_ADDRESS
3.16.2. 複数のホストの追加 リンクのコピーリンクがクリップボードにコピーされました!
YAML ファイルを使用して、複数のホストをストレージクラスターに同時に追加します。
必ずホストコンテナー内に hosts.yaml ファイルを作成するか、ローカルホストにファイルを作成してから、cephadm シェルを使用してファイルをコンテナー内にマウントします。cephadm シェルは、マウントしたファイルを /mnt に自動的に配置します。ローカルホストにファイルを直接作成し、マウントする代わりに hosts.yaml ファイルを適用すると、File does not exist というエラーが表示される可能性があります。
前提条件
- インストールされ、ブートストラップされたストレージクラスター。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
手順
-
ssh公開鍵を、追加する各ホストにコピーします。 -
テキストエディターを使用して
hosts.yamlファイルを作成します。 以下の例のように、
host.yamlファイルにホストの説明を追加します。各ホストにデプロイするデーモンの配置を識別するラベルを含めます。各ホストの説明は、3 つのダッシュ (---) で区切ります。例
service_type: host addr: hostname: host02 labels: - mon - osd - mgr --- service_type: host addr: hostname: host03 labels: - mon - osd - mgr --- service_type: host addr: hostname: host04 labels: - mon - osdホストコンテナー内に
hosts.yamlファイルを作成した場合は、ceph orch applyコマンドを実行します。例
[root@host01 ~]# ceph orch apply -i hosts.yaml Added host 'host02' with addr '10.10.128.69' Added host 'host03' with addr '10.10.128.70' Added host 'host04' with addr '10.10.128.71'ローカルホストで直接
hosts.yamlファイルを作成した場合は、cephadmシェルを使用してファイルをマウントします。例
[root@host01 ~]# cephadm shell --mount hosts.yaml -- ceph orch apply -i /mnt/hosts.yamlホストおよびそれらのラベルのリストを表示します。
例
[root@host01 ~]# ceph orch host ls HOST ADDR LABELS STATUS host02 host02 mon osd mgr host03 host03 mon osd mgr host04 host04 mon osd注記ホストがオンラインで正常に動作している場合、そのステータスは空白になります。オフラインホストには OFFLINE のステータスが表示され、メンテナンスモードのホストには MAINTENANCE のステータスが表示されます。
3.16.3. 非接続デプロイメントでのホストの追加 リンクのコピーリンクがクリップボードにコピーされました!
プライベートネットワークでストレージクラスターを実行し、ホストドメイン名サーバー (DNS) がプライベート IP 経由で到達できない場合は、ストレージクラスターに追加する各ホストのホスト名と IP アドレスの両方を含める必要があります。
前提条件
- 実行中のストレージクラスター。
- ストレージクラスター内のすべてのホストへの root レベルのアクセス。
手順
cephadmシェルを実行します。構文
[root@host01 ~]# cephadm shellホストを追加します。
構文
ceph orch host add HOST_NAME HOST_ADDRESS例
[ceph: root@host01 /]# ceph orch host add host03 10.10.128.70
3.16.4. ホストの削除 リンクのコピーリンクがクリップボードにコピーされました!
Ceph Orchestrator で、Ceph クラスターのホストを削除できます。すべてのデーモンは、_no_schedule ラベルを追加する drain オプションで削除され、操作が完了するまでデーモンまたはクラスターをデプロイメントできないようにします。
ブートストラップホストを削除する場合は、ホストを削除する前に、必ず管理キーリングと設定ファイルをストレージクラスター内の別のホストにコピーしてください。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- すべてのノードへの root レベルのアクセス。
- ホストがストレージクラスターに追加されている。
- すべてのサービスがデプロイされている。
- Cephadm が、サービスを削除する必要があるノードにデプロイされている。
手順
Cephadm シェルにログインします。
例
[root@host01 ~]# cephadm shellホストの詳細を取得します。
例
[ceph: root@host01 /]# ceph orch host lsホストからすべてのデーモンをドレインします。
構文
ceph orch host drain HOSTNAME例
[ceph: root@host01 /]# ceph orch host drain host02_no_scheduleラベルは、デプロイメントをブロックするホストに自動的に適用されます。OSD の削除のステータスを確認します。
例
[ceph: root@host01 /]# ceph orch osd rm statusOSD に配置グループ (PG) が残っていない場合、OSD は廃止され、ストレージクラスターから削除されます。
ストレージクラスターからすべてのデーモンが削除されているかどうかを確認します。
構文
ceph orch ps HOSTNAME例
[ceph: root@host01 /]# ceph orch ps host02ホストを削除。
構文
ceph orch host rm HOSTNAME例
[ceph: root@host01 /]# ceph orch host rm host02