クラスターノードの編集
このトピックで提供される情報を使用して、運用中のParagon Automationクラスターノードを編集します。 repair コマンドを使用して、クラスターノードの追加、削除、または置換、および障害が発生したノードの修復を行うことができます。修復プロセスでは、クラスターノードが再構築され、ノード内のポッドが再起動されます。
マルチプライマリノードクラスターのプライマリノードとすべてのクラスターのワーカーノードを編集する
複数のプライマリノードを持つクラスターでは、プライマリノードとワーカーノードを追加または削除することで、プライマリノードとワーカーノードの両方を編集できます。ただし、プライマリノードを追加または削除する場合は、プライマリノードの総数が奇数であることを確認する必要があります。また、コントロールプレーンで高可用性を確保するには、少なくとも3つのプライマリノードが必要です。マルチプライマリノードクラスター内のノードを編集するには、次の手順を使用します。
また、同じ手順を使用して、シングルプライマリーノードクラスター内のワーカーノードのみを編集することもできます。
- 新しいノードまたは交換ノードを準備し、クラスターノードの前提条件をすべて満たしていることを確認します。ベースOSに応じて、 Ubuntuクラスターノードの準備 または RHELクラスターノードの準備を参照してください。
- 追加または修復するノードにログインします。
- udevd デーモンを無効にします。
- udevd が実行されているかどうかを確認します。
# systemctl is-active systemd-udevd - udevd がアクティブな場合は、無効にします。
# systemctl mask system-udevd --now
- udevd が実行されているかどうかを確認します。
- 制御ホストにログインします。
-
ノードを追加する場合は、インベントリファイルを編集して新しいノードのIPアドレスを追加します。
ノードを削除する場合は、インベントリファイルを編集して、削除するノードのIPアドレスを削除します。
ノードを交換する際に、交換ノードのIPアドレスが現在のノードと異なる場合は、インベントリファイルを更新して、古いノードアドレスを新しいノードアドレスに置き換えます。
ノードを修復していて、IPアドレスが変更されていない場合は、インベントリファイルを編集する必要はありません。
- 次のいずれかのコマンドを実行します。
ノードアドレスが変更されていない場合、またはノードを追加または削除する場合は、
./run –c config-dir repair node-ip-address-or-hostnameノードアドレスが変更された場合は、
./run -c config-dir repair old-node-ip-address-or-hostname,new-node-ip-address-or-hostname -
ノードが修復または交換されても、Ceph 分散ファイルシステムは自動的に更新されません。修復プロセスの一環としてデータディスクが破壊された場合は、それらのデータディスクでホストされているオブジェクトストレージデーモン(OSD)を復元する必要があります。
-
Ceph ツールボックスに接続し、OSD のステータスを表示します。
ceph-toolsスクリプトがプライマリノードにインストールされます。プライマリノードにログインし、kubectlインターフェイスを使用してceph-toolsにアクセスできます。プライマリ ノード以外のノードを使用するには、 admin.conf ファイル(制御ホストの config-dir)をコピーしてkubeconfig環境変数を設定するか、export KUBECONFIG=config-dir/admin.confコマンドを使用する必要があります。$ ceph-tools# ceph osd status -
すべてのOSDが
exists,upとしてリストされていることを確認します。OSD が損傷している場合は、 Ceph および Rook のトラブルシューティングで説明されているトラブルシューティング手順に従ってください。
-
- すべてのOSDが作成されていることを確認した後、追加または修復したノードにログインします。
-
そのノードでudevdを再度有効にします。
systemctl unmask system-udevd
シングルプライマリノードクラスターでのプライマリノードの編集
単一プライマリノードクラスターでは、プライマリノードとワーカーノードの両方を編集できます。ただし、プライマリノードを削除または追加することはできません。
プライマリノードを追加できるのは、既存のクラスターがすでに複数プライマリクラスターである場合のみです。
ノード修復中は、新しいポッドをスケジュールすることができず、既存のポッドは動作しないままであるため、サービスが低下します。
シングルプライマリノードクラスターでプライマリノードを復元するには、最新バージョンの etcd-snapshot.db ファイルが必要です。
etcd-snapshot.dbファイルは、5分ごとにローカルの/export/backup/etcd-snapshot.dbにバックアップされます。このファイルを定期的に別の遠隔地にコピーするか、外部ファイルサーバーに /export/backup/ をマウントすることをお勧めします。
プライマリ ノードを交換または修復するには、 etcd-snapshot.db ファイルが用意されている必要があります。
- 交換または修復するノードにログインします。
- udevd プロセスを無効にします。
- udevd が実行されているかどうかを確認します。
# systemctl is-active systemd-udevd - udevd がアクティブな場合は、無効にします。
# systemctl mask system-udevd --now
- udevd が実行されているかどうかを確認します。
- 制御ホストにログインします。
- etcd-snapshot.db ファイルを制御ホストにコピーするか、外部の /export/backup/ マウントを復元します。
-
以下のコマンドのいずれかを実行して、ノードを交換または修復します。
ノードアドレスが変更されていない場合は、
./run –c config-dir repair node-ip-address-or-hostname –e etcd_backup=path-to-etcd-snapshot.dbノードアドレスが変更された場合は、
./run –c config-dir repair old-node-ip-address-or-hostname,new-node-ip-address-or-hostname –e etcd_backup=path-to-etcd-snapshot.db -
ノードが修復または交換されても、Ceph 分散ファイルシステムは自動的に更新されません。修復プロセスの一環としてデータディスクが破壊された場合は、それらのデータディスクでホストされているオブジェクトストレージデーモン(OSD)を復元する必要があります。
-
Ceph ツールボックスに接続し、OSD のステータスを表示します。
ceph-toolsスクリプトがプライマリノードにインストールされます。プライマリノードにログインし、kubectlインターフェイスを使用してceph-toolsにアクセスできます。プライマリ ノード以外のノードを使用するには、 admin.conf ファイル(制御ホストの config-dir 内)をコピーしてkubeconfig環境変数を設定するか、export KUBECONFIG=config-dir/admin.confコマンドを使用する必要があります。$ ceph-tools# ceph osd status -
すべてのOSDが
exists,upとしてリストされていることを確認します。OSD が損傷している場合は、 Ceph および Rook のトラブルシューティングで説明されているトラブルシューティング手順に従ってください。
-
- すべてのOSDが作成されていることを確認した後、追加または修復したノードにログインします。
-
そのノードでudevdを再度有効にします。
systemctl unmask system-udevd