3.15. ホストの追加
Red Hat Ceph Storage インストールをブートストラップすると、同じコンテナー内の 1 つの Monitor デーモンと 1 つの Manager デーモンで設定される作業ストレージクラスターが作成されます。ストレージ管理者は、追加のホストをストレージクラスターに追加し、それらを設定することができます。
-
プリフライト Playbook を実行すると、Ansible インベントリーファイルにリストされているすべてのホストに
podman
、lvm2
、chrony
、およびcephadm が
インストールされます。 カスタムレジストリーを使用する場合は、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@host03
Ansible 管理ノードの
/usr/share/cephadm-ansible
ディレクトリーに移動します。例
[ceph-admin@admin ~]$ cd /usr/share/cephadm-ansible
Ansible 管理ノードから、新しいホストを Ansible インベントリーファイルに追加します。ファイルのデフォルトの場所は
/usr/share/cephadm-ansible/hosts/
です。以下の例は、一般的なインベントリーファイルの構造を示しています。例
[ceph-admin@admin ~]$ cat hosts host02 host03 host04 [admin] host01
注記新しいホストを Ansible インベントリーファイルに追加し、ホストでプリフライト Playbook を実行している場合は、ステップ 4 に進みます。
--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/
ディレクトリーに配置されます。ブートストラップノードから、
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
関連情報
- Red Hat Ceph Storage Installation Guide の Registering Red Hat Ceph Storage nodes to the CDN and attaching subscriptions セクションを参照してください。
- Red Hat Ceph Storage インストールガイド の sudo アクセスが設定された Ansible ユーザーの作成 セクションを参照してください。
3.15.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.15.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.15.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.15.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 status
OSD に配置グループ (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
関連情報
- 詳細は Red Hat Ceph Storage Operations Guide の Adding hosts using the Ceph Orchestrator セクションを参照してください。
- 詳細は Red Hat Ceph Storage Operations Guide の Listing hosts using the Ceph Orchestrator セクションを参照してください。