OpenShift Data Foundation について
仮想プライベート・クラウド クラシック・インフラストラクチャー Satellite
OpenShift Data Foundationは可用性の高いストレージ・ソリューションで、コンテナ化されたアプリの永続ストレージを管理するために使用できる。
- OpenShift Data Foundation とは何ですか?
- OpenShift Data Foundationは、 Ceph、 NooBaa、Data Foundationといった複数のオープンソース・オペレーターとテクノロジーで構成される、可用性の高いストレージ・ソリューションである。 Rook. これらのオペレーターを使用すると、Red Hat® OpenShift® on IBM Cloud® クラスターで、コンテナー化されたワークロードのファイル、ブロック、およびオブジェクトのストレージをプロビジョンおよび管理できます。 ストレージのタイプごとに別個のドライバーとオペレーターを構成する必要がある場合がある他のストレージ・ソリューションとは異なり、ODF は、ストレージのニーズに合わせて適応またはスケーリングできる統合ソリューションです。 任意の OCP クラスターに ODF をデプロイすることもできます。
- OpenShift Data Foundation はどのように機能しますか?
- ODF はこれらのデバイスを使用して、高可用性のためにアプリ・データが複製される仮想化ストレージ層を作成します。 ODF は基礎となるストレージを抽象化するため、ODF を使用して、基礎となる同じロー・ブロック・ストレージからファイル・ストレージ、ブロック・ストレージ、またはオブジェクト・ストレージのクレームを作成することができます。
- ODF は 3 の倍数のストレージ・ボリュームを使用し、これらのボリューム間でアプリ・データを複製します。 ODF に使用する基礎となるストレージ・ボリュームは、クラスター・タイプによって異なります。
- 仮想マシンを使用するVPCクラスタでは、ストレージ・ボリュームは Block Storage for VPC。
- ベアメタルワーカーを使用するClassicまたはVPCクラスタの場合、ストレージボリュームはベアメタルワーカーノードのローカルディスクになります。
- Satellite クラスタの場合、ストレージボリュームはワーカーノードのローカルディスクか、互換性のあるブロックストレージドライバを使用して動的にディスクをプロビジョニングすることができます。
- OpenShift Data Foundationをプライベート専用のVPCクラスタにインストールすることはできますか?
- はい、プライベート専用VPCクラスタにODFをインストールできます。クラスタバージョンは、 CoreOS ワーカー用が
4.16.23_1546_openshift
、RHELワーカー用が4.16.21_1544_openshift
から始まります。 - OpenShift Data Foundation アドオンを Satellite クラスターにインストールできますか?
- いいえ クラスター・アドオンは、クラシック・クラスターと VPC クラスターでのみ使用可能です。
- OpenShift Data Foundation を Satelliteにインストールするにはどうすればよいですか?
- Satellite ストレージ・テンプレートのいずれかを使用して、 Satellite に ODF をインストールできます。 詳しくは、 Satellite ストレージの資料 を参照してください。
odf-local
: ワーカー・ノードで使用可能なローカル・ストレージがある場合は、このテンプレートを選択します。lsblk
の実行時にストレージ・ボリュームが表示される場合、ODF のデプロイ時にこれらのディスクを使用できます (未フォーマットのロー・ディスクである場合)。odf-remote
: クラスターに CSI ドライバーがインストールされている場合は、このテンプレートを選択します。 例えば、azuredisk-csi-driver
ドライバーなどです。 CSI ドライバーを使用して、ODF のデプロイ時にストレージ・ボリュームを動的にプロビジョンすることができます。
機能と利点の詳細については、 OpenShift Data Foundationを参照。
アーキテクチャーの概要
OpenShift Data Foundation について詳しくは、以下の図と表を参照してください。
数値 | ODF のコンポーネント | 説明 |
---|---|---|
1 | OpenShift Data Foundation ストレージ・クラス | ODF をデプロイすると、ODF オペレーターによって、クラスターにファイル、ブロック、およびオブジェクトのストレージ・クラスが作成されます。 これらのストレージ・クラスを PVC で参照し、アプリのストレージを請求します。 |
2 | OSD ブロック・ストレージ | これらのデバイスは、クラスターにアプリケーション・ストレージを提供します。 各 OSD はロー・ブロック・ストレージ・デバイスであり、ワーカー・ノードのローカル・ディスクにすることも、ODF のデプロイ時に動的にプロビジョンすることもできます。 VPC クラスターでは、OSD ブロック・ストレージ・デバイスは Block Storage for VPC ドライバーを使用して動的にプロビジョンされます。 Satellite クラスターでは、ワーカー・ノードのローカル・ボリュームを使用することも、動的プロビジョニングをサポートするブロック・ストレージ・ドライバーを使用してブロック・ストレージ・デバイスを動的にプロビジョンすることもできます。
クラシック・クラスターでは、OSD ブロック・デバイスはワーカー・ノードのローカル・ディスクです。 ODF をデプロイするときに、各デバイスが OSD ポッドによってマウントされます。 アプリケーションで使用可能なストレージ総量は、osdSize に numOfOsd を乗算した値に等しくなります。 |
3 | オブジェクト・ストレージ・デーモン (OSD) ポッド | OSD ポッドは、ストレージ・デバイス間のデータの配置と複製を管理します。 |
4 | モニター (Mon) ポッド | モニター・ポッドは、OpenShift Data Foundation ストレージ・クラスターのマップを保持し、ストレージ・クラスターの正常性をモニターします。 |
5 | モニター (Mon) ブロック・ストレージ・デバイス | モニター・ストレージ・デバイスは、モニター・ポッドの基礎となるストレージ・デバイスです。 各モニター・デバイスはロー・ブロック・ストレージ・デバイスであり、ワーカー・ノードのローカル・ディスクにすることも、ODF のデプロイ時に動的にプロビジョンすることもできます。 各デバイスは、モニター・ポッドにストレージを提供します。 |
Multicloud Object Gateway の概要
マルチクラウド・オブジェクト・ゲートウェイは、オープンソースツール NooBaa で構成され、 OpenShift Data Foundationのコンポーネントである。 Multicloud Object Gateway を使用すると、複数のクラウド・プロバイダーでオブジェクトおよびバケットを管理できます。
数値 | Multicloud Object Gateway のコンポーネント | 説明 |
---|---|---|
1 | バッキング・ストア | バッキング・ストアは、s3 互換オブジェクト・ストレージ・バケットです。 Multicloud Object Gateway では、プロバイダーに関係なく、任意のクラウド環境にバッキング・ストアを配置できます。 複数のバッキング・ストアを Multicloud Object Gateway に接続できます。 ODF をデプロイすると、デフォルトのバッキング・ストアでは、ODF ストレージ・クラスター用に指定したロー・ブロック・ストレージ・デバイスが使用されます。 ただし、オプションで、IBM Cloud Object Storage をデフォルトのバッキング・ストアとしてセットアップできます。 |
2 | バケット・クラス | バケット・クラスは、1 つ以上のバッキング・ストア (バケット) と配置ポリシーで構成されます。 複数のロケーションおよびクラウドでオブジェクトを管理するために、バッキング・ストアおよび配置ポリシーを構成できます。 |
3 | ストレージ・クラス | Multicloud Object Gateway のストレージ・クラスは、ストレージ・リソース・パラメーターを定義するという点で、他の Kubernetes ストレージ・クラスと似ています。 ただし、Multicloud Object Gateway では、ストレージ・クラスを作成するときに、使用するバケット・クラスを指定します。 バケット・クラスからストレージ・クラスを作成することにより、複数の名前空間で Multicloud Object Gateway リソースを使用可能にすることができます。 |
4 | オブジェクト・バケット請求 (OBC) | オブジェクト・バケット請求 (OBC) は、開発者またはストレージ管理者がストレージ・リソースを請求するための OBC を作成できるという点で、Kubernetes 永続ボリューム請求 (PVC) に似ています。 OBC を作成するときには、使用するストレージ・クラスを指定し、オプションで、動的に作成されるオブジェクト・バケットの名前を指定します。 |
5 | シークレット | Object Bucket Claim を作成すると、クラスター内に Kubernetes シークレットも作成されます。 |
6 | ConfigMap | Object Bucket Claim を作成すると、クラスター内に ConfigMap も作成されます。 |
7 | オブジェクト・バケット | オブジェクト・バケットは、オブジェクト・バケット請求の作成時に動的にプロビジョンされます。 オブジェクト・バケットは、1 つ以上のバッキング・ストアを単一のリソースに抽象化します。 |
8 | s3 アプリケーション | オブジェクト・ストレージを使用するアプリ。 |
9 | シークレット参照 | シークレット参照は、クラスター内の Kubernetes シークレットへの参照です。 オブジェクト・バケット請求を作成すると、NooBaa によって対応するシークレットおよび構成マップが作成されます。 その後、アプリでシークレットおよび構成マップを参照でき、アプリに資格情報を直接組み込む必要がありません。 |
10 | ConfigMap 参照 | 構成マップ参照は、クラスター内の Kubernetes 構成マップへの参照です。 オブジェクト・バケット請求を作成すると、NooBaa によって対応するシークレットおよび構成マップが動的に作成されます。 アプリでシークレットおよび構成マップを参照でき、アプリケーションにこれらの資格情報を組み込む必要がありません。 |
11 | 名前空間リソース | 名前空間リソースは s3 互換バケットです。 Multicloud Object Gateway に名前空間リソース (バケット) を追加したら、1 つ以上の名前空間リソースに対する読み取りおよび書き込みに使用できる名前空間バケットを作成することにより、これらのバケットを参照できます。 |
12 | 名前空間バケット | 名前空間バケットは、NooBaa 名前空間内の 1 つ以上の名前空間リソースを抽象化します。 名前空間バケットを作成するときに、Multicloud Object Gateway で構成した名前空間リソースに対する読み取りポリシーまたは書き込みポリシーを指定できます。 例えば、異なるクラウド・プロバイダーの 2 つのバケットから読み取り、別の独立したクラウド環境の 3 番目のバケットに書き込むことができます。 |
13 | 名前空間バケット・アクセス・キー | アクセス・キーは、名前空間バケットへのアクセスに使用されます。 名前空間バケットには、さまざまなクラウド・プロバイダーまたはオンプレミス・バケットからの複数の名前空間リソースを含めることができます。 名前空間バケットのアクセス・キーと秘密鍵は、名前空間バケットへのアクセスを構成するために、s3 アプリで使用されます。その後、名前空間バケットにより、構成する名前空間リソースに対する読み取りポリシーおよび書き込みポリシーが定義されます。 |
14 | 名前空間バケット秘密鍵 | 秘密鍵は、名前空間バケットへのアクセスに使用されます。 名前空間バケットには、さまざまなクラウド・プロバイダーまたはオンプレミス・バケットからの複数の名前空間リソースを含めることができます。 名前空間バケットのアクセス・キーと秘密鍵は、名前空間バケットへのアクセスを構成するために、s3 アプリで使用されます。その後、名前空間バケットにより、構成する名前空間リソースに対する読み取りポリシーおよび書き込みポリシーが定義されます。 |
15 | 配置ポリシー | バケット・クラスを作成するときに、配置ポリシーを指定する必要があります。 配置ポリシーによって、データがバッキング・ストアに書き込まれる方法が定義されます。 ミラー配置ポリシーは、バケット・クラスのバッキング・ストア間でオブジェクトをミラーリングし、分散配置ポリシーは、バケット・クラスのバッキング・ストア全体にオブジェクトを分散させます。 |
請求タイプ別のフィーチャー・サポート
機能サポート | 基本情報 | 拡張 |
---|---|---|
ブロック・ストレージ | ある | ある |
ファイル・ストレージ | ある | ある |
オブジェクト・ストレージ | ある | ある |
Node とディスクの回復力 | ある | ある |
オペレーター・ベースの自動化 | ある | ある |
圧縮 | ある | ある |
ローカル・スナップショットとクローン作成 | ある | ある |
クラスター全体の基本的な暗号化 | ある | ある |
KMS を使用した拡張暗号化 | いいえ | ある |
複製による地域の災害復旧 | いいえ | ある |
拡張クラスター-メトロの高可用性と災害復旧 | いいえ | ある |
マルチクラスター-メトロの高可用性と災害復旧 | いいえ | ある |
ベスト・プラクティス
ODF をインストールして管理する際のベスト・プラクティスについては、以下のセクションを参照してください。
計画
- ワーカーノードの配布を計画する
- 高可用性を確保するには、障害ドメイン全体に ODF クラスターを分散させます。 この分布は、ノード障害の影響を最小限に抑え、クラスター全体の安定度を維持するのに役立ちます。
- ワーカー・ノードの最小仕様を満たす
- ODF を使用するワーカー・ノードには、16 個の vCPUs と 64GB 以上の RAM が必要です。 IBM クラシック・クラスターの場合、推奨されるフレーバーは
mb4c.32x384.3.8tb.ssd
以上です。 - 高可用性のためのスタンバイ・ホストの保持
- 高可用性を確保し、ホストに障害が発生した場合のダウンタイムを最小限に抑えるには、常にスタンバイホストを保持することが望ましい。
- ノードごとのストレージ・デバイス数の推奨を満たす
- ノード当たり 9 台未満のストレージ・デバイスを使用することを計画してください。 これにより、潜在的なボトルネックを回避し、データのアクセスと取得の効率性を向上させることができます。
- 推奨されるストレージ・デバイスのサイズとカウントを使用する
- ローカル・ストレージをデプロイする場合は、4 TiB 以下のディスク・サイズを使用してください。 ストレージを最適に使用するためには、クラスター内のすべてのディスク (すべてのストレージ・ノードにわたる) のサイズとタイプが同じであることを確認することが重要です。 最低512GiのOSDを使用すること。
- デフォルトの複製ファクターとストレージ・ノード構成を使用したスケールアップ
- OpenShift Data Foundation (ODF) では、複製係数はデフォルトで 3 に設定されています。 容量を追加する場合は、3 の倍数でストレージ・ノードを追加することを計画してください。
- お客様のニーズに合った適切なセットアップを選択: リモート・ストレージとローカル・ストレージ
- ストレージ必要量が少ない場合や、仮想サーバー・インスタンスを使用している場合は、リモート・ストレージを便利でコスト効率の高いオプションにすることができます。 しかし、大容量のストレージが必要な場合は、ベアメタルクラスターや、ネットワークレイテンシの低い高性能ストレージなど、ローカルストレージを使用する方が適している。
- 自動ディスカバリー機能で配備を簡素化
- Classicクラスタまたはローカル・ストレージを使用する環境では、自動検出機能を活用してクラスタ内の使用可能なストレージ・ディスクを自動的に識別し、ODF用に構成します。 このオプションを使用すると、手動でディスクを選択する必要がなくなります。 ODF プロビジョニングに特定のディスク要件がない限り、オートディスカバリー機能を使用すると、デプロイメント・プロセスが簡素化され、構成エラーの可能性が削減されます。
- リモート・ストレージでの ODF インストールにメトロ・ストレージ・クラスを使用する
- リモート・ストレージを使用する ODF インストールを実行する場合は、必ず、
WaitForFirstConsumer
のVolumeBindingMode
を持つストレージ・クラスを使用してください。これにより、このストレージを使用する最初のポッドのスケジュール準備ができるまで、 Block Storage の作成が遅延します。 - デプロイメントのサイジング
- ストレージ要件の詳細な分析については、 サイジング・ツール を参照して、必要なストレージ容量を判別してください。 公式の Red Hat サイジング・ツール を使用することもできます。
- 定期的なバックアップのセットアップ
- ODFクラスタの定期的なバックアップを取ることは、データ保護を確実にし、災害が発生した場合のデータ復旧を容易にするために不可欠です。 定期的なバックアップがないと、壊滅的な事象からデータをリカバリーすることが非常に難しくなり、永続的なデータ損失につながる可能性があります。
デプロイメント
- 専用ストレージ・ノードを使用する計画
- ワークロードが多いシナリオでは、ODF に専用のストレージ・ノードを使用します。 ストレージ・ノードの操作を分離することで、ストレージ・インフラストラクチャーのパフォーマンスとスケーラビリティーを向上させることができます。
- Red Hat コンソールの定期的なモニターのセットアップ
- Red Hat コンソールは、ODF環境の健全性とパフォーマンスに関する貴重な洞察を提供します。 潜在的な問題を常に把握するために、コンソールを定期的にモニターすることをお勧めします。 コンソールは、ODF に問題が検出されるたびにアラートをトリガーし、ユーザーが事前対応策を講じることができるようにします。
- 容量の警告に迅速に対応
- 容量の警告が出された場合は、速やかに対処することが重要です。 これらの警告に対するアクションを無視または遅延させると、ストレージ容量の制約およびワークロードの潜在的な中断につながる可能性があります。 ストレージ・ニーズを評価し、潜在的な問題を軽減するための適切な対策を講じる機会として、容量警告を扱います。
容量の拡張
- 容量拡張のオプションを理解する
- ODF の容量拡張には 2 つのオプションがあります。 最初のオプションでは、クラスター内の既存のノードにさらに OSD (Object Storage ・デーモン) を追加して容量を増やします。 これにより、使用可能なリソースを使用してストレージ容量を拡張できます。 2 番目のオプションは、新規ノードをクラスターに追加して容量を拡張することです。 OSD の数が増えると、新たに追加されたノードに OSD が自動的にプロビジョンされます。
更新
- ノードを置換するヘルス・チェックを実行します
- ODF が正常な状態でない場合は、ストレージ・ノードを置き換えないようにしてください。 ノードの交換を続行する前に、必ず ODF の正常性状況を確認してください。 正常でないノードを交換する前に、問題の解決を試みてください。
- 環境を最新の状態に保つ
- クラスター・バージョンを、使用可能なデフォルト・バージョンまたは最新バージョンに更新したままにします。 クラスター・バージョンを最新の状態に保つことにより、最新の機能を活用し、環境内の他のコンポーネントとの互換性を維持することができます。
- クラスターのアップグレード後に ODF 更新を実行する
- 必ずクラスター・マスターとワーカー・ノードを最初にアップグレードしてから、ODF アップグレードに進みます。 クラスターのアップグレードが完了したら、ODF も更新する必要があります。 ODF は現行クラスター・バージョン (n) と次のクラスター・バージョン (n+1) の両方をサポートしますが、ODF バージョンはクラスター・バージョンと同じにしてください。 この調整により、最適な互換性が確保されます
- ストレージ・ノードの順次アップグレード
- ストレージ・ノードをアップグレードする場合は、アップグレードを 1 つずつ実行することがベスト・プラクティスです。 この順次アプローチにより、各ノードのアップグレード後に ODF の状況を検証し、プロセス全体でストレージ・インフラストラクチャーが正常な状態に保たれるようにすることができます。 ノードを個別にアップグレードすることにより、ODF に対する各アップグレードの影響を緊密にモニターし、発生する可能性のある問題を素早く特定して解決することができます。
回復
- 正常でないホストの置換
- ローカルで災害が発生した場合は、不健全なクラスタホストを健全なものと交換することを推奨します。
- 資料に従って、OSD をリカバリーします。
- OSD (Object Storage ・デーモン) が OpenShift Data Foundation (ODF) でダウンした場合は、推奨されるリカバリー手順に従うことが重要です。 このような状況で OSD をリカバリーする方法について詳しくは、 IBM Cloud Platform から提供されている資料を参照してください。
アンインストールと削除
- ポッドと永続ボリューム (PV) の削除
- ODFストレージ・クラスを使用するリソースを削除する場合は、推奨される手順に従うことが重要です。 他のリソースの削除に進む前に、必ず、OF ストレージ・クラスを使用して作成された関連ポッドと PV を削除してください。
- 正しいクリーンアップ順序に従う
- クラスターから ODF を廃止または削除する場合は、リソースをクリーンアップする際に必ず資料に従ってください。 最初に、ODF の管理を担当する
ocscluster
リソースを削除します。ocscluster
リソースが削除されたら、 IBM コンソールから ODF アドオンの削除に進みます。 この手順に従うことで、クラスターから ODF が円滑かつ適切に削除され、潜在的な問題や競合が回避されます。
トラブルシューティング
- 容量のアラートとしきい値の確認
- ODF は、クラスター・ストレージ容量が特定のしきい値に達すると、容量アラートを生成します。 これらのしきい値は、合計容量の 75% (ほぼ満杯) と 85% (満杯) に設定されます。 これらのアラートは、ストレージ容量が限界に近づいており、注意が必要であることを示します。
- 一般的な問題の確認
- OpenShift Data Foundation (ODF) で問題が発生した場合は、一般的な問題のトラブルシューティングに関するガイダンスを提供する使用可能な運用手順書を参照すると役立ちます。 運用手順書には、ODF の既知の問題とそれに対応する解決策の包括的なリストが含まれています。
OpenShift Data Foundation のデプロイ
インフラストラクチャー・プロバイダーのデプロイメント・オプションを確認します。
- 仮想プライベート・クラウド (VPC) クラスター
- Block Storage for VPC、ダイナミックプロビジョニングを使用するか、ベアメタルワーカー上のローカルディスクを使用してODFを配備することができます。 詳しくは、VPC クラスターへの OpenShift Data Foundation のデプロイを参照してください。
- Satellite クラスター
- ODFを Satellite クラスタに配備したい場合は、 Satellite ストレージテンプレートを使用できます。 詳しくは、以下のリンクを参照してください。
- リモートの動的にプロビジョンされたディスク用の OpenShift Data Foundation テンプレートのデプロイ。
- ローカル・ディスク用の OpenShift Data Foundation テンプレートのデプロイ。
- クラシック・クラスター
- ベアメタル・ワーカー・ノードのローカル・ディスクを使用して ODF をデプロイできます。 詳しくは、クラシック・クラスターへの OpenShift Data Foundation のデプロイを参照してください。