OpenShift Container Storage is now OpenShift Data Foundation starting with version 4.9.
第9章 OpenShift Container Storage のストレージノードの置き換え
OpenShift Container Storage 4.3 では、ノード置き換えを、以下のデプロイメントで動作するノードについてプロアクティブに実行し、失敗したノードについてリアクティブに実行することができます。
Amazon Web Services (AWS)
- ユーザーによってプロビジョニングされるインフラストラクチャー
- インストーラーでプロビジョニングされるインフラストラクチャー
VMware
- ユーザーによってプロビジョニングされるインフラストラクチャー
ローカルストレージデバイスの場合
- ベアメタル
- Amazon EC2 I3
- VMware
- 外部モードでストレージノードを置き換える場合は、Red Hat Ceph Storage のドキュメントを参照してください。
9.1. AWS にデプロイされる OpenShift Container Storage リンクのコピーリンクがクリップボードにコピーされました!
9.1.1. ユーザーによってプロビジョニングされるインフラストラクチャーで動作する AWS ノードの置き換え リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従って、AWS のユーザーによってプロビジョニングされるインフラストラクチャーで動作するノードを置き換えます。
手順
- 置き換える必要のあるノードを特定します。
以下のコマンドを実行して、ノードにスケジュール対象外 (unschedulable) のマークを付けます。
oc adm cordon <node_name>
$ oc adm cordon <node_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを使用してノードをドレイン (解放) します。
oc adm drain <node_name> --force --delete-local-data --ignore-daemonsets
$ oc adm drain <node_name> --force --delete-local-data --ignore-daemonsetsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要このアクティビティーには少なくとも 5-10 分以上かかる場合があります。この期間に生成される Ceph のエラーは一時的なもので、新規ノードにラベルが付けられ、これが機能すると自動的に解決されます。
以下のコマンドを使用してノードを削除します。
oc delete nodes <node_name>
$ oc delete nodes <node_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 必要なインフラストラクチャーで新規 AWS マシンインスタンスを作成します。「プラットフォーム要件」を参照してください。
- 新規 AWS マシンインスタンスを使用して新規 OpenShift Container Platform ノードを作成します。
Pending状態の OpenShift Container Platform に関連する証明書署名要求 (CSR) の有無を確認します。oc get csr
$ oc get csrCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新規ノードに必要なすべての OpenShift Container Platform CSR を承認します。
oc adm certificate approve <Certificate_Name>
$ oc adm certificate approve <Certificate_Name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Compute
Nodes をクリックし、新規ノードが Ready 状態にあることを確認します。 以下のいずれかを使用して、OpenShift Container Storage ラベルを新規ノードに適用します。
- ユーザーインターフェースを使用する場合
-
新規ノードについて、Action Menu (⋮)
Edit Labels をクリックします。 -
cluster.ocs.openshift.io/openshift-storageを追加し、Save をクリックします。
-
新規ノードについて、Action Menu (⋮)
- コマンドラインインターフェースの使用
以下のコマンドを実行して、OpenS+hift Container Storage ラベルを新規ノードに適用します。
oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
$ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証手順
以下のコマンドを実行して、出力で新規ノードが表示されていることを確認します。
oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1Copy to Clipboard Copied! Toggle word wrap Toggle overflow Workloads
Pods をクリックし、新規ノード上の少なくとも以下の Pod が Running 状態にあることを確認します。 -
csi-cephfsplugin-* -
csi-rbdplugin-*
-
- 他の必要なすべての OpenShift Container Storage Pod が Running 状態にあることを確認します。
- 検証手順が失敗した場合は、Red Hat サポートにお問い合わせください。
9.1.2. インストーラーでプロビジョニングされるインフラストラクチャーで動作する AWS ノードの置き換え リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を使用して、AWS のインストーラーでプロビジョニングされるインフラストラクチャー (IPI) で動作するノードを置き換えます。
手順
-
OpenShift Web コンソールにログインし、Compute
Nodes をクリックします。 - 置き換える必要のあるノードを特定します。その マシン名 をメモします。
以下のコマンドを実行して、ノードにスケジュール対象外 (unschedulable) のマークを付けます。
oc adm cordon <node_name>
$ oc adm cordon <node_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを使用してノードをドレイン (解放) します。
oc adm drain <node_name> --force --delete-local-data --ignore-daemonsets
$ oc adm drain <node_name> --force --delete-local-data --ignore-daemonsetsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要このアクティビティーには少なくとも 5-10 分以上かかる場合があります。この期間に生成される Ceph のエラーは一時的なもので、新規ノードにラベルが付けられ、これが機能すると自動的に解決されます。
-
Compute
Machines をクリックします。必要なマシンを検索します。 -
必要なマシンの横にある Action menu (⋮)
Delete Machine をクリックします。 - Delete をクリックしてマシンの削除を確認します。新しいマシンが自動的に作成されます。
新規マシンが起動し、Running 状態に移行するまで待機します。
重要このアクティビティーには少なくとも 5-10 分以上かかる場合があります。
-
Compute
Nodes をクリックし、新規ノードが Ready 状態にあることを確認します。 以下のいずれかを使用して、OpenShift Container Storage ラベルを新規ノードに適用します。
- ユーザーインターフェースを使用する場合
-
新規ノードについて、Action Menu (⋮)
Edit Labels をクリックします。 -
cluster.ocs.openshift.io/openshift-storageを追加し、Save をクリックします。
-
新規ノードについて、Action Menu (⋮)
- コマンドラインインターフェースの使用
以下のコマンドを実行して、OpenS+hift Container Storage ラベルを新規ノードに適用します。
oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
$ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証手順
以下のコマンドを実行して、出力で新規ノードが表示されていることを確認します。
oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1Copy to Clipboard Copied! Toggle word wrap Toggle overflow Workloads
Pods をクリックし、新規ノード上の少なくとも以下の Pod が Running 状態にあることを確認します。 -
csi-cephfsplugin-* -
csi-rbdplugin-*
-
- 他の必要なすべての OpenShift Container Storage Pod が Running 状態にあることを確認します。
- 検証手順が失敗した場合は、Red Hat サポートにお問い合わせください。
9.1.3. ユーザーによってプロビジョニングされるインフラストラクチャーでの失敗した AWS ノードの置き換え リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従って、OpenShift Container Storage 4.3 の AWS のユーザーによってプロビジョニングされるインフラストラクチャー (UPI) で動作しない障害のあるノードを置き換えます。
手順
- 置き換える必要のあるノードの AWS マシンインスタンスを特定します。
- AWS にログインし、特定された AWS マシンインスタンスを終了します。
- 必要なインフラストラクチャーで新規 AWS マシンインスタンスを作成します。「プラットフォーム要件」を参照してください。
- 新規 AWS マシンインスタンスを使用して新規 OpenShift Container Platform ノードを作成します。
Pending状態の OpenShift Container Platform に関連する証明書署名要求 (CSR) の有無を確認します。oc get csr
$ oc get csrCopy to Clipboard Copied! Toggle word wrap Toggle overflow 新規ノードに必要なすべての OpenShift Container Platform CSR を承認します。
oc adm certificate approve <Certificate_Name>
$ oc adm certificate approve <Certificate_Name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Compute
Nodes をクリックし、新規ノードが Ready 状態にあることを確認します。 以下のいずれかを使用して、OpenShift Container Storage ラベルを新規ノードに適用します。
- ユーザーインターフェースを使用する場合
-
新規ノードについて、Action Menu (⋮)
Edit Labels をクリックします。 -
cluster.ocs.openshift.io/openshift-storageを追加し、Save をクリックします。
-
新規ノードについて、Action Menu (⋮)
- コマンドラインインターフェースの使用
以下のコマンドを実行して、OpenS+hift Container Storage ラベルを新規ノードに適用します。
oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
$ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証手順
以下のコマンドを実行して、出力で新規ノードが表示されていることを確認します。
oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1Copy to Clipboard Copied! Toggle word wrap Toggle overflow Workloads
Pods をクリックし、新規ノード上の少なくとも以下の Pod が Running 状態にあることを確認します。 -
csi-cephfsplugin-* -
csi-rbdplugin-*
-
- 他の必要なすべての OpenShift Container Storage Pod が Running 状態にあることを確認します。
- 検証手順が失敗した場合は、Red Hat サポートにお問い合わせください。
9.1.4. インストーラーでプロビジョニングされるインフラストラクチャーでの失敗した AWS ノードの置き換え リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従って、OpenShift Container Storage の AWS のインストーラーでプロビジョニングされるインフラストラクチャー (IPI) で動作しない障害のあるノードを置き換えます。
手順
-
OpenShift Web コンソールにログインし、Compute
Nodes をクリックします。 - 障害のあるノードを特定し、その Machine Name をクリックします。
-
Actions
Edit Annotations をクリックし、Add More をクリックします。 -
machine.openshift.io/exclude-node-drainingを追加し、Save をクリックします。 -
Actions
Delete Machine をクリックしてから、Delete をクリックします。 新しいマシンが自動的に作成されます。新規マシンが起動するのを待機します。
重要このアクティビティーには少なくとも 5-10 分以上かかる場合があります。この期間に生成される Ceph のエラーは一時的なもので、新規ノードにラベルが付けられ、これが機能すると自動的に解決されます。
-
Compute
Nodes をクリックし、新規ノードが Ready 状態にあることを確認します。 以下のいずれかを使用して、OpenShift Container Storage ラベルを新規ノードに適用します。
- ユーザーインターフェースを使用する場合
-
新規ノードについて、Action Menu (⋮)
Edit Labels をクリックします。 -
cluster.ocs.openshift.io/openshift-storageを追加し、Save をクリックします。
-
新規ノードについて、Action Menu (⋮)
- コマンドラインインターフェースの使用
以下のコマンドを実行して、OpenS+hift Container Storage ラベルを新規ノードに適用します。
oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
$ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""Copy to Clipboard Copied! Toggle word wrap Toggle overflow
以下のコマンドを実行して、出力で新規ノードが表示されていることを確認します。
oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1Copy to Clipboard Copied! Toggle word wrap Toggle overflow Workloads
Pods をクリックし、新規ノード上の少なくとも以下の Pod が Running 状態にあることを確認します。 -
csi-cephfsplugin-* -
csi-rbdplugin-*
-
- 他の必要なすべての OpenShift Container Storage Pod が Running 状態にあることを確認します。
- 検証手順が失敗した場合は、Red Hat サポートにお問い合わせください。