第15章 ストレージノードの置き換え
以下のいずれかの手順を選択して、ストレージノードを置き換えることができます。
15.1. Red Hat OpenStack Platform のインストーラーでプロビジョニングされるインフラストラクチャーで動作するノードの置き換え
手順
-
OpenShift Web コンソールにログインし、Compute
Nodes をクリックします。 - 置き換える必要のあるノードを特定します。その マシン名 をメモします。
ノードにスケジュール対象外 (unschedulable) のマークを付けます。
$ oc adm cordon <node_name>
<node_name>
- 置き換える必要のあるノードの名前を指定します。
ノードをドレイン (解放) します。
$ oc adm drain <node_name> --force --delete-emptydir-data=true --ignore-daemonsets
重要このアクティビティーには、少なくとも 5〜10 分以上かかる場合があります。この期間中に生成された Ceph エラーは一時的なものであり、新しいノードにラベルを付けると自動的に解決され、機能します。
-
Compute
Machines をクリックします。必要なマシンを検索します。 -
必要なマシンの横にある Action menu (⋮)
Delete Machine をクリックします。 - Delete をクリックして、マシンが削除されたことを確認します。新しいマシンが自動的に作成されます。
新規マシンが起動し、Running 状態に移行するまで待機します。
重要このアクティビティーには、少なくとも 5〜10 分以上かかる場合があります。
-
Compute
Nodes をクリックします。新しいノードが Ready 状態にあることを確認します。 OpenShift Data Foundation ラベルを新規ノードに適用します。
- ユーザーインターフェイスから
-
新規ノードについて、Action Menu (⋮)
Edit Labels をクリックします。 -
cluster.ocs.openshift.io/openshift-storage
を追加し、Save をクリックします。
-
新規ノードについて、Action Menu (⋮)
- コマンドラインインターフェイスの使用
- OpenShift Data Foundation ラベルを新規ノードに適用します。
$ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
<new_node_name>
- 新しいノードの名前を指定します。
検証手順
新しいノードが出力に存在することを確認します。
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
Workloads
Pods をクリックします。新しいノードの少なくとも次の Pod が Running 状態になっていることを確認します。 -
csi-cephfsplugin-*
-
csi-rbdplugin-*
-
- 他の必要なすべての OpenShift Data Foundation Pod が Running 状態にあることを確認します。
新しいオブジェクトストレージデバイス (OSD) Pod が置き換えるノードで実行されていることを確認します。
$ oc get pods -o wide -n openshift-storage| egrep -i <new_node_name> | egrep osd
(オプション) クラスターでクラスター全体の暗号化が有効な場合は、新規 OSD デバイスが暗号化されていることを確認します。
直前の手順で特定された新しい各ノードに以下を実行します。
デバッグ Pod を作成し、選択した 1 つ以上のホストの chroot 環境を開きます。
$ oc debug node/<node_name>
$ chroot /host
使用可能なブロックデバイスのリストを表示します。
$ lsblk
1 つ以上の
ocs-deviceset
名の横にあるcrypt
キーワードを確認します。
- 検証手順が失敗した場合は、Red Hat サポートにお問い合わせください。