ストレージのスケーリング
OpenShift Data Foundation でのスケーリング操作の手順
概要
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
Red Hat ドキュメントへのフィードバック (英語のみ)
弊社のドキュメントについてのご意見をお聞かせください。ドキュメントの改善点があれば、ぜひお知らせください。フィードバックをお寄せいただくには、以下をご確認ください。
特定の部分についての簡単なコメントをお寄せいただく場合は、以下をご確認ください。
- ドキュメントの表示が Multi-page HTML 形式になっていていることを確認してください。ドキュメントの右上隅に Feedback ボタンがあることを確認してください。
- マウスカーソルを使用して、コメントを追加するテキストの部分を強調表示します。
- 強調表示されたテキストの下に表示される Add Feedback ポップアップをクリックします。
- 表示される指示に従ってください。
より詳細なフィードバックをお寄せいただく場合は、Bugzilla のチケットを作成してください。
- Bugzilla の Web サイトに移動します。
- Component セクションで、documentation を選択します。
- Description フィールドに、ドキュメントの改善に向けたご提案を記入してください。ドキュメントの該当部分へのリンクも追加してください。
- Submit Bug をクリックします。
はじめに
OpenShift Data Foundation のストレージ容量を内部モードでスケーリングするには、以下のいずれかを実行できます。
- ストレージノードのスケールアップ: 既存の Red Hat OpenShift Data Foundation ワーカーノードに対してストレージ容量を追加します。
- ストレージノードのスケールアウト: ストレージ容量を含む新規ワーカーノードを追加します。
外部モードでストレージをスケーリングするには、Red Hat Ceph Storage のドキュメント を参照してください。
第1章 ストレージノードのスケーリングの要件
ストレージノードをスケーリングする前に、以下のセクションを参照して、特定の Red Hat OpenShift Data Foundation インスタンスのノード要件を把握してください。
- プラットフォーム要件
ストレージデバイスの要件
常にストレージ容量が十分にあることを確認してください。
ストレージが完全に一杯になると、容量を追加したり、ストレージからコンテンツを削除したり、コンテンツを移動して領域を完全に解放することはできません。フルストレージは、復旧が非常に困難です。
容量アラートは、クラスターストレージ容量が合計容量の 75% (ほぼ一杯) および 85% (一杯) になると発行されます。容量についての警告に常に迅速に対応し、ストレージを定期的に確認して、ストレージ領域が不足しないようにします。
ストレージ領域が不足する場合は、Red Hat カスタマーポータル にお問い合わせください。
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章 ストレージ容量のスケールアップ
デプロイメントのタイプに応じて、以下のいずれかの手順を選択してストレージ容量をスケールアップできます。
- ストレージデバイスの動的または自動プロビジョニングを使用する AWS、VMware、Red Hat Virtualization、または Azure インフラストラクチャーの場合は、「OpenShift Data Foundation ノードへの容量の追加によるストレージのスケールアップ」を参照してください。
- ローカルストレージデバイスを使用するベアメタル、VMware、または Red Hat Virtualization インフラストラクチャーの場合は、「ローカルストレージデバイスを使用した OpenShift Data Foundation ノードへの容量の追加によるストレージのスケールアップ」を参照してください。
- ローカルストレージデバイスを使用する IBM Z または LinuxONE インフラストラクチャーの場合は、「IBM Z または LinuxONE インフラストラクチャーの OpenShift Data Foundation ノードへの容量の追加によるストレージのスケールアップ」を参照してください。
- ローカルストレージデバイスを使用する IBM Power の場合は、「ローカルストレージデバイスを使用した IBM Power インフラストラクチャーの OpenShift Data Foundation ノードへの容量の追加によるストレージのスケールアップ」 を参照してください。
デプロイメント時にプロビジョニングされたストレージクラス以外のストレージクラスを使用してスケーリングするには、スケーリングの前に追加のストレージクラスを定義する必要があります。詳細は、ストレージクラスの作成 を参照してください。
OpenShift Data Foundation は、異なる OSD サイズをサポートしません。
2.1. ストレージクラスの作成
新規のストレージクラスを定義して、既存のプロバイダーからストレージを動的にプロビジョニングできます。
前提条件
- OpenShift Web コンソールへの管理者アクセス。
手順
- OpenShift Web コンソールにログインします。
- Storage → StorageClasses をクリックします。
Create Storage Class をクリックします。
- ストレージクラスの Name および Description を入力します。
- 必要な Reclaim Policy および Provisioner を選択します。
- Create をクリックしてストレージクラスを作成します。
検証手順
- Storage → StorageClasses をクリックして新規ストレージクラスが表示されていることを確認します。
2.2. OpenShift Data Foundation ノードへの容量の追加によるストレージのスケールアップ
以下のインフラストラクチャーで設定された Red Hat OpenShift Data Foundation ワーカーノードにストレージ容量を追加し、パフォーマンスを強化します。
- AWS
- VMware vSphere
- Red Hat Virtualization
- Microsoft Azure
前提条件
- 実行中の OpenShift Data Foundation Platform。
- OpenShift Web コンソールの管理者権限
- デプロイメント時にプロビジョニングされたストレージクラス以外のストレージクラスを使用してスケーリングするには、最初に追加のストレージクラスを定義します。詳細は、ストレージクラスの作成 を参照してください。
手順
- OpenShift Web コンソールにログインします。
- Operators → Installed Operators をクリックします。
- OpenShift Data Foundation Operator をクリックします。
Storage Systems タブをクリックします。
- ストレージシステム名の右側にある Action Menu (⋮) をクリックし、オプションメニューを拡張します。
- オプションメニューから Add Capacity を選択します。
Storage Class を選択します。
デプロイ中に生成されたデフォルトのストレージクラスを使用している場合は、AWS では
gp2
またはgp3
、VMware ではthin
、Red Hat Virtualization ではovirt-csi-sc
、Microsoft Azure ではmanaged_premium
にストレージクラスを設定します。他のストレージクラスを作成している場合は、適切なものを選択します。注記OpenShift Data Foundation バージョン 4.10 は、AWS によって導入された gp2 および gp3CSI ドライバーをサポートするようになりました。これらのドライバーは、ストレージ拡張機能を改善し (gp2 インツリーと比較して gp2 CSI)、月額料金を引き下げます (gp3)。高いスループットが必要な場合は、OpenShift Data Foundation をデプロイするときに gp3 を使用することをお勧めします。
重要プロバイダーのデフォルト以外のストレージクラスはテクノロジープレビュー機能として使用できます。
テクノロジープレビュー機能は Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。Red Hat は実稼働環境でこれらを使用することを推奨していません。これらの機能は、近々発表予定の製品機能をリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。
詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
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 -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
<OSD-pod-name>
OSD Pod の名前です。
以下に例を示します。
oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
直前の手順で特定された各ノードに以下を実行します。
デバッグ Pod を作成し、選択したホストの chroot 環境を開きます。
$ oc debug node/<node-name>
<node-name>
ノードの名前。
$ chroot /host
ocs-deviceset
名の横にあるcrypt
キーワードを確認します。$ lsblk
クラスターの削減は、Red Hat サポートチーム のサポートがある場合にのみサポートされます。
2.3. ローカルストレージデバイスを使用した OpenShift Data Foundation ノードへの容量の追加によるストレージのスケールアップ
以下のインフラストラクチャーで設定されたローカルストレージベースの OpenShift Data Foundation ワーカーノードにストレージ容量 (追加のストレージデバイス) を追加します。
- ベアメタル
- VMware
- Red Hat Virtualization
前提条件
- OpenShift Container Platform クラスターにログインしている必要があります。
ローカルストレージ Operator がインストールされている必要があります。お使いのインフラストラクチャーに適用可能な以下の手順のいずれかを使用します。
- 3 つの OpenShift Container Platform ワーカーノードが必要です。それらのノードには、元の OpenShift Data Foundation の StorageCluster の作成に使用されたものと同じストレージタイプおよびサイズ (例: 2 TB NVMe ドライブ) が割り当てられている必要があります。
手順
容量を追加するには、デプロイメント時にプロビジョニングしたストレージクラスか、フィルターと合致する他のストレージクラスを使用できます。
- 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 -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
<OSD-pod-name>
OSD Pod の名前です。
以下に例を示します。
oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
直前の手順で特定された各ノードに以下を実行します。
デバッグ Pod を作成し、選択したホストの chroot 環境を開きます。
$ oc debug node/<node-name>
<node-name>
ノードの名前。
$ chroot /host
ocs-deviceset
名の横にあるcrypt
キーワードを確認します。$ lsblk
クラスターの削減は、Red Hat サポートチーム のサポートがある場合にのみサポートされます。
2.4. 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 -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
<OSD-pod-name>
OSD Pod の名前です。
以下に例を示します。
oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
直前の手順で特定された各ノードに以下を実行します。
デバッグ Pod を作成し、選択したホストの chroot 環境を開きます。
$ oc debug node/<node-name>
<node-name>
ノードの名前。
$ chroot /host
ocs-deviceset
名の横にあるcrypt
キーワードを確認します。$ lsblk
クラスターの削減は、Red Hat サポートチーム のサポートがある場合にのみサポートされます。
2.5. ローカルストレージデバイスを使用した IBM Power インフラストラクチャーの OpenShift Data Foundation ノードへの容量の追加によるストレージのスケールアップ
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 -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
<OSD-pod-name>
OSD Pod の名前です。
以下に例を示します。
oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
直前の手順で特定された各ノードに以下を実行します。
デバッグ Pod を作成し、選択したホストの chroot 環境を開きます。
$ oc debug node/<node-name>
<node-name>
ノードの名前。
$ chroot /host
ocs-deviceset
名の横にあるcrypt
キーワードを確認します。$ lsblk
クラスターの削減は、Red Hat サポートチーム のサポートがある場合にのみサポートされます。
第3章 ストレージ容量のスケールアウト
ストレージ容量をスケールアウトするには、以下の手順を実行する必要があります。
- 新規ノードを追加します。
- 新規ノードが正常に追加されたことを確認します。
- ストレージ容量をスケールアップします。
OpenShift Data Foundation は、異なる OSD サイズをサポートしません。
3.1. ノードの追加
既存のワーカーノードがサポートされる最大 OSD (初期設定で選択される容量の 3 OSD の増分) で実行されている場合には、ストレージの容量を増やすためにノードを追加できます。
デプロイメントのタイプに応じて、以下のいずれかの手順を選択してストレージノードを追加できます。
- AWS、Azure、または Red Hat Virtualization インストーラーでプロビジョニングされるインフラストラクチャーについての詳細は、インストーラーでプロビジョニングされるインフラストラクチャーへのノードの追加 について参照してください。
- AWS または VMware のユーザーによってプロビジョニングされるインフラストラクチャーの場合は、ユーザーによってプロビジョニングされるインフラストラクチャーへのノードの追加 について参照してください。
- ベアメタル、IBM Z または LinuxONE、VMware、または Red Hat Virtualization インフラストラクチャーの場合は、ローカルストレージデバイスを使用したノードの追加 について参照してください。
- IBM Power の場合は、IBM Power 上のローカルストレージデバイスを使用したノードの追加 を参照してください。
3.1.1. インストーラーでプロビジョニングされるインフラストラクチャーへのノードの追加
以下のインストーラーによってプロビジョニングされるインフラストラクチャーにノードを追加します。
- AWS
- Azure
- Red Hat Virtualization
- VMware
前提条件
- OpenShift Container Platform クラスターにログインしている必要があります。
手順
- 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 つのノードを追加して、それらすべてのノードに対してこの手順を実行する必要があります。
検証手順
- 新規ノードが追加されていることを確認するには、 新規ノードの追加の確認 について参照してください。
3.1.2. ユーザーによってプロビジョニングされるインフラストラクチャーへのノードの追加
AWS または VMware のユーザーによってプロビジョニングされるインフラストラクチャーにノードを追加できます。
前提条件
- OpenShift Container Platform クラスターにログインしている必要があります。
手順
AWS または VMware のユーザーによってプロビジョニングされるインフラストラクチャーにノードを追加するかどうかに応じて、以下のそれぞれの手順を実行します。
AWS の場合:
- 必要なインフラストラクチャーで新規 AWS マシンインスタンスを作成します。Platform 要件 を参照します。
- 新規 AWS マシンインスタンスを使用して新規 OpenShift Container Platform ノードを作成します。
VMware の場合:
- 必要なインフラストラクチャーで vSphere に新規の仮想マシン (VM) を作成します。Platform 要件 を参照します。
- 新規の仮想マシンを使用して新規 OpenShift Container Platform ワーカーノードを作成します。
Pending
状態の OpenShift Data Foundation に関連する証明書署名要求 (CSR) の有無を確認します。$ oc get csr
新規ノードに必要なすべての OpenShift Data Foundation 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>
- 新規ノードの名前です。
異なるゾーンのそれぞれに 3 つのノードを追加することが推奨されます。3 つのノードを追加して、それらすべてのノードに対してこの手順を実行する必要があります。
検証手順
- 新規ノードが追加されていることを確認するには、 新規ノードの追加の確認 について参照してください。
3.1.3. ローカルストレージデバイスを使用したノードの追加
以下にノードを追加できます。
- ベアメタル
- IBM Z または LinuxONE
- VMware
- Red Hat Virtualization
前提条件
- OpenShift Container Platform クラスターにログインしている必要がある。
- 3 つの OpenShift Container Platform ワーカーノードが必要です。それらのノードには、元の OpenShift Data Foundation の StorageCluster の作成に使用されたものと同じストレージタイプおよびサイズ (例: 2TB SSD または 2TB NVMe) が割り当てられている必要があります。
手順
インフラストラクチャーのタイプに応じて、以下の手順を実行します。
VMware の場合:
- 必要なインフラストラクチャーで vSphere に新規の仮想マシン (VM) を作成します。Platform 要件 を参照します。
- 新規の仮想マシンを使用して新規 OpenShift Container Platform ワーカーノードを作成します。
Red Hat Virtualization の場合:
- 必要なインフラストラクチャーで Red Hat Virtualization に新規の仮想マシンを作成します。プラットフォーム要件 を参照してください。
- 新規の仮想マシンを使用して新規 OpenShift Container Platform ワーカーノードを作成します。
ベアメタルの場合:
- 必要なインフラストラクチャーで新規のベアメタルマシンを取得します。プラットフォーム要件 を参照してください。
- 新規ベアメタルマシンを使用して新規 OpenShift Container Platform ノードを作成します。
IBM Z または LinuxONE の場合:
- 必要なインフラストラクチャーで新規の IBM Z または LinuxONE マシンを取得します。プラットフォーム要件 を参照してください。
- 新規 IBM Z または LinuxONE マシンを使用して新規 OpenShift Container Platform ノードを作成します。
Pending
状態の OpenShift Data Foundation に関連する証明書署名要求 (CSR) の有無を確認します。$ oc get csr
新規ノードに必要なすべての OpenShift Data Foundation 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
フィールドに新規ノードのホスト名を追加します。図3.1 新規ホスト名の追加に関する YAML
- Save をクリックします。
-
異なるゾーンのそれぞれに 3 つのノードを追加することが推奨されます。3 つのノードを追加して、それらすべてのノードに対してこの手順を実行する必要があります。
検証手順
- 新規ノードが追加されていることを確認するには、 新規ノードの追加の確認 について参照してください。
3.1.4. IBM Power 上のローカルストレージデバイスを使用したノードの追加
前提条件
- OpenShift Container Platform クラスターにログインしている必要がある。
- 3 つの OpenShift Container Platform ワーカーノードが必要です。それらのノードには、元の OpenShift Data Foundation の StorageCluster の作成に使用されたものと同じストレージタイプおよびサイズ (例: 2 TB SSD ドライブ) が割り当てられている必要があります。
手順
- 必要なインフラストラクチャーで新規の IBM Power マシンを取得します。Platform 要件 を参照します。
新規 IBM Power マシンを使用して新規 OpenShift Container Platform ノードを作成します。
Pending
状態の OpenShift Data Foundation に関連する証明書署名要求 (CSR) の有無を確認します。$ oc get csr
新規ノードに必要なすべての OpenShift Data Foundation 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
フィールドに新規ノードのホスト名を追加します。図3.2 新規ホスト名の追加に関する YAML
- Save をクリックします。
-
異なるゾーンのそれぞれに 3 つのノードを追加することが推奨されます。3 つのノードを追加して、それらすべてのノードに対してこの手順を実行する必要があります。
検証手順
- 新規ノードが追加されていることを確認するには、 新規ノードの追加の確認 について参照してください。
3.1.5. 新規ノードの追加の確認
以下のコマンドを実行して、出力で新規ノードが表示されていることを確認します。
$ oc get nodes --show-labels | grep cluster.ocs.openshift.io/openshift-storage= |cut -d' ' -f1
Workloads → Pods をクリックし、新規ノード上の少なくとも以下の Pod が Running 状態にあることを確認します。
-
csi-cephfsplugin-*
-
csi-rbdplugin-*
-
3.2. 新規に追加されたノードへの容量の追加
新規に追加されたノードに容量を追加するには、Add Capacity
オプションを使用して 3 つの OSD でストレージクラスターを拡張するか、有効にされている場合に、任意の数の OSD でストレージクラスターを拡張できる新しい柔軟なスケーリング機能を使用します。
3.2.1. Add Capacity オプションの使用による 3 つの OSD での容量の追加
ユーザーインターフェイスの Add Capacity オプションを使用して動的およびローカルストレージ用に 3 つの OSD の容量を追加するには、 容量の追加によるストレージのスケールアップ について参照してください。Add Capacity オプションは、柔軟なスケーリング機能が有効または有効にされていないストレージクラスターで利用できます。
3.2.2. YAML を使用した容量の追加
柔軟なスケーリング機能が有効な状態で、デフォルトの 3 つの OSD のセットではなく、YAML ファイルを使用して一度に 1 つ以上の OSD で容量を追加できます。ただし、クラスターのバランスを維持した状態でディスクを追加する必要があります。
柔軟なスケーリングは、internal-attached モードのストレージクラスター作成の場合にのみサポートされます。
柔軟なスケーリングを有効にするには、3 未満のアベイラビリティーゾーンで 3 ノードを含むクラスターを作成します。OpenShift Web コンソールは、3 つ未満のアベイラビリティーゾーンに分散している 3 ノードを検出し、柔軟なスケーリングを可能にします。
ストレージクラスターの作成後に、柔軟なスケーリング機能を有効にしたり無効にしたりすることはできません。
3.2.2.1. 柔軟なスケーリングが有効にされているかどうかの確認
手順
Web コンソールで、Home → Search をクリックします。
-
検索フィールドに
StorageCluster
と入力します。 -
ocs-storagecluster
をクリックします。 YAML タブで、
spec
セクションのキーflexibleScaling
とstatus
セクションのflexibleScaling
を検索します。flexible scaling
が true であり、failureDomain
が host に設定されている場合、柔軟なスケーリング機能が有効になります。spec: flexibleScaling: true […] status: failureDomain: host
-
検索フィールドに
3.2.2.2. 1 OSD の倍数での YAML の使用による容量の追加
YAML で OSD をストレージクラスターに柔軟に追加するには、以下の手順を実行します。
前提条件
- OpenShift Container Platform Web コンソールへの管理者アクセス。
- 柔軟なスケーリングが有効にされているストレージクラスター。
- 容量の追加に利用できる追加のディスク。
手順
OpenShift Web コンソールで、Home → Search をクリックします。
-
検索フィールドで
ocs-storagecluster
を検索し、検索結果からocs-storagecluster
をクリックします。 - スケールアップするストレージクラスの横にあるアクションメニュー (⋮) をクリックします。
- Edit Storage Cluster をクリックします。YAML にリダイレクトされます。
-
検索フィールドで
-
YAML で、キー
count
を検索します。この count パラメーターは容量をスケールアップします。 クラスターに追加する OSD の数を増やします。
重要YAML の
count
パラメーターが利用可能なディスク数に応じて増分し、またクラスターのバランスを維持した状態でディスクを追加するようにしてください。- Save をクリックします。
ストレージクラスターが Ready
状態になるまでに数分待機する必要がある場合があります。
検証手順
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 -o=custom-columns=NODE:.spec.nodeName pod/<OSD-pod-name>
<OSD-pod-name>
OSD Pod の名前です。
以下に例を示します。
oc get -o=custom-columns=NODE:.spec.nodeName pod/rook-ceph-osd-0-544db49d7f-qrgqm
直前の手順で特定された各ノードに以下を実行します。
デバッグ Pod を作成し、選択したホストの chroot 環境を開きます。
$ oc debug node/<node name>
<node name>
ノードの名前。
$ chroot /host
ocs-deviceset
名の横にあるcrypt
キーワードを確認します。$ lsblk
クラスターの削減は、Red Hat サポートチーム のサポートがある場合にのみサポートされます。