ストレージのスケーリング
OpenShift Data Foundation でのスケーリング操作の手順
概要
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、用語の置き換えは、今後の複数のリリースにわたって段階的に実施されます。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
Red Hat ドキュメントへのフィードバック (英語のみ)
Red Hat ドキュメントに対するご意見をお聞かせください。ドキュメントの改善点があれば、ぜひお知らせください。
フィードバックを送信するには、Bugzilla チケットを作成します。
- Bugzilla の Web サイトに移動します。
- Component セクションで、documentation を選択します。
- Description フィールドに、ドキュメントの改善に向けたご提案を記入してください。ドキュメントの該当部分へのリンクも記載してください。
- Submit Bug をクリックします。
第1章 ストレージのスケーリングの概要
Red Hat OpenShift Data Foundation は、拡張性の高いストレージシステムです。OpenShift Data Foundation では、デプロイメントの種類に応じて、3 の倍数、3、または任意の数のディスクを追加することでスケーリングできます。
- 内部 (動的プロビジョニング) デプロイメントモードの場合は、一度に 3 つのディスクを追加することにより、容量を増やすことができます。
- 内部接続 (ローカルストレージオペレーターベース) モードの場合は、3 つ未満の失敗ドメインでデプロイできます。
柔軟なスケールデプロイメントを有効にすると、任意の数のディスクを追加してスケールアップできます。3 つの失敗ドメインを使用したデプロイメントの場合は、3 の倍数でディスクを追加することでスケールアップできます。
外部モードでストレージをスケーリングするには、Red Hat Ceph Storage のドキュメント を参照してください。
ノードごとに最大 12 個のストレージデバイスを使用できます。ストレージデバイスの数が多いと、ノード損失時のリカバリー時間が長くなります。推奨個数に従うと、ノードがクラウドプロバイダーの動的ストレージデバイスの割り当て制限未満となり、ローカルストレージデバイスで障害が発生した後のリカバリー時間が制限されます。
スケーリング中は、スケーリング要件に従って十分な CPU およびメモリーリソースがあることを確認する必要があります。
デフォルトでサポートされるストレージクラス
-
AWS 上の
gp2-csi
-
VMware 上の
thin
-
Microsoft Azure 上の
managed_premium
1.1. Red Hat OpenShift Data Foundation のサポートされるデプロイメント
ユーザーによってプロビジョニングされるインフラストラクチャー:
- Amazon Web Services (AWS)
- VMware
- ベアメタル
- IBM Power
- IBM Z または IBM® LinuxONE
インストーラーでプロビジョニングされるインフラストラクチャー:
- Amazon Web Services (AWS)
- Microsoft Azure
- VMware
- ベアメタル
第2章 ストレージをスケーリングするための要件
ストレージノードをスケーリングする前に、以下のセクションを参照して、特定の Red Hat OpenShift Data Foundation インスタンスのノード要件を把握してください。
- プラットフォーム要件
- リソース要件
ストレージデバイスの要件
常にストレージ容量が十分にあることを確認してください。
ストレージが完全に一杯になると、容量を追加したり、ストレージからコンテンツを削除したり、コンテンツを移動して領域を完全に解放することはできません。フルストレージは、復旧が非常に困難です。
容量アラートは、クラスターストレージ容量が合計容量の 75% (ほぼ一杯) および 85% (一杯) になると発行されます。容量に関する警告に常に迅速に対応し、ストレージを定期的に確認して、ストレージ領域が不足しないようにします。
ストレージの使用量が 85% に達すると、Ceph は HEALTH_ERR
を報告し、IO 操作を妨げる可能性があります。この場合、クラスターのリバランスが実行されるよう、一時的に full
比率を増やすことができます。full 比率を上げる手順は、ODF CLI ツールを使用した Ceph OSD のフルしきい値の設定 を参照してください。
ストレージ領域が不足する場合は、Red Hat カスタマーポータル にお問い合わせください。
第3章 AWS OpenShift Data Foundation クラスターのストレージ容量のスケーリング
3.1. AWS OpenShift Data Foundation クラスターのストレージ容量のスケールアップ
ユーザーがプロビジョニングしたインフラストラクチャー上に動的に作成したストレージクラスターのストレージ容量を増やすために、設定済みの Red Hat OpenShift Data Foundation ワーカーノードにストレージ容量およびパフォーマンスを追加できます。
AWS Red Hat OpenShift Data Foundation クラスターのストレージ容量をスケールアップするには、次の 2 つの方法があります。
3.1.1. 新しい OSD セットを追加してクラスターのストレージ容量をスケールアップする
設定済みの Red Hat OpenShift Data Foundation ワーカーノードのストレージ容量をスケーリングするには、一度に 3 つのディスクを追加して容量を増やすことができます。OpenShift Data Foundation はレプリカ数 3 を使用して高可用性を維持するため、3 つのディスクが必要です。したがって、消費されるストレージの量は、使用可能なスペースの 3 倍になります。
暗号化が有効になっている場合、または 2 つのプールのレプリカが使用されている場合は、使用可能なスペースが異なる場合があります。ユーザーがプロビジョニングしたインフラストラクチャー上に動的に作成したストレージクラスターのストレージ容量を増やすために、設定済みの Red Hat OpenShift Data Foundation ワーカーノードにストレージ容量およびパフォーマンスを追加できます。
前提条件
- OpenShift Container Platform に管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
- ディスクが、最初のデプロイメント時に使用したものと同じサイズおよびタイプである。
手順
- OpenShift Web コンソールにログインします。
- Operators → Installed Operators をクリックします。
- OpenShift Data Foundation Operator をクリックします。
Storage Systems タブをクリックします。
- ストレージシステム名の右側にある Action Menu (⋮) をクリックし、オプションメニューを拡張します。
- オプションメニューから Add Capacity を選択します。
- Storage Class を選択します。新しいストレージデバイスのプロビジョニングに使用するストレージクラスを選択します。
- Add をクリックします。
-
ステータスを確認するには、Storage → Data Foundation に移動し、Status カードの
Storage System
に緑色のチェックマークが表示されていることを確認します。
検証手順
Raw Capacity カードを確認します。
- OpenShift Web コンソールで、Storage → Data Foundation をクリックします。
- Overview タブの Status カードで Storage System をクリックし、表示されたポップアップからストレージシステムリンクをクリックします。
Block and File タブで、Raw Capacity カードを確認します。
容量は選択に応じて増大することに注意してください。
注記Raw 容量はレプリケーションを考慮せず、フル容量を表示します。
新しいオブジェクトストレージデバイス (OSD) とそれに対応する新しい永続ボリューム要求 (PVC) が作成されたことを確認します。
新規作成された OSD の状態を表示するには、以下を実行します。
- OpenShift Web コンソールから Workloads → Pods をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
Pod の状態を確認します。
- OpenShift Web コンソールで、Storage → Persistent Volume Claims をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
(オプション) クラスターでクラスター全体の暗号化が有効な場合は、新規 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 サポートチーム の支援がある場合にのみサポートされます。
3.1.2. 既存の OSD のサイズを変更して AWS クラスターでのストレージ容量をスケールアップする
クラスターのストレージ容量を増やすには、既存の OSD のサイズを変更してストレージ容量を追加できます。
AWS の制限により、既存の OSD のサイズ変更は 6 時間に 1 回しか実行できません。6 時間以内にこの金額を超えると、以下の内容を含む警告が表示されます (You’ve reached the maximum modification rate per volume limit. Wait at least 6 hours between modifications per EBS volume.
)。
前提条件
- OpenShift Container Platform に管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
手順
oc patch
コマンドを使用して、storageDeviceSets
のdataPVCTemplate
サイズを新しい希望のサイズに更新します。storageDeviceSets: - name: example-deviceset count: 3 resources: {} placement: {} dataPVCTemplate: spec: storageClassName: accessModes: - ReadWriteOnce volumeMode: Block resources: requests: storage: 512Gi
この YAML の例では、
storageDeviceSets
の下のstorage
パラメーターは現在のサイズ512Gi
を反映しています。oc patch
コマンドの使用:ストレージを増やす
storageDeviceSets
の現在の OSD ストレージを取得します。oc get storagecluster ocs-storagecluster -n openshift-storage -o jsonpath=' {.spec.storageDeviceSets[0].dataPVCTemplate.spec.resources.requests.storage} ' 512Gi
ストレージを希望の値に増やします (次の例は 2Ti のサイズ変更を反映しています)。
oc patch storagecluster ocs-storagecluster -n openshift-storage --type merge --patch "$(oc get storagecluster ocs-storagecluster -n openshift-storage -o jsonpath=' {.spec.storageDeviceSets[0]} ' | jq '.dataPVCTemplate.spec.resources.requests.storage="2Ti"' | jq -c '{spec: {storageDeviceSets: [.]}}')" storagecluster.ocs.openshift.io/ocs-storagecluster patched
- OSD が再起動するまで待ちます。
サイズ変更が有効になったことを確認します。
$ oc get pvc -l ceph.rook.io/DeviceSet -n openshift-storage
サイズが変更されたすべての OSD で、サイズ変更が完了し、コマンド出力の
CAPACITY
列に正しく反映されていることを確認します。- サイズ変更が有効にならない場合は、OSD Pod を再起動してください。サイズ変更が完了するまでに複数回の再起動が必要になる場合があります。
3.2. AWS クラスターのストレージ容量をスケールアウトする
OpenShift Data Foundation は非常にスケーラブルです。必要なストレージと CPU と RAM の観点から十分なハードウェアリソースを備えた新しいノードを追加することで、スケールアウトできます。実際には、追加できるノードの数に制限はありませんが、サポートの観点からは、2000 ノードが OpenShift Data Foundation の制限です。
ストレージ容量のスケールアウトは、2 つのステップに分けることができます
- 新規ノードの追加
- ストレージ容量のスケールアップ
OpenShift Data Foundation は、異なる OSD/Disk サイズをサポートしません。
3.2.1. ノードの追加
既存のワーカーノードがすでにサポートされている最大の OSD で実行されている場合、または既存のノードに新しい OSD を追加するのに十分なリソースがない場合は、ノードを追加してストレージ容量を増やすことができます。3 の倍数でノードを追加することを常に推奨します。各ノードは、異なる障害ドメインにあります。
3 の倍数でノードを追加することを推奨しますが、フレキシブルスケーリングが有効なデプロイメントでは、ノードを 1 つずつ柔軟に追加できます。ナレッジベースの記事 Verify if flexible scaling is enabled を参照してください。
OpenShift Data Foundation は、異種ディスクのサイズとタイプをサポートしていません。追加する新しいノードには、OpenShift Data Foundation のデプロイ時に使用されたものと同じタイプおよびサイズのディスクが必要です。
3.2.1.1. インストーラーでプロビジョニングされるインフラストラクチャーへのノードの追加
前提条件
- OpenShift Container Platform に管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
手順
- Compute → Machine Sets に移動します。
ノードを追加する必要のあるマシンセットで、Edit Machine Count を選択します。
- ノード数を追加し、Save をクリックします。
- Compute → Nodes をクリックし、新規ノードが Ready 状態にあることを確認します。
OpenShift Data Foundation ラベルを新規ノードに適用します。
- 新規ノードで、Action menu (⋮) → Edit Labels をクリックします。
- cluster.ocs.openshift.io/openshift-storage を追加し、Save をクリックします。
異なるゾーンのそれぞれに 3 つのノードを追加することが推奨されます。3 つのノードを追加して、それらすべてのノードに対してこの手順を実行する必要があります。ベアメタルインストーラーによってプロビジョニングされたインフラストラクチャーデプロイメントの場合は、最初にクラスターを拡張する必要があります。手順については、クラスターの拡張 を参照してください。
検証手順
ターミナルで次のコマンドを実行し、出力に新しいノードが存在することを確認します。
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
OpenShift Web コンソールで、Workloads → Pods をクリックし、新しいノードで少なくとも以下の Pod が Running 状態になっていることを確認します。
-
csi-cephfsplugin-*
-
csi-rbdplugin-*
-
ストレージ容量をスケールアップするには、以下を行います。
- 動的ストレージデバイスの場合は、クラスターのストレージ容量のスケールアップ を参照してください。
3.2.1.2. ユーザーがプロビジョニングしたインフラストラクチャーへのノードの追加
前提条件
- OpenShift Container Platform に管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
手順
インフラストラクチャーのタイプに応じて、以下の手順を実行します。
- 必要なインフラストラクチャーを備えた新しいマシンを入手してください。プラットフォーム要件 を参照してください。
- 新規マシンを使用して新規 OpenShift Container Platform ワーカーノードを作成します。
Pending
状態の証明書署名要求 (CSR) の有無を確認します。$ oc get csr
新しいノードに必要なすべての CSR を承認します。
$ oc adm certificate approve <Certificate_Name>
<Certificate_Name>
- CSR の名前です。
- Compute → Nodes をクリックし、新規ノードが Ready 状態にあることを確認します。
以下のいずれかを使用して、OpenShift Data Foundation ラベルを新規ノードに適用します。
- ユーザーインターフェイスを使用する場合
- 新規ノードで、Action Menu (⋮) → Edit Labels をクリックします。
-
cluster.ocs.openshift.io/openshift-storage
を追加し、Save をクリックします。
- コマンドラインインターフェイスの使用
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
OpenShift Web コンソールで、Workloads → Pods をクリックし、新しいノードで少なくとも以下の Pod が Running 状態になっていることを確認します。
-
csi-cephfsplugin-*
-
csi-rbdplugin-*
-
ストレージ容量をスケールアップするには、以下を行います。
- 動的ストレージデバイスの場合は、クラスターのストレージ容量のスケールアップ を参照してください。
3.2.2. ストレージ容量のスケールアップ
ストレージ容量をスケールアップするには、クラスターのストレージ容量のスケールアップ を参照してください。
第4章 ベアメタル OpenShift Data Foundation クラスターのストレージのスケーリング
ベアメタルクラスター上で設定済みの Red Hat OpenShift Data Foundation ワーカーノードのストレージ容量をスケーリングするには、一度に 3 つのディスクを追加して容量を増やすことができます。OpenShift Data Foundation はレプリカ数 3 を使用して高可用性を維持するため、3 つのディスクが必要です。したがって、消費されるストレージの量は、使用可能なスペースの 3 倍になります。
暗号化が有効になっている場合、または 2 つのプールのレプリカが使用されている場合は、使用可能なスペースが異なる場合があります。
既存の OSD のサイズを変更してストレージ容量を拡大することは、Local Storage Operator デプロイメントモードではサポートされていません。OSD のサイズ変更は、動的永続ボリューム要求 (PVC) ベースの OSD でのみサポートされます。
4.1. ローカルストレージデバイスを使用して作成されたクラスターのスケールアップ
ローカルストレージデバイスを使用して作成された OpenShift Data Foundation クラスターをスケールアップするには、ストレージノードに新しいディスクを追加する必要があります。OpenShift Data Foundation は異種ディスク/OSD をサポートしていないため、新しいディスクのサイズは、デプロイ時に使用されたディスクと同じサイズである必要があります。
障害ドメインが 3 つあるデプロイメントの場合は、3 の倍数でディスクを追加し、各障害ドメインのノードから同じ数のディスクを追加することで、ストレージをスケールアップできます。たとえば、6 つのディスクを追加してスケーリングする場合は、3 つの障害ドメインのそれぞれのノードから 2 つのディスクが取得されます。ディスクの数が 3 の倍数でない場合は、残りのディスクが未使用のままで、3 の倍数の最大数までディスクを消費します。
障害ドメインが 3 つ未満のデプロイメントでは、任意の数のディスクを柔軟に追加できます。フレキシブルスケーリングが有効になっていることを確認してください。詳細は、ナレッジベースの記事 Verify if flexible scaling is enabled を参照してください。
フレキシブルスケーリング機能はデプロイ時に有効になり、後で有効または無効にすることはできません。
前提条件
- OpenShift Container Platform コンソールに対する管理者権限。
- 実行中の OpenShift Data Foundation ストレージクラスター。
- スケーリングに使用するディスクがストレージノードに割り当てられている。
-
LocalVolumeDiscovery
オブジェクトとLocalVolumeSet
オブジェクトが作成されている。
手順
容量を追加するには、デプロイメント時にプロビジョニングしたストレージクラスか、フィルターと合致する他のストレージクラスを使用できます。
- OpenShift Web コンソールで、Operators → Installed Operators とクリックします。
- OpenShift Data Foundation Operator をクリックします。
Storage Systems タブをクリックします。
- 表示されるリストの横にある Action menu (⋮) をクリックして、オプションメニューを拡張します。
- オプションメニューから Add Capacity を選択します。
- 要件に応じてディスクを追加した Storage Class、または新規ストレージクラスを選択します。表示される利用可能な容量は、ストレージクラスで利用可能なローカルディスクをベースとしています。
- Add をクリックします。
- ステータスを確認するには、Storage → Data Foundation に移動し、Status カードの Storage System に緑色のチェックマークが表示されていることを確認します。
検証手順
Raw Capacity カードを確認します。
- OpenShift Web コンソールで、Storage → Data Foundation をクリックします。
- Overview タブの Status カードで Storage System をクリックし、表示されたポップアップからストレージシステムリンクをクリックします。
Block and File タブで、Raw Capacity カードを確認します。
容量は選択に応じて増大することに注意してください。
注記Raw 容量はレプリケーションを考慮せず、フル容量を表示します。
新しい OSD およびそれらの対応する新規永続ボリューム要求 (PVC) が作成されていることを確認します。
新規作成された OSD の状態を表示するには、以下を実行します。
- OpenShift Web コンソールから Workloads → Pods をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
Pod の状態を確認します。
- OpenShift Web コンソールで、Storage → Persistent Volume Claims をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
(オプション) クラスターでクラスター全体の暗号化が有効な場合は、新規 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 サポートチーム の支援がある場合にのみサポートされます。
4.2. ベアメタルクラスターのストレージ容量をスケールアウトする
OpenShift Data Foundation は非常にスケーラブルです。必要なストレージと CPU と RAM の観点から十分なハードウェアリソースを備えた新しいノードを追加することで、スケールアウトできます。追加できるノードの数に制限はありません。ただし、テクニカルサポートの観点からは、2000 ノードが OpenShift Data Foundation の制限です。
ストレージ容量のスケールアウトは、2 つのステップに分けることができます
- 新規ノードの追加
- ストレージ容量のスケールアップ
OpenShift Data Foundation は、異なる OSD/Disk サイズをサポートしません。
4.2.1. ノードの追加
既存のワーカーノードがすでにサポートされている最大の OSD で実行されている場合、または既存のノードに新しい OSD を追加するのに十分なリソースがない場合は、ノードを追加してストレージ容量を増やすことができます。3 の倍数でノードを追加することを常に推奨します。各ノードは、異なる障害ドメインにあります。
3 の倍数でノードを追加することを推奨しますが、フレキシブルスケーリングが有効なデプロイメントでは、ノードを 1 つずつ柔軟に追加できます。ナレッジベースの記事 Verify if flexible scaling is enabled を参照してください。
OpenShift Data Foundation は、異種ディスクのサイズとタイプをサポートしていません。追加する新しいノードには、OpenShift Data Foundation のデプロイ時に使用されたものと同じタイプおよびサイズのディスクが必要です。
4.2.1.1. インストーラーでプロビジョニングされるインフラストラクチャーへのノードの追加
前提条件
- OpenShift Container Platform に管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
手順
- Compute → Machine Sets に移動します。
ノードを追加する必要のあるマシンセットで、Edit Machine Count を選択します。
- ノード数を追加し、Save をクリックします。
- Compute → Nodes をクリックし、新規ノードが Ready 状態にあることを確認します。
OpenShift Data Foundation ラベルを新規ノードに適用します。
- 新規ノードで、Action menu (⋮) → Edit Labels をクリックします。
- cluster.ocs.openshift.io/openshift-storage を追加し、Save をクリックします。
異なるゾーンのそれぞれに 3 つのノードを追加することが推奨されます。3 つのノードを追加して、それらすべてのノードに対してこの手順を実行する必要があります。ベアメタルインストーラーによってプロビジョニングされたインフラストラクチャーデプロイメントの場合は、最初にクラスターを拡張する必要があります。手順については、クラスターの拡張 を参照してください。
検証手順
ターミナルで次のコマンドを実行し、出力に新しいノードが存在することを確認します。
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
OpenShift Web コンソールで、Workloads → Pods をクリックし、新しいノードで少なくとも以下の Pod が Running 状態になっていることを確認します。
-
csi-cephfsplugin-*
-
csi-rbdplugin-*
-
ストレージ容量をスケールアップするには、以下を行います。
- 動的ストレージデバイスの場合は、クラスターのストレージ容量のスケールアップ を参照してください。
4.2.1.2. ローカルストレージデバイスを使用したノードの追加
既存のワーカーノードがすでにサポートされている最大の OSD で実行されている場合、または既存のノードに新しい OSD を追加するのに十分なリソースがない場合は、ノードを追加してストレージ容量を増やすことができます。
3 の倍数でノードを追加し、それぞれを異なる障害ドメインに追加します。3 の倍数でノードを追加することを推奨しますが、柔軟なスケーリングデプロイメントでは、一度に 1 つのノードを追加する柔軟性があります。ナレッジベースの記事 Verify if flexible scaling is enabled を参照してください。
OpenShift Data Foundation は、異種ディスクのサイズとタイプをサポートしていません。追加する新しいノードには、OpenShift Data Foundation の初期デプロイ時に使用されたものと同じタイプおよびサイズのディスクが必要です。
前提条件
- OpenShift Container Platform に管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
手順
インフラストラクチャーのタイプに応じて、以下の手順を実行します。
- 必要なインフラストラクチャーを備えた新しいマシンを入手してください。プラットフォーム要件 を参照してください。
- 新規マシンを使用して新規 OpenShift Container Platform ワーカーノードを作成します。
Pending
状態の証明書署名要求 (CSR) の有無を確認します。$ oc get csr
新しいノードに必要なすべての CSR を承認します。
$ oc adm certificate approve <Certificate_Name>
<Certificate_Name>
- CSR の名前です。
- Compute → Nodes をクリックし、新規ノードが Ready 状態にあることを確認します。
以下のいずれかを使用して、OpenShift Data Foundation ラベルを新規ノードに適用します。
- ユーザーインターフェイスを使用する場合
- 新規ノードで、Action Menu (⋮) → Edit Labels をクリックします。
-
cluster.ocs.openshift.io/openshift-storage
を追加し、Save をクリックします。
- コマンドラインインターフェイスの使用
OpenShift Data Foundation ラベルを新規ノードに適用します。
$ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
<new_node_name>
- 新規ノードの名前。
OpenShift Web コンソールから、Operators → Installed Operators をクリックします。
Project ドロップダウンリストから、ローカルストレージ Operator がインストールされているプロジェクトを選択してください。
- Local Storage をクリックします。
Local Volume Discovery タブをクリックします。
-
LocalVolumeDiscovery
の横にある Action メニュー (⋮) → Edit Local Volume Discovery をクリックします。 -
YAML で、ノードセレクターの下にある
values
フィールドに新規ノードのホスト名を追加します。 - Save をクリックします。
-
Local Volume Sets タブをクリックします。
-
LocalVolumeSet
の横にある Action メニュー (⋮) → Edit Local Volume Set をクリックします。 YAML で、
node selector
の下にあるvalues
フィールドに新規ノードのホスト名を追加します。- Save をクリックします。
-
異なるゾーンのそれぞれに 3 つのノードを追加することが推奨されます。3 つのノードを追加して、それらすべてのノードに対してこの手順を実行する必要があります。
検証手順
ターミナルで次のコマンドを実行し、出力に新しいノードが存在することを確認します。
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
OpenShift Web コンソールで、Workloads → Pods をクリックし、新しいノードで少なくとも以下の Pod が Running 状態になっていることを確認します。
-
csi-cephfsplugin-*
-
csi-rbdplugin-*
-
ストレージ容量をスケールアップするには、以下を行います。
- ローカルストレージデバイスの場合は、ローカルストレージデバイスを使用して作成されたクラスターのスケールアップ を参照してください。
4.2.2. ストレージ容量のスケールアップ
ストレージの容量をスケールアップするには、クラスターに容量を追加してストレージをスケールアップする を参照してください。
第5章 VMware OpenShift Data Foundation クラスターのストレージのスケーリング
5.1. VMware OpenShift Data Foundation クラスターのストレージのスケールアップ
user-provisioned infrastructure と installer-provisioned infrastructure 上で動的に作成された VMware ストレージクラスターのストレージ容量を増やすには、設定済みの Red Hat OpenShift Data Foundation ワーカーノードにストレージ容量とパフォーマンスを追加できます。
VMware Red Hat OpenShift Data Foundation クラスターのストレージ容量は、次の 2 つの方法でスケールアップできます。
5.1.1. 新しい OSD セットを追加して VMware クラスターのストレージをスケールアップする
VMware ユーザープロビジョニングインフラストラクチャーで動的に作成されたストレージクラスターのストレージ容量を増やすために、設定済みの Red Hat OpenShift Data Foundation ワーカーノードにストレージ容量およびパフォーマンスを追加できます。
前提条件
- OpenShift Container Platform コンソールに対する管理者権限。
- 実行中の OpenShift Data Foundation ストレージクラスター。
- ディスクが、初期デプロイ時に使用されたディスクと同じサイズおよびタイプである。
手順
- OpenShift Web コンソールにログインします。
- Operators → Installed Operators をクリックします。
- OpenShift Data Foundation Operator をクリックします。
Storage Systems タブをクリックします。
- ストレージシステム名の右側にある Action Menu (⋮) をクリックし、オプションメニューを拡張します。
- オプションメニューから Add Capacity を選択します。
- Storage Class を選択します。新しいストレージデバイスのプロビジョニングに使用するストレージクラスを選択します。
- Add をクリックします。
-
ステータスを確認するには、Storage → Data Foundation に移動し、Status カードの
Storage System
に緑色のチェックマークが表示されていることを確認します。
検証手順
Raw Capacity カードを確認します。
- OpenShift Web コンソールで、Storage → Data Foundation をクリックします。
- Overview タブの Status カードで Storage System をクリックし、表示されたポップアップからストレージシステムリンクをクリックします。
Block and File タブで、Raw Capacity カードを確認します。
容量は選択に応じて増大することに注意してください。
注記Raw 容量はレプリケーションを考慮せず、フル容量を表示します。
新しい OSD およびそれらの対応する新規永続ボリューム要求 (PVC) が作成されていることを確認します。
新規作成された OSD の状態を表示するには、以下を実行します。
- OpenShift Web コンソールから Workloads → Pods をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
Pod の状態を確認します。
- OpenShift Web コンソールで、Storage → Persistent Volume Claims をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
(オプション) クラスターでクラスター全体の暗号化が有効な場合は、新規 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 サポートチーム の支援がある場合にのみサポートされます。
5.1.2. 既存の OSD のサイズを変更して VMware クラスターのストレージ容量をスケールアップする
クラスターのストレージ容量を増やすには、既存の OSD のサイズを変更してストレージ容量を追加できます。
OSD のサイズを変更する前に、正常にサイズ変更が完了できる十分な空き容量が基盤となるデータストアにあることを確認してください。
前提条件
- OpenShift Container Platform に管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
手順
oc patch
コマンドを使用して、storageDeviceSets
のdataPVCTemplate
サイズを新しい希望のサイズに更新します。storageDeviceSets: - name: example-deviceset count: 3 resources: {} placement: {} dataPVCTemplate: spec: storageClassName: accessModes: - ReadWriteOnce volumeMode: Block resources: requests: storage: 512Gi
この YAML の例では、
storageDeviceSets
の下のstorage
パラメーターは現在のサイズ512Gi
を反映しています。oc patch
コマンドの使用:ストレージを増やす
storageDeviceSets
の現在の OSD ストレージを取得します。oc get storagecluster ocs-storagecluster -n openshift-storage -o jsonpath=' {.spec.storageDeviceSets[0].dataPVCTemplate.spec.resources.requests.storage} ' 512Gi
ストレージを希望の値に増やします (次の例は 2Ti のサイズ変更を反映しています)。
oc patch storagecluster ocs-storagecluster -n openshift-storage --type merge --patch "$(oc get storagecluster ocs-storagecluster -n openshift-storage -o jsonpath=' {.spec.storageDeviceSets[0]} ' | jq '.dataPVCTemplate.spec.resources.requests.storage="2Ti"' | jq -c '{spec: {storageDeviceSets: [.]}}')" storagecluster.ocs.openshift.io/ocs-storagecluster patched
- OSD が再起動するまで待ちます。
サイズ変更が有効になったことを確認します。
$ oc get pvc -l ceph.rook.io/DeviceSet -n openshift-storage
サイズが変更されたすべての OSD で、サイズ変更が完了し、コマンド出力の
CAPACITY
列に正しく反映されていることを確認します。- サイズ変更が有効にならない場合は、OSD Pod を再起動してください。サイズ変更が完了するまでに複数回の再起動が必要になる場合があります。
5.2. ローカルストレージデバイスを使用して作成されたクラスターのスケールアップ
ローカルストレージデバイスを使用して作成された OpenShift Data Foundation クラスターをスケールアップするには、ストレージノードに新しいディスクを追加する必要があります。OpenShift Data Foundation は異種ディスク/OSD をサポートしていないため、新しいディスクのサイズは、デプロイ時に使用されたディスクと同じサイズである必要があります。
障害ドメインが 3 つあるデプロイメントの場合は、3 の倍数でディスクを追加し、各障害ドメインのノードから同じ数のディスクを追加することで、ストレージをスケールアップできます。たとえば、6 つのディスクを追加してスケーリングする場合は、3 つの障害ドメインのそれぞれのノードから 2 つのディスクが取得されます。ディスクの数が 3 の倍数でない場合は、残りのディスクが未使用のままで、3 の倍数の最大数までディスクを消費します。
障害ドメインが 3 つ未満のデプロイメントでは、任意の数のディスクを柔軟に追加できます。フレキシブルスケーリングが有効になっていることを確認してください。詳細は、ナレッジベースの記事 Verify if flexible scaling is enabled を参照してください。
フレキシブルスケーリング機能はデプロイ時に有効になり、後で有効または無効にすることはできません。
前提条件
- OpenShift Container Platform コンソールに対する管理者権限。
- 実行中の OpenShift Data Foundation ストレージクラスター。
- スケーリングに使用するディスクがストレージノードに割り当てられている。
-
LocalVolumeDiscovery
オブジェクトとLocalVolumeSet
オブジェクトが作成されている。
手順
容量を追加するには、デプロイメント時にプロビジョニングしたストレージクラスか、フィルターと合致する他のストレージクラスを使用できます。
- OpenShift Web コンソールで、Operators → Installed Operators とクリックします。
- OpenShift Data Foundation Operator をクリックします。
Storage Systems タブをクリックします。
- 表示されるリストの横にある Action menu (⋮) をクリックして、オプションメニューを拡張します。
- オプションメニューから Add Capacity を選択します。
- 要件に応じてディスクを追加した Storage Class、または新規ストレージクラスを選択します。表示される利用可能な容量は、ストレージクラスで利用可能なローカルディスクをベースとしています。
- Add をクリックします。
- ステータスを確認するには、Storage → Data Foundation に移動し、Status カードの Storage System に緑色のチェックマークが表示されていることを確認します。
検証手順
Raw Capacity カードを確認します。
- OpenShift Web コンソールで、Storage → Data Foundation をクリックします。
- Overview タブの Status カードで Storage System をクリックし、表示されたポップアップからストレージシステムリンクをクリックします。
Block and File タブで、Raw Capacity カードを確認します。
容量は選択に応じて増大することに注意してください。
注記Raw 容量はレプリケーションを考慮せず、フル容量を表示します。
新しい OSD およびそれらの対応する新規永続ボリューム要求 (PVC) が作成されていることを確認します。
新規作成された OSD の状態を表示するには、以下を実行します。
- OpenShift Web コンソールから Workloads → Pods をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
Pod の状態を確認します。
- OpenShift Web コンソールで、Storage → Persistent Volume Claims をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
(オプション) クラスターでクラスター全体の暗号化が有効な場合は、新規 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 サポートチーム の支援がある場合にのみサポートされます。
5.3. VMware クラスターのストレージ容量をスケールアウトする
5.3.1. インストーラーでプロビジョニングされるインフラストラクチャーへのノードの追加
前提条件
- OpenShift Container Platform に管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
手順
- Compute → Machine Sets に移動します。
ノードを追加する必要のあるマシンセットで、Edit Machine Count を選択します。
- ノード数を追加し、Save をクリックします。
- Compute → Nodes をクリックし、新規ノードが Ready 状態にあることを確認します。
OpenShift Data Foundation ラベルを新規ノードに適用します。
- 新規ノードで、Action menu (⋮) → Edit Labels をクリックします。
- cluster.ocs.openshift.io/openshift-storage を追加し、Save をクリックします。
異なるゾーンのそれぞれに 3 つのノードを追加することが推奨されます。3 つのノードを追加して、それらすべてのノードに対してこの手順を実行する必要があります。ベアメタルインストーラーによってプロビジョニングされたインフラストラクチャーデプロイメントの場合は、最初にクラスターを拡張する必要があります。手順については、クラスターの拡張 を参照してください。
検証手順
ターミナルで次のコマンドを実行し、出力に新しいノードが存在することを確認します。
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
OpenShift Web コンソールで、Workloads → Pods をクリックし、新しいノードで少なくとも以下の Pod が Running 状態になっていることを確認します。
-
csi-cephfsplugin-*
-
csi-rbdplugin-*
-
ストレージ容量をスケールアップするには、以下を行います。
- 動的ストレージデバイスの場合は、クラスターのストレージ容量のスケールアップ を参照してください。
5.3.2. ユーザーがプロビジョニングしたインフラストラクチャーへのノードの追加
前提条件
- OpenShift Container Platform に管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
手順
インフラストラクチャーのタイプに応じて、以下の手順を実行します。
- 必要なインフラストラクチャーを備えた新しいマシンを入手してください。プラットフォーム要件 を参照してください。
- 新規マシンを使用して新規 OpenShift Container Platform ワーカーノードを作成します。
Pending
状態の証明書署名要求 (CSR) の有無を確認します。$ oc get csr
新しいノードに必要なすべての CSR を承認します。
$ oc adm certificate approve <Certificate_Name>
<Certificate_Name>
- CSR の名前です。
- Compute → Nodes をクリックし、新規ノードが Ready 状態にあることを確認します。
以下のいずれかを使用して、OpenShift Data Foundation ラベルを新規ノードに適用します。
- ユーザーインターフェイスを使用する場合
- 新規ノードで、Action Menu (⋮) → Edit Labels をクリックします。
-
cluster.ocs.openshift.io/openshift-storage
を追加し、Save をクリックします。
- コマンドラインインターフェイスの使用
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
OpenShift Web コンソールで、Workloads → Pods をクリックし、新しいノードで少なくとも以下の Pod が Running 状態になっていることを確認します。
-
csi-cephfsplugin-*
-
csi-rbdplugin-*
-
ストレージ容量をスケールアップするには、以下を行います。
- 動的ストレージデバイスの場合は、クラスターのストレージ容量のスケールアップ を参照してください。
5.3.3. ローカルストレージデバイスを使用したノードの追加
既存のワーカーノードがすでにサポートされている最大の OSD で実行されている場合、または既存のノードに新しい OSD を追加するのに十分なリソースがない場合は、ノードを追加してストレージ容量を増やすことができます。
3 の倍数でノードを追加し、それぞれを異なる障害ドメインに追加します。3 の倍数でノードを追加することを推奨しますが、柔軟なスケーリングデプロイメントでは、一度に 1 つのノードを追加する柔軟性があります。ナレッジベースの記事 Verify if flexible scaling is enabled を参照してください。
OpenShift Data Foundation は、異種ディスクのサイズとタイプをサポートしていません。追加する新しいノードには、OpenShift Data Foundation の初期デプロイ時に使用されたものと同じタイプおよびサイズのディスクが必要です。
前提条件
- OpenShift Container Platform に管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
手順
インフラストラクチャーのタイプに応じて、以下の手順を実行します。
- 必要なインフラストラクチャーを備えた新しいマシンを入手してください。プラットフォーム要件 を参照してください。
- 新規マシンを使用して新規 OpenShift Container Platform ワーカーノードを作成します。
Pending
状態の証明書署名要求 (CSR) の有無を確認します。$ oc get csr
新しいノードに必要なすべての CSR を承認します。
$ oc adm certificate approve <Certificate_Name>
<Certificate_Name>
- CSR の名前です。
- Compute → Nodes をクリックし、新規ノードが Ready 状態にあることを確認します。
以下のいずれかを使用して、OpenShift Data Foundation ラベルを新規ノードに適用します。
- ユーザーインターフェイスを使用する場合
- 新規ノードで、Action Menu (⋮) → Edit Labels をクリックします。
-
cluster.ocs.openshift.io/openshift-storage
を追加し、Save をクリックします。
- コマンドラインインターフェイスの使用
OpenShift Data Foundation ラベルを新規ノードに適用します。
$ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
<new_node_name>
- 新規ノードの名前。
OpenShift Web コンソールから、Operators → Installed Operators をクリックします。
Project ドロップダウンリストから、ローカルストレージ Operator がインストールされているプロジェクトを選択してください。
- Local Storage をクリックします。
Local Volume Discovery タブをクリックします。
-
LocalVolumeDiscovery
の横にある Action メニュー (⋮) → Edit Local Volume Discovery をクリックします。 -
YAML で、ノードセレクターの下にある
values
フィールドに新規ノードのホスト名を追加します。 - Save をクリックします。
-
Local Volume Sets タブをクリックします。
-
LocalVolumeSet
の横にある Action メニュー (⋮) → Edit Local Volume Set をクリックします。 YAML で、
node selector
の下にあるvalues
フィールドに新規ノードのホスト名を追加します。- Save をクリックします。
-
異なるゾーンのそれぞれに 3 つのノードを追加することが推奨されます。3 つのノードを追加して、それらすべてのノードに対してこの手順を実行する必要があります。
検証手順
ターミナルで次のコマンドを実行し、出力に新しいノードが存在することを確認します。
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
OpenShift Web コンソールで、Workloads → Pods をクリックし、新しいノードで少なくとも以下の Pod が Running 状態になっていることを確認します。
-
csi-cephfsplugin-*
-
csi-rbdplugin-*
-
ストレージ容量をスケールアップするには、以下を行います。
- ローカルストレージデバイスの場合は、ローカルストレージデバイスを使用して作成されたクラスターのスケールアップ を参照してください。
第6章 Microsoft Azure OpenShift Data Foundation クラスターのストレージのスケーリング
6.1. Microsoft Azure OpenShift Data Foundation クラスターのストレージ容量のスケールアップ
user-provisioned infrastructure 上で動的に作成された Microsoft Azure ストレージクラスターのストレージ容量を増やすには、設定済みの Red Hat OpenShift Data Foundation ワーカーノードにストレージ容量とパフォーマンスを追加できます。
Microsoft Azure Red Hat OpenShift Data Foundation クラスターのストレージ容量は、次の 2 つの方法でスケールアップできます。
6.1.1. 新しい OSD セットを追加してクラスターのストレージ容量をスケールアップする
設定済みの Red Hat OpenShift Data Foundation ワーカーノードのストレージ容量をスケーリングするには、一度に 3 つのディスクを追加して容量を増やすことができます。OpenShift Data Foundation はレプリカ数 3 を使用して高可用性を維持するため、3 つのディスクが必要です。したがって、消費されるストレージの量は、使用可能なスペースの 3 倍になります。
暗号化が有効になっている場合、または 2 つのプールのレプリカが使用されている場合は、使用可能なスペースが異なる場合があります。ユーザーがプロビジョニングしたインフラストラクチャー上に動的に作成したストレージクラスターのストレージ容量を増やすために、設定済みの Red Hat OpenShift Data Foundation ワーカーノードにストレージ容量およびパフォーマンスを追加できます。
前提条件
- OpenShift Container Platform に管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
- ディスクが、最初のデプロイメント時に使用したものと同じサイズおよびタイプである。
手順
- OpenShift Web コンソールにログインします。
- Operators → Installed Operators をクリックします。
- OpenShift Data Foundation Operator をクリックします。
Storage Systems タブをクリックします。
- ストレージシステム名の右側にある Action Menu (⋮) をクリックし、オプションメニューを拡張します。
- オプションメニューから Add Capacity を選択します。
- Storage Class を選択します。新しいストレージデバイスのプロビジョニングに使用するストレージクラスを選択します。
- Add をクリックします。
-
ステータスを確認するには、Storage → Data Foundation に移動し、Status カードの
Storage System
に緑色のチェックマークが表示されていることを確認します。
検証手順
Raw Capacity カードを確認します。
- OpenShift Web コンソールで、Storage → Data Foundation をクリックします。
- Overview タブの Status カードで Storage System をクリックし、表示されたポップアップからストレージシステムリンクをクリックします。
Block and File タブで、Raw Capacity カードを確認します。
容量は選択に応じて増大することに注意してください。
注記Raw 容量はレプリケーションを考慮せず、フル容量を表示します。
新しいオブジェクトストレージデバイス (OSD) とそれに対応する新しい永続ボリューム要求 (PVC) が作成されたことを確認します。
新規作成された OSD の状態を表示するには、以下を実行します。
- OpenShift Web コンソールから Workloads → Pods をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
Pod の状態を確認します。
- OpenShift Web コンソールで、Storage → Persistent Volume Claims をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
(オプション) クラスターでクラスター全体の暗号化が有効な場合は、新規 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 サポートチーム の支援がある場合にのみサポートされます。
6.1.2. 既存の OSD のサイズを変更してクラスターのストレージ容量をスケールアップする
クラスターのストレージ容量を増やすには、既存の OSD のサイズを変更してストレージ容量を追加できます。
前提条件
- OpenShift Container Platform に管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
手順
oc patch
コマンドを使用して、storageDeviceSets
のdataPVCTemplate
サイズを新しい希望のサイズに更新します。storageDeviceSets: - name: example-deviceset count: 3 resources: {} placement: {} dataPVCTemplate: spec: storageClassName: accessModes: - ReadWriteOnce volumeMode: Block resources: requests: storage: 512Gi
この YAML の例では、
storageDeviceSets
の下のstorage
パラメーターは現在のサイズ512Gi
を反映しています。oc patch
コマンドの使用:ストレージを増やす
storageDeviceSets
の現在の OSD ストレージを取得します。oc get storagecluster ocs-storagecluster -n openshift-storage -o jsonpath=' {.spec.storageDeviceSets[0].dataPVCTemplate.spec.resources.requests.storage} ' 512Gi
ストレージを希望の値に増やします (次の例は 2Ti のサイズ変更を反映しています)。
oc patch storagecluster ocs-storagecluster -n openshift-storage --type merge --patch "$(oc get storagecluster ocs-storagecluster -n openshift-storage -o jsonpath=' {.spec.storageDeviceSets[0]} ' | jq '.dataPVCTemplate.spec.resources.requests.storage="2Ti"' | jq -c '{spec: {storageDeviceSets: [.]}}')" storagecluster.ocs.openshift.io/ocs-storagecluster patched
- OSD が再起動するまで待ちます。
サイズ変更が有効になったことを確認します。
$ oc get pvc -l ceph.rook.io/DeviceSet -n openshift-storage
サイズが変更されたすべての OSD で、サイズ変更が完了し、コマンド出力の
CAPACITY
列に正しく反映されていることを確認します。- サイズ変更が有効にならない場合は、OSD Pod を再起動してください。サイズ変更が完了するまでに複数回の再起動が必要になる場合があります。
6.2. Microsoft Azure クラスターのストレージ容量をスケールアウトする
OpenShift Data Foundation は非常にスケーラブルです。必要なストレージと CPU と RAM の観点から十分なハードウェアリソースを備えた新しいノードを追加することで、スケールアウトできます。実際には、追加できるノードの数に制限はありませんが、サポートの観点からは、2000 ノードが OpenShift Data Foundation の制限です。
ストレージ容量のスケールアウトは、2 つのステップに分けることができます
- 新規ノードの追加
- ストレージ容量のスケールアップ
OpenShift Data Foundation は、異なる OSD/Disk サイズをサポートしません。
6.2.1. インストーラーでプロビジョニングされるインフラストラクチャーへのノードの追加
前提条件
- OpenShift Container Platform に管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
手順
- Compute → Machine Sets に移動します。
ノードを追加する必要のあるマシンセットで、Edit Machine Count を選択します。
- ノード数を追加し、Save をクリックします。
- Compute → Nodes をクリックし、新規ノードが Ready 状態にあることを確認します。
OpenShift Data Foundation ラベルを新規ノードに適用します。
- 新規ノードで、Action menu (⋮) → Edit Labels をクリックします。
- cluster.ocs.openshift.io/openshift-storage を追加し、Save をクリックします。
異なるゾーンのそれぞれに 3 つのノードを追加することが推奨されます。3 つのノードを追加して、それらすべてのノードに対してこの手順を実行する必要があります。ベアメタルインストーラーによってプロビジョニングされたインフラストラクチャーデプロイメントの場合は、最初にクラスターを拡張する必要があります。手順については、クラスターの拡張 を参照してください。
検証手順
ターミナルで次のコマンドを実行し、出力に新しいノードが存在することを確認します。
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
OpenShift Web コンソールで、Workloads → Pods をクリックし、新しいノードで少なくとも以下の Pod が Running 状態になっていることを確認します。
-
csi-cephfsplugin-*
-
csi-rbdplugin-*
-
ストレージ容量をスケールアップするには、以下を行います。
- 動的ストレージデバイスの場合は、クラスターのストレージ容量のスケールアップ を参照してください。
6.2.2. ストレージ容量のスケールアップ
ストレージ容量をスケールアップするには、クラスターのストレージ容量のスケールアップ を参照してください。
第7章 GCP OpenShift Data Foundation クラスターのストレージ容量のスケーリング
7.1. GCP OpenShift Data Foundation クラスターのストレージ容量のスケールアップ
user-provisioned infrastructure 上に動的に作成された GCP ストレージクラスターのストレージ容量を増やすには、設定済みの Red Hat OpenShift Data Foundation ワーカーノードにストレージ容量とパフォーマンスを追加できます。
GCP Red Hat OpenShift Data Foundation クラスターのストレージ容量をスケールアップするには、次の 2 つの方法があります。
7.1.1. 新しい OSD セットを追加してクラスターのストレージ容量をスケールアップする
設定済みの Red Hat OpenShift Data Foundation ワーカーノードのストレージ容量をスケーリングするには、一度に 3 つのディスクを追加して容量を増やすことができます。OpenShift Data Foundation はレプリカ数 3 を使用して高可用性を維持するため、3 つのディスクが必要です。したがって、消費されるストレージの量は、使用可能なスペースの 3 倍になります。
暗号化が有効になっている場合、または 2 つのプールのレプリカが使用されている場合は、使用可能なスペースが異なる場合があります。ユーザーがプロビジョニングしたインフラストラクチャー上に動的に作成したストレージクラスターのストレージ容量を増やすために、設定済みの Red Hat OpenShift Data Foundation ワーカーノードにストレージ容量およびパフォーマンスを追加できます。
前提条件
- OpenShift Container Platform に管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
- ディスクが、最初のデプロイメント時に使用したものと同じサイズおよびタイプである。
手順
- OpenShift Web コンソールにログインします。
- Operators → Installed Operators をクリックします。
- OpenShift Data Foundation Operator をクリックします。
Storage Systems タブをクリックします。
- ストレージシステム名の右側にある Action Menu (⋮) をクリックし、オプションメニューを拡張します。
- オプションメニューから Add Capacity を選択します。
- Storage Class を選択します。新しいストレージデバイスのプロビジョニングに使用するストレージクラスを選択します。
- Add をクリックします。
-
ステータスを確認するには、Storage → Data Foundation に移動し、Status カードの
Storage System
に緑色のチェックマークが表示されていることを確認します。
検証手順
Raw Capacity カードを確認します。
- OpenShift Web コンソールで、Storage → Data Foundation をクリックします。
- Overview タブの Status カードで Storage System をクリックし、表示されたポップアップからストレージシステムリンクをクリックします。
Block and File タブで、Raw Capacity カードを確認します。
容量は選択に応じて増大することに注意してください。
注記Raw 容量はレプリケーションを考慮せず、フル容量を表示します。
新しいオブジェクトストレージデバイス (OSD) とそれに対応する新しい永続ボリューム要求 (PVC) が作成されたことを確認します。
新規作成された OSD の状態を表示するには、以下を実行します。
- OpenShift Web コンソールから Workloads → Pods をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
Pod の状態を確認します。
- OpenShift Web コンソールで、Storage → Persistent Volume Claims をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
(オプション) クラスターでクラスター全体の暗号化が有効な場合は、新規 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 サポートチーム の支援がある場合にのみサポートされます。
7.1.2. 既存の OSD のサイズを変更してクラスターのストレージ容量をスケールアップする
クラスターのストレージ容量を増やすには、既存の OSD のサイズを変更してストレージ容量を追加できます。
前提条件
- OpenShift Container Platform に管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
手順
oc patch
コマンドを使用して、storageDeviceSets
のdataPVCTemplate
サイズを新しい希望のサイズに更新します。storageDeviceSets: - name: example-deviceset count: 3 resources: {} placement: {} dataPVCTemplate: spec: storageClassName: accessModes: - ReadWriteOnce volumeMode: Block resources: requests: storage: 512Gi
この YAML の例では、
storageDeviceSets
の下のstorage
パラメーターは現在のサイズ512Gi
を反映しています。oc patch
コマンドの使用:ストレージを増やす
storageDeviceSets
の現在の OSD ストレージを取得します。oc get storagecluster ocs-storagecluster -n openshift-storage -o jsonpath=' {.spec.storageDeviceSets[0].dataPVCTemplate.spec.resources.requests.storage} ' 512Gi
ストレージを希望の値に増やします (次の例は 2Ti のサイズ変更を反映しています)。
oc patch storagecluster ocs-storagecluster -n openshift-storage --type merge --patch "$(oc get storagecluster ocs-storagecluster -n openshift-storage -o jsonpath=' {.spec.storageDeviceSets[0]} ' | jq '.dataPVCTemplate.spec.resources.requests.storage="2Ti"' | jq -c '{spec: {storageDeviceSets: [.]}}')" storagecluster.ocs.openshift.io/ocs-storagecluster patched
- OSD が再起動するまで待ちます。
サイズ変更が有効になったことを確認します。
$ oc get pvc -l ceph.rook.io/DeviceSet -n openshift-storage
サイズが変更されたすべての OSD で、サイズ変更が完了し、コマンド出力の
CAPACITY
列に正しく反映されていることを確認します。- サイズ変更が有効にならない場合は、OSD Pod を再起動してください。サイズ変更が完了するまでに複数回の再起動が必要になる場合があります。
7.2. GCP クラスターのストレージ容量のスケールアウト
OpenShift Data Foundation は非常にスケーラブルです。必要なストレージと CPU と RAM の観点から十分なハードウェアリソースを備えた新しいノードを追加することで、スケールアウトできます。実際には、追加できるノードの数に制限はありませんが、サポートの観点からは、2000 ノードが OpenShift Data Foundation の制限です。
ストレージ容量のスケールアウトは、2 つのステップに分けることができます
- 新規ノードの追加
- ストレージ容量のスケールアップ
OpenShift Data Foundation は、異なる OSD/Disk サイズをサポートしません。
7.2.1. ノードの追加
既存のワーカーノードがすでにサポートされている最大の OSD で実行されている場合、または既存のノードに新しい OSD を追加するのに十分なリソースがない場合は、ノードを追加してストレージ容量を増やすことができます。3 の倍数でノードを追加することを常に推奨します。各ノードは、異なる障害ドメインにあります。
3 の倍数でノードを追加することを推奨しますが、フレキシブルスケーリングが有効なデプロイメントでは、ノードを 1 つずつ柔軟に追加できます。ナレッジベースの記事 Verify if flexible scaling is enabled を参照してください。
OpenShift Data Foundation は、異種ディスクのサイズとタイプをサポートしていません。追加する新しいノードには、OpenShift Data Foundation のデプロイ時に使用されたものと同じタイプおよびサイズのディスクが必要です。
7.2.1.1. インストーラーでプロビジョニングされるインフラストラクチャーへのノードの追加
前提条件
- OpenShift Container Platform に管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
手順
- Compute → Machine Sets に移動します。
ノードを追加する必要のあるマシンセットで、Edit Machine Count を選択します。
- ノード数を追加し、Save をクリックします。
- Compute → Nodes をクリックし、新規ノードが Ready 状態にあることを確認します。
OpenShift Data Foundation ラベルを新規ノードに適用します。
- 新規ノードで、Action menu (⋮) → Edit Labels をクリックします。
- cluster.ocs.openshift.io/openshift-storage を追加し、Save をクリックします。
異なるゾーンのそれぞれに 3 つのノードを追加することが推奨されます。3 つのノードを追加して、それらすべてのノードに対してこの手順を実行する必要があります。ベアメタルインストーラーによってプロビジョニングされたインフラストラクチャーデプロイメントの場合は、最初にクラスターを拡張する必要があります。手順については、クラスターの拡張 を参照してください。
検証手順
ターミナルで次のコマンドを実行し、出力に新しいノードが存在することを確認します。
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
OpenShift Web コンソールで、Workloads → Pods をクリックし、新しいノードで少なくとも以下の Pod が Running 状態になっていることを確認します。
-
csi-cephfsplugin-*
-
csi-rbdplugin-*
-
ストレージ容量をスケールアップするには、以下を行います。
- 動的ストレージデバイスの場合は、クラスターのストレージ容量のスケールアップ を参照してください。
7.2.2. ストレージ容量のスケールアップ
ストレージ容量をスケールアップするには、クラスターのストレージ容量のスケールアップ を参照してください。
第8章 IBM Z または IBM LinuxONE OpenShift Data Foundation クラスターのストレージのスケーリング
8.1. IBM Z または IBM LinuxONE インフラストラクチャーの OpenShift Data Foundation ノードへの容量の追加によるストレージのスケールアップ
設定された Red Hat OpenShift Data Foundation ワーカーノードにストレージ容量およびパフォーマンスを追加できます。
フレキシブルスケーリング機能はデプロイ時に有効になり、後で有効または無効にすることはできません。
前提条件
- 実行中の OpenShift Data Foundation Platform。
- OpenShift Web コンソールの管理者権限
- デプロイメント時にプロビジョニングされたストレージクラス以外のストレージクラスを使用してスケーリングするために、最初に追加のストレージクラスを定義する。詳細は、ストレージクラスおよびプールの作成 を参照してください。
手順
zFCP ディスクを使用してハードウェアリソースを追加します。
すべてのディスクをリスト表示します。
$ lszdev
出力例:
TYPE ID ON PERS NAMES zfcp-host 0.0.8204 yes yes zfcp-lun 0.0.8204:0x102107630b1b5060:0x4001402900000000 yes no sda sg0 zfcp-lun 0.0.8204:0x500407630c0b50a4:0x3002b03000000000 yes yes sdb sg1 qeth 0.0.bdd0:0.0.bdd1:0.0.bdd2 yes no encbdd0 generic-ccw 0.0.0009 yes no
SCSI ディスクは、ID セクションの
<device-id>:<wwpn>:<lun-id>
構造でzfcp-lun
として表されます。最初のディスクはオペレーティングシステムに使用されます。新規ディスクのデバイス ID は同じである可能性があります。新しい SCSI ディスクを追加します。
$ chzdev -e 0.0.8204:0x400506630b1b50a4:0x3001301a00000000
注記新規ディスクのデバイス ID は、置き換えるディスクと同じである必要があります。新規ディスクは、WWPN および LUN ID で識別されます。
すべての FCP デバイスをリスト表示して、新規ディスクが設定されていることを確認します。
$ lszdev zfcp-lun TYPE ID ON PERS NAMES zfcp-lun 0.0.8204:0x102107630b1b5060:0x4001402900000000 yes no sda sg0 zfcp-lun 0.0.8204:0x500507630b1b50a4:0x4001302a00000000 yes yes sdb sg1 zfcp-lun 0.0.8204:0x400506630b1b50a4:0x3001301a00000000 yes yes sdc sg2
- OpenShift Web コンソールに移動します。
- 左側のナビゲーションバーの Operators をクリックします。
- Installed Operators を選択します。
- ウィンドウで、OpenShift Data Foundation Operator をクリックします。
上部のナビゲーションバーで、右にスクロールし、Storage Systems タブをクリックします。
- 表示されるリストの横にある Action menu (⋮) をクリックして、オプションメニューを拡張します。
オプションメニューから Add Capacity を選択します。
Raw Capacity フィールドには、ストレージクラスの作成時に設定されるサイズが表示されます。OpenShift Data Foundation はレプリカ数 3 を使用するため、消費されるストレージの合計量はこの量の 3 倍になります。
- Add をクリックします。
- ステータスを確認するには、Storage → Data Foundation に移動し、Status カードの Storage System に緑色のチェックマークが表示されていることを確認します。
検証手順
Raw Capacity カードを確認します。
- OpenShift Web コンソールで、Storage → Data Foundation をクリックします。
- Overview タブの Status カードで Storage System をクリックし、表示されたポップアップからストレージシステムリンクをクリックします。
Block and File タブで、Raw Capacity カードを確認します。
容量は選択に応じて増大することに注意してください。
注記Raw 容量はレプリケーションを考慮せず、フル容量を表示します。
新しい OSD およびそれらの対応する新規永続ボリューム要求 (PVC) が作成されていることを確認します。
新規作成された OSD の状態を表示するには、以下を実行します。
- OpenShift Web コンソールから Workloads → Pods をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
Pod の状態を確認します。
- OpenShift Web コンソールで、Storage → Persistent Volume Claims をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
(オプション) クラスターでクラスター全体の暗号化が有効な場合は、新規 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 サポートチーム の支援がある場合にのみサポートされます。
8.2. IBM Z または IBM LinuxONE クラスター上のストレージ容量のスケールアウト
8.2.1. ローカルストレージデバイスを使用したノードの追加
既存のワーカーノードがすでにサポートされている最大の OSD で実行されている場合、または既存のノードに新しい OSD を追加するのに十分なリソースがない場合は、ノードを追加してストレージ容量を増やすことができます。
3 の倍数でノードを追加し、それぞれを異なる障害ドメインに追加します。3 の倍数でノードを追加することを推奨しますが、柔軟なスケーリングデプロイメントでは、一度に 1 つのノードを追加する柔軟性があります。ナレッジベースの記事 Verify if flexible scaling is enabled を参照してください。
OpenShift Data Foundation は、異種ディスクのサイズとタイプをサポートしていません。追加する新しいノードには、OpenShift Data Foundation の初期デプロイ時に使用されたものと同じタイプおよびサイズのディスクが必要です。
前提条件
- OpenShift Container Platform に管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
手順
インフラストラクチャーのタイプに応じて、以下の手順を実行します。
- 必要なインフラストラクチャーを備えた新しいマシンを入手してください。プラットフォーム要件 を参照してください。
- 新規マシンを使用して新規 OpenShift Container Platform ワーカーノードを作成します。
Pending
状態の証明書署名要求 (CSR) の有無を確認します。$ oc get csr
新しいノードに必要なすべての CSR を承認します。
$ oc adm certificate approve <Certificate_Name>
<Certificate_Name>
- CSR の名前です。
- Compute → Nodes をクリックし、新規ノードが Ready 状態にあることを確認します。
以下のいずれかを使用して、OpenShift Data Foundation ラベルを新規ノードに適用します。
- ユーザーインターフェイスを使用する場合
- 新規ノードで、Action Menu (⋮) → Edit Labels をクリックします。
-
cluster.ocs.openshift.io/openshift-storage
を追加し、Save をクリックします。
- コマンドラインインターフェイスの使用
OpenShift Data Foundation ラベルを新規ノードに適用します。
$ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
<new_node_name>
- 新規ノードの名前。
OpenShift Web コンソールから、Operators → Installed Operators をクリックします。
Project ドロップダウンリストから、ローカルストレージ Operator がインストールされているプロジェクトを選択してください。
- Local Storage をクリックします。
Local Volume Discovery タブをクリックします。
-
LocalVolumeDiscovery
の横にある Action メニュー (⋮) → Edit Local Volume Discovery をクリックします。 -
YAML で、ノードセレクターの下にある
values
フィールドに新規ノードのホスト名を追加します。 - Save をクリックします。
-
Local Volume Sets タブをクリックします。
-
LocalVolumeSet
の横にある Action メニュー (⋮) → Edit Local Volume Set をクリックします。 YAML で、
node selector
の下にあるvalues
フィールドに新規ノードのホスト名を追加します。- Save をクリックします。
-
異なるゾーンのそれぞれに 3 つのノードを追加することが推奨されます。3 つのノードを追加して、それらすべてのノードに対してこの手順を実行する必要があります。
検証手順
ターミナルで次のコマンドを実行し、出力に新しいノードが存在することを確認します。
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
OpenShift Web コンソールで、Workloads → Pods をクリックし、新しいノードで少なくとも以下の Pod が Running 状態になっていることを確認します。
-
csi-cephfsplugin-*
-
csi-rbdplugin-*
-
ストレージ容量をスケールアップするには、以下を行います。
- ローカルストレージデバイスの場合は、ローカルストレージデバイスを使用して作成されたクラスターのスケールアップ を参照してください。
8.2.2. ストレージ容量のスケールアップ
ストレージ容量をスケールアップするには、クラスターのストレージ容量のスケールアップ を参照してください。
第9章 IBM Power OpenShift Data Foundation クラスターのストレージのスケーリング
IBM Power クラスターで設定済みの Red Hat OpenShift Data Foundation ワーカーノードのストレージ容量を拡張するには、一度に 3 つのディスクを追加して容量を増やすことができます。OpenShift Data Foundation はレプリカ数 3 を使用して高可用性を維持するため、3 つのディスクが必要です。したがって、消費されるストレージの量は、使用可能なスペースの 3 倍になります。
暗号化が有効になっている場合、または 2 つのプールのレプリカが使用されている場合は、使用可能なスペースが異なる場合があります。
9.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 容量はレプリケーションを考慮せず、フル容量を表示します。
新しい OSD およびそれらの対応する新規永続ボリューム要求 (PVC) が作成されていることを確認します。
新規作成された OSD の状態を表示するには、以下を実行します。
- OpenShift Web コンソールから Workloads → Pods をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
Pod の状態を確認します。
- OpenShift Web コンソールで、Storage → Persistent Volume Claims をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
(オプション) クラスターでクラスター全体の暗号化が有効な場合は、新規 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 サポートチーム の支援がある場合にのみサポートされます。
9.2. IBM Power クラスターのストレージ容量をスケールアウトする
OpenShift Data Foundation は非常にスケーラブルです。必要なストレージと CPU と RAM の観点から十分なハードウェアリソースを備えた新しいノードを追加することで、スケールアウトできます。実際には、追加できるノードの数に制限はありませんが、サポートの観点からは、2000 ノードが OpenShift Data Foundation の制限です。
ストレージ容量のスケールアウトは、次の 2 つのステップに分けることができます。
- 新規ノードの追加
- ストレージ容量のスケールアップ
OpenShift Data Foundation は、異なる OSD/Disk サイズをサポートしません。
9.2.1. IBM Power 上のローカルストレージデバイスを使用したノードの追加
既存のワーカーノードがすでにサポートされている最大の OSD で実行されている場合、または既存のノードに新しい OSD を追加するのに十分なリソースがない場合は、ノードを追加してストレージ容量を増やすことができます。
3 の倍数でノードを追加し、それぞれを異なる障害ドメインに追加します。3 の倍数でノードを追加することを推奨しますが、柔軟なスケーリングデプロイメントでは、一度に 1 つのノードを追加する柔軟性があります。ナレッジベースの記事 Verify if flexible scaling is enabled を参照してください。
OpenShift Data Foundation は、異種ディスクのサイズとタイプをサポートしていません。追加する新しいノードには、OpenShift Data Foundation の初期デプロイ時に使用されたものと同じタイプおよびサイズのディスクが必要です。
前提条件
- OpenShift Container Platform クラスターにログインしている。
- OpenShift Container Platform ワーカーノードが 3 つある。それらのノードには、元の OpenShift Data Foundation の StorageCluster の作成に使用されたものと同じストレージタイプおよびサイズ (例: 2 TB SSD ドライブ) が割り当てられている必要があります。
手順
- 必要なインフラストラクチャーで新規の IBM Power マシンを取得します。プラットフォーム要件 を参照してください。
新規 IBM Power マシンを使用して新規 OpenShift Container Platform ノードを作成します。
Pending
状態の証明書署名要求 (CSR) の有無を確認します。$ oc get csr
新しいノードに必要なすべての CSR を承認します。
$ oc adm certificate approve <Certificate_Name>
<Certificate_Name>
- CSR の名前です。
- Compute → Nodes をクリックし、新規ノードが Ready 状態にあることを確認します。
以下のいずれかを使用して、OpenShift Data Foundation ラベルを新規ノードに適用します。
- ユーザーインターフェイスを使用する場合
- 新規ノードで、Action Menu (⋮) → Edit Labels をクリックします。
-
cluster.ocs.openshift.io/openshift-storage
を追加し、Save をクリックします。
- コマンドラインインターフェイスの使用
OpenShift Data Foundation ラベルを新規ノードに適用します。
$ oc label node <new_node_name> cluster.ocs.openshift.io/openshift-storage=""
<new_node_name>
- 新規ノードの名前。
OpenShift Web コンソールから、Operators → Installed Operators をクリックします。
Project ドロップダウンリストから、ローカルストレージ Operator がインストールされているプロジェクトを選択してください。
- Local Storage をクリックします。
Local Volume タブをクリックします。
-
LocalVolume
の横にある Action メニュー (⋮) → Edit Local Volume をクリックします。 YAML で、
node selector
の下にあるvalues
フィールドに新規ノードのホスト名を追加します。図9.1 新規ホスト名の追加に関する YAML
- Save をクリックします。
-
異なるゾーンのそれぞれに 3 つのノードを追加することが推奨されます。3 つのノードを追加して、それらすべてのノードに対してこの手順を実行する必要があります。
検証手順
ターミナルで次のコマンドを実行し、出力に新しいノードが存在することを確認します。
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
OpenShift Web コンソールで、Workloads → Pods をクリックし、新しいノードで少なくとも以下の Pod が Running 状態になっていることを確認します。
-
csi-cephfsplugin-*
-
csi-rbdplugin-*
-
9.2.2. ストレージ容量のスケールアップ
ストレージ容量をスケールアップするには、クラスターのストレージ容量のスケールアップ を参照してください。