第10章 IBM Power OpenShift Data Foundation クラスターのストレージのスケーリング
IBM Power クラスターで設定済みの Red Hat OpenShift Data Foundation ワーカーノードのストレージ容量を拡張するには、一度に 3 つのディスクを追加して容量を増やすことができます。OpenShift Data Foundation はレプリカ数 3 を使用して高可用性を維持するため、3 つのディスクが必要です。したがって、消費されるストレージの量は、使用可能なスペースの 3 倍になります。
暗号化が有効になっている場合、または 2 つのプールのレプリカが使用されている場合は、使用可能なスペースが異なる場合があります。
10.1. ローカルストレージデバイスを使用した IBM Power インフラストラクチャーの OpenShift Data Foundation ノードへの容量の追加によるストレージのスケールアップ
ローカルストレージデバイスを使用して作成された OpenShift Data Foundation クラスターをスケールアップするには、ストレージノードに新しいディスクを追加する必要があります。OpenShift Data Foundation は異種ディスク/OSD をサポートしていないため、デプロイメント中に以前に使用したものと同じサイズの新しいディスクを用意することが推奨されます。
IBM Power インフラストラクチャーで設定されたローカルストレージベースの OpenShift Data Foundation ワーカーノードにストレージ容量 (追加のストレージデバイス) を追加します。
フレキシブルスケーリング機能はデプロイ時に有効になり、後で有効または無効にすることはできません。
前提条件
- OpenShift Container Platform クラスターにログインしている。
ローカルストレージ Operator がインストールされている。以下の手順を使用してください。
- OpenShift Container Platform ワーカーノードが 3 つある。それらのノードには、元の OpenShift Data Foundation の StorageCluster の作成に使用されたものと同じストレージタイプおよびサイズ (例: 0.5 TB SSD) が割り当てられている必要があります。
手順
OpenShift Data Foundation がインストールされている OpenShift Container Platform ノードにストレージ容量を追加するには、以下を実行する必要があります。
ワーカーノードごとに少なくとも 1 つのデバイスを追加するため、利用可能なデバイスを見つけます。各デプロイメントガイドで説明されている利用可能なストレージデバイスを検索する手順に従ってください。
注記このプロセスを、ストレージを追加する既存ノードのすべて (3 ノード以上) に対して実行するようにしてください。
LocalVolume
カスタムリソース (CR) に追加のディスクを追加します。$ oc edit -n openshift-local-storage localvolume localblock
出力例:
spec: logLevel: Normal managementState: Managed nodeSelector: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - worker-0 - worker-1 - worker-2 storageClassDevices: - devicePaths: - /dev/sda - /dev/sdx # newly added device storageClassName: localblock volumeMode: Block
CR の編集後に変更を保存するようにしてください。
出力例:
localvolume.local.storage.openshift.io/localblock edited
この CR に新規デバイスが追加されていることを確認できます。
-
sdx
-
新規に作成された永続ボリューム (PV) を
localVolume
CR で使用されるstorageclass
名で表示します。$ oc get pv | grep localblock | grep Available
出力例:
local-pv-a04ffd8 500Gi RWO Delete Available localblock 24s local-pv-a0ca996b 500Gi RWO Delete Available localblock 23s local-pv-c171754a 500Gi RWO Delete Available localblock 23s
- OpenShift Web コンソールに移動します。
- 左側のナビゲーションバーの Operators をクリックします。
- Installed Operators を選択します。
- ウィンドウで、OpenShift Data Foundation Operator をクリックします。
上部のナビゲーションバーで右にスクロールし、Storage System タブをクリックします。
- 表示されるリストの横にある Action menu (⋮) をクリックして、オプションメニューを拡張します。
オプションメニューから Add Capacity を選択します。
このダイアログボックスで、Storage Class 名を
localVolume
CR で使用される名前に設定します。表示される利用可能な容量は、ストレージクラスで利用可能なローカルディスクをベースとしています。- Add をクリックします。
-
ステータスを確認するには、Storage
Data Foundation に移動し、Status カードの Storage System に緑色のチェックマークが表示されていることを確認します。
検証手順
利用可能な容量を確認します。
-
OpenShift Web コンソールで、Storage
Data Foundation をクリックします。 -
Storage Systems タブをクリックし、
ocs-storagecluster-storagesystem
をクリックします。 Overview
Block and File タブに移動してから、Raw Capacity カードをチェックします。 容量は選択に応じて増大することに注意してください。
注記Raw 容量はレプリケーションを考慮せず、フル容量を表示します。
-
OpenShift Web コンソールで、Storage
新しい OSD およびそれらの対応する新規 Persistent Volume Claims (PVC) が作成されていることを確認します。
新規作成された OSD の状態を表示するには、以下を実行します。
-
OpenShift Web コンソールから Workloads
Pods をクリックします。 Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
-
OpenShift Web コンソールから Workloads
Pod の状態を確認します。
-
OpenShift Web コンソールで、Storage
Persistent Volume Claims をクリックします。 Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
-
OpenShift Web コンソールで、Storage
(オプション) クラスターでクラスター全体の暗号化が有効な場合は、新規 OSD デバイスが暗号化されていることを確認します。
新規 OSD Pod が実行しているノードを特定します。
$ oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
<OSD-pod-name>
これは OSD Pod の名前です。
以下に例を示します。
$ oc get -n openshift-storage -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
出力例:
NODE compute-1
直前の手順で特定された各ノードに以下を実行します。
デバッグ Pod を作成し、選択したホストの chroot 環境を開きます。
$ oc debug node/<node-name>
<node-name>
ノードの名前。
$ chroot /host
ocs-deviceset
名の横にあるcrypt
キーワードを確認します。$ lsblk
クラスターの削減は、Red Hat サポートチーム の支援がある場合にのみサポートされます。