ストレージのスケーリング
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 のドキュメント を参照してください。
ノードごとに最大 9 つのストレージデバイスを使用できます。ストレージデバイスの数が多いと、ノード損失時のリカバリー時間が長くなります。推奨個数に従うと、ノードがクラウドプロバイダーの動的ストレージデバイスの割り当て制限未満となり、ローカルストレージデバイスで障害が発生した後のリカバリー時間が制限されます。
スケーリング中は、スケーリング要件に従って十分な CPU およびメモリーリソースがあることを確認する必要があります。
デフォルトでサポートされるストレージクラス
-
AWS での
gp2-csi
-
VMware で
thin
-
Red Hat Virtualization の
ovirt-csi-sc
-
Microsoft Azure 上の
managed_premium
1.1. Red Hat OpenShift Data Foundation のサポートされるデプロイメント
ユーザーによってプロビジョニングされるインフラストラクチャー:
- Amazon Web Services (AWS)
- VMware
- ベアメタル
- IBM Power
- IBM Z または LinuxONE
インストーラーでプロビジョニングされるインフラストラクチャー:
- Amazon Web Services (AWS)
- Microsoft Azure
- Red Hat Virtualization
- VMware
第2章 ストレージをスケーリングするための要件
ストレージノードをスケーリングする前に、以下のセクションを参照して、特定の Red Hat OpenShift Data Foundation インスタンスのノード要件を把握してください。
- プラットフォーム要件
- リソース要件
ストレージデバイスの要件
常にストレージ容量が十分にあることを確認してください。
ストレージが完全に一杯になると、容量を追加したり、ストレージからコンテンツを削除したり、コンテンツを移動して領域を完全に解放することはできません。フルストレージは、復旧が非常に困難です。
容量アラートは、クラスターストレージ容量が合計容量の 75% (ほぼ一杯) および 85% (一杯) になると発行されます。容量についての警告に常に迅速に対応し、ストレージを定期的に確認して、ストレージ領域が不足しないようにします。
ストレージ領域が不足する場合は、Red Hat カスタマーポータル にお問い合わせください。
第3章 AWS OpenShift Data Foundation クラスターのストレージ容量のスケーリング
AWS クラスターで設定済みの Red Hat OpenShift Data Foundation ワーカーノードのストレージ容量をスケーリングするには、一度に 3 つのディスクを追加して容量を増やすことができます。OpenShift Data Foundation はレプリカ数 3 を使用して高可用性を維持するため、3 つのディスクが必要です。したがって、消費されるストレージの量は、使用可能なスペースの 3 倍になります。
暗号化が有効になっている場合、または 2 つのプールのレプリカが使用されている場合、使用可能なスペースは異なる場合があります。
3.1. クラスターのストレージ容量をスケールアップする
ユーザーがプロビジョニングしたインフラストラクチャー上に動的に作成したストレージクラスターのストレージ容量を増やすために、設定済みの 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 およびそれらの対応する新規 Persistent Volume Claims (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.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 ストレージクラスターがある。
手順
インフラストラクチャーのタイプに応じて、以下の手順を実行します。
- 必要なインフラストラクチャーを備えた新しいマシンを入手してください。Platform 要件 を参照します。
- 新規マシンを使用して新規 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 つのプールのレプリカが使用されている場合、使用可能なスペースは異なる場合があります。
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 およびそれらの対応する新規 Persistent Volume Claims (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 の初期デプロイメント中に使用されたものと同じタイプおよびサイズのディスクが必要です。
前提条件
- OpenShift Container Platform に対する管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
手順
インフラストラクチャーのタイプに応じて、以下の手順を実行します。
- 必要なインフラストラクチャーを備えた新しいマシンを入手してください。Platform 要件 を参照します。
- 新規マシンを使用して新規 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
フィールドに新規ノードのホスト名を追加します。図4.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-*
-
4.2.2. ストレージ容量のスケールアップ
ストレージの容量をスケールアップするには、容量の増加によるストレージのスケールアップ について参照してください。
第5章 VMware OpenShift Data Foundation クラスターのストレージのスケーリング
5.1. 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 およびそれらの対応する新規 Persistent Volume Claims (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.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 およびそれらの対応する新規 Persistent Volume Claims (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 ストレージクラスターがある。
手順
インフラストラクチャーのタイプに応じて、以下の手順を実行します。
- 必要なインフラストラクチャーを備えた新しいマシンを入手してください。Platform 要件 を参照します。
- 新規マシンを使用して新規 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 ストレージクラスターがある。
手順
インフラストラクチャーのタイプに応じて、以下の手順を実行します。
- 必要なインフラストラクチャーを備えた新しいマシンを入手してください。Platform 要件 を参照します。
- 新規マシンを使用して新規 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
フィールドに新規ノードのホスト名を追加します。図5.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-*
-
5.3.4. ストレージ容量のスケールアップ
ストレージ容量をスケールアップするには:
- 動的ストレージデバイスについては、容量の増加によるストレージのスケールアップ を参照してください。
- ローカルストレージデバイスについては、ローカルストレージデバイスを使用して作成されたクラスターのスケールアップ を参照してください。
第6章 Microsoft Azure OpenShift Data Foundation クラスターのストレージのスケーリング
Microsoft Azure クラスター上で設定済みの Red Hat OpenShift Data Foundation ワーカーノードのストレージ容量をスケーリングするには、一度に 3 つのディスクを追加して容量を増やすことができます。OpenShift Data Foundation はレプリカ数 3 を使用して高可用性を維持するため、3 つのディスクが必要です。したがって、消費されるストレージの量は、使用可能なスペースの 3 倍になります。
暗号化が有効になっている場合、または 2 つのプールのレプリカが使用されている場合、使用可能なスペースは異なる場合があります。
6.1. クラスターのストレージ容量をスケールアップする
ユーザーがプロビジョニングしたインフラストラクチャー上に動的に作成したストレージクラスターのストレージ容量を増やすために、設定済みの 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 およびそれらの対応する新規 Persistent Volume Claims (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.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章 Red Hat Virtualization OpenShift Data Foundation クラスターのストレージのスケーリング
Red Hat Virtualization クラスターで設定済みの Red Hat OpenShift Data Foundation ワーカーノードのストレージ容量をスケーリングするには、一度に 3 つのディスクを追加して容量を増やすことができます。OpenShift Data Foundation はレプリカ数 3 を使用して高可用性を維持するため、3 つのディスクが必要です。したがって、消費されるストレージの量は、使用可能なスペースの 3 倍になります。
暗号化が有効になっている場合、または 2 つのプールのレプリカが使用されている場合、使用可能なスペースは異なる場合があります。
7.1. クラスターのストレージ容量をスケールアップする
ユーザーがプロビジョニングしたインフラストラクチャー上に動的に作成したストレージクラスターのストレージ容量を増やすために、設定済みの 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 およびそれらの対応する新規 Persistent Volume Claims (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.2. Red Hat Virtualization クラスターのストレージ容量をスケールアウトする
OpenShift Data Foundation は非常にスケーラブルです。必要なストレージと CPU と RAM の観点から十分なハードウェアリソースを備えた新しいノードを追加することで、スケールアウトできます。実際には、追加できるノードの数に制限はありませんが、サポートの観点からは、2000 ノードが OpenShift Data Foundation の制限です。
ストレージ容量のスケールアウトは、2 つのステップに分けることができます
- 新規ノードの追加
- ストレージ容量のスケールアップ
OpenShift Data Foundation は、異なる OSD/Disk サイズをサポートしません。
7.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-*
-
7.2.2. ローカルストレージデバイスを使用したノードの追加
既存のワーカーノードがすでにサポートされている最大の OSD で実行されている場合、または既存のノードに新しい OSD を追加するのに十分なリソースがない場合は、ノードを追加してストレージ容量を増やすことができます。
3 の倍数でノードを追加し、それぞれを異なる障害ドメインに追加します。3 の倍数でノードを追加することをお勧めしますが、柔軟なスケーリングデプロイメントでは、一度に 1 つのノードを追加する柔軟性があります。ナレッジベースの記事 Verify if flexible scaling is enabled を参照してください。
OpenShift Data Foundation は、異種ディスクのサイズとタイプをサポートしていません。追加する新しいノードには、OpenShift Data Foundation の初期デプロイメント中に使用されたものと同じタイプおよびサイズのディスクが必要です。
前提条件
- OpenShift Container Platform に対する管理者権限がある。
- 実行中の OpenShift Data Foundation ストレージクラスターがある。
手順
インフラストラクチャーのタイプに応じて、以下の手順を実行します。
- 必要なインフラストラクチャーを備えた新しいマシンを入手してください。Platform 要件 を参照します。
- 新規マシンを使用して新規 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
フィールドに新規ノードのホスト名を追加します。図7.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-*
-
7.2.3. ストレージ容量のスケールアップ
ストレージ容量をスケールアップするには:
- 動的ストレージデバイスについては、容量の増加によるストレージのスケールアップ を参照してください。
- ローカルストレージデバイスについては、ローカルストレージデバイスを使用して作成されたクラスターのスケールアップ を参照してください。
第8章 IBM Z または OpenShift Data Foundation クラスターのストレージのスケーリング
8.1. IBM Z または 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 およびそれらの対応する新規 Persistent Volume Claims (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 または 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 ストレージクラスターがある。
手順
インフラストラクチャーのタイプに応じて、以下の手順を実行します。
- 必要なインフラストラクチャーを備えた新しいマシンを入手してください。Platform 要件 を参照します。
- 新規マシンを使用して新規 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
フィールドに新規ノードのホスト名を追加します。図8.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-*
-
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 がインストールされている必要があります。以下の手順を使用してください。
- 3 つの OpenShift Container Platform ワーカーノードが必要です。それらのノードには、元の 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 およびそれらの対応する新規 Persistent Volume Claims (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 クラスターにログインしている必要がある。
- 3 つの OpenShift Container Platform ワーカーノードが必要です。それらのノードには、元の OpenShift Data Foundation の StorageCluster の作成に使用されたものと同じストレージタイプおよびサイズ (例: 2 TB SSD ドライブ) が割り当てられている必要があります。
手順
- 必要なインフラストラクチャーで新規の IBM Power マシンを取得します。Platform 要件 を参照します。
新規 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. ストレージ容量のスケールアップ
ストレージの容量をスケールアップするには、容量の増加によるストレージのスケールアップ について参照してください。