未解決
1 Rookie
•
70 メッセージ
0
80
2025年3月17日 06:23
APEX Cloud Platform for Red Hat OpenShiftにおけるODF構成について
デル・テクノロジーズでクラウド、コンテナ関連を担当している平原です。今日は私が担当しているAPEX Cloud Platform for Red Hat OpenShiftの必須ストレージとして新たに対応したRed Hat OpenShift Data Foundation (ODF) 構成における留意点を説明したいと思います。
APEX Cloud Platform for Red Hat OpenShiftとは?
APEX Cloud Platform for Red Hat OpenShift (以下ACP RHOS) はVxRailで培われたLCM管理自動化のノウハウを活かし、OpenShift環境をシンプルに構築、運用できるターンキー型ソリューションです。ACPファミリーでは、この他にAzure LocalベースのACP for Microsoft Azureも展開しています。
ACP RHOSは、MCノードと呼ばれるACP用に互換性のコントロールがなされたコンピュートノード、永続ボリューム用のストレージとの組み合わせからなります。ACP RHOS 最初のリリースの対応ストレージはPowerFlexのみでしたが、最新リリースでは、PowerStoreおよびRed Hat OpenShift Data Foundation (以下ODF) にも対応し、スモールスタートにも適用可能なソリューションとなっています。
Red Hat OpenShift Data Foundation (ODF) とは
ODFはMCノード内のディスクドライブを共有ストレージとして使用するスケーラブルなソフトウェア定義型ストレージ (SDS) で、オープンソースのCephをベースにしています。Cephは複数ノード内のストレージデバイスを束ね、RADOSと呼ばれる単一のストレージクラスタを作り、以下の3種類の方法で多彩な要件に対応可能なストレージアクセスを提供します。
- RADOSGW(RADOS Gateway): Amazon S3やOpenStackのSwiftと互換性があるオブジェクトストレージアクセスを提供
- RBD(RADOS Block Device):仮想マシンやLinuxカーネルなどのクライアントからブロックストレージアクセスを提供
- Ceph FS(Ceph File System):POSIX(Portable Operating System Interface)互換の分散ファイルシステムで、ファイルストレージアクセスを提供
なお、ODFにはODF EssentialとODF Advancedの2つのエディションがありますが、ACP RHOSではODF Essentialに対応しています。エディションの違いはRed Hat様の記事を参照ください。
https://www.redhat.com/ja/resources/openshift-data-foundation-datasheet
ACP RHOSにおけるODF構成の考え方
ACP RHOSでODFを構成するためにはMCノードに搭載するNVMeドライブの容量とドライブ数を指定します。現在対応しているドライブと搭載可能数は以下のとおりです。また、それぞれのノードに搭載するドライブの種類とドライブ数などのストレージ構成は同じ必要があります。
ACP RHOS ODF構成のサイジングについて
ACP RHOSはPowerSizerを使ってサイジングを行いますが、現在のPowerSizerではODF部分のサイジングがサポートされていません。このため、以下はマニュアルで計算を行います。
①容量計算
ODFはストレージクラスタ内で3重コピーでデータが保護されます。このため実データ容量の3倍の容量が必要となります。また、注意すべき点として全利用可能容量の85%を超えると、ODFはRead-onlyモードとなります。したがって、お客様が必要とする利用可能容量から計算する場合はこのオーバーヘッドを考慮する必要があります。計算式は以下になります。
計算例
実効容量:20TB、4ノード、3.84TB NVMeドライブ
Raw容量:20TB×3÷0.85≒70.6TB
ノードあたりRaw容量:70.6TB÷4≒17.7TB
ノードあたりドライブ数:17.7TB÷3.84TB≒4.6→5ドライブ
参考リンク
②リソースオーバーヘッド
ODFはOpenShiftのComputeノード (Workerノード) 上に展開されるため、Computeノードはお客様が展開するワークロードリソースに加え、ODFのワークロードリソースを考慮する必要があります。
Red Hat社のドキュメントに基づき、Computeノード上にODFで展開されるリソースPod配置および必要量は以下になります。
先頭3ノード
ベースサービス(黄色の部分)
30vCPU, 72GiBメモリ
デバイスセット(2ドライブ目以降、搭載ドライブ1台ごとに発生)
6vCPU, 15GiBメモリ
4ノード以降は
デバイスセット(搭載ドライブ1台ごとに必要、桃色の部分)
2vCPU, 5GiBメモリ
ODFとして必要な総リソース量の計算式は以下になります。
計算例
4ノード、ノードあたりドライブ数5本
vCPU数=30+6×(5-1)+2×5×(4-3)=64vCPU
メモリ=72+15×(5-1)+5×5×(4-3)=157GiB
参考リンク
ここまで計算した必要リソース量をPowerSizerのワークロードとして追加しますが、平均Podサイズを決定するためにリソースPod数を計算します。
得られた必要リソース量をODFリソースPod数で除して平均Podサイズとします。
計算例
ODFリソースPod数=13+5×4=33
平均vCPU数=64÷33≒2.0 vCPU
平均メモリ=157÷33≒4.8GiB
以下はPowerSizerへの入力例です。CPUオーバーコミット比は通常のK8sの考え方ではハイパースレッディング環境において1物理コアに2vCPU相当となるため、1:2としています。
ACP for RHOSでのODF構成は個人的にはニーズがあると思うので参考になればと記事化いたしました。本来であればPowerSizerで必要リソースが同時にサイジング出来るのが望ましいので、PowerSizerチームにも実装をリクエストしていきたいと思います。