Cloud Service
OCI File Storage with Lustre
GPU クラスタを待たせない数百 GB/s 級の並列ファイルシステムをフルマネージドで提供。AI/ML 学習や HPC 向けに、容量に比例してスループットが伸びる Lustre を運用レスで使える。AWS の Amazon FSx for Lustre 相当。
- 1.AI/ML・HPC 向けの高スループット並列ファイルシステム(Lustre)をフルマネージドで提供。
- 2.プロビジョンド容量 1 TB あたりのスループット帯域を性能ティアで選択でき、容量に比例して帯域も伸びる。
- 3.汎用の共有が要れば File Storage(NFS)、GPU クラスタの高速並列 I/O が要れば本サービス。
解決する課題
GPU クラスタや HPC ノードを多数並べて学習・解析する際、ストレージの I/O 帯域が足りずに高価な計算資源を遊ばせてしまう問題を解消します。Lustre クラスタを自前で構築・運用する負担なしに、並列分散ファイルシステムをマネージドで利用できます。
- 多数の GPU/CPU ノードから同時に大容量データを読み書きしたい(学習データセット、チェックポイント、HPC のスクラッチ領域)
- 単一の共有ファイルストレージではスループットが頭打ちになり、計算資源を使い切れない
- Lustre のメタデータサーバー・ストレージサーバーの構築や運用を自分でやりたくない
- 容量だけでなく帯域(スループット)を要件に合わせて設計したい
主要概念と用語
- Lustre: HPC で広く使われるオープンソースの並列分散ファイルシステム。メタデータと実データを複数のサーバーへ分散し、多数のクライアントから高い集約スループットを得られる
- File Storage with Lustre のファイルシステム: 本サービスで作成する Lustre ファイルシステムの実体。容量と性能ティアを指定して作成する
- 性能ティア(Performance Tier): プロビジョンド容量 1 TB あたりのスループット帯域を選ぶ設定。容量に比例して総帯域が決まる
- MGS / MDS / OSS(管理・メタデータ・ストレージサーバー): Lustre を構成するサーバー群。本サービスでは Oracle がこれらをフルマネージドで運用するため、利用者は意識せず使える
- Lustre クライアント: Compute インスタンスや OKE ワーカーノードに導入する Lustre のマウント用クライアント。指定 OS/カーネルの組み合わせが前提
- ファイルストライピング / PFL(Progressive File Layout): 1 ファイルを複数のストレージ対象へ分割配置して並列度を上げる仕組み。
lfsユーティリティで制御する - root squash(ルートスカッシュ): クライアントの root をサーバー側で低権限ユーザーへ降格させ、過剰なアクセスを防ぐセキュリティ設定
- LNet(Lustre Networking): Lustre の通信レイヤ。クライアントとサーバーは VCN サブネット内のネットワーク経由で通信する
仕様・制限・クォータ
- 用途は AI/ML の学習・推論と HPC、大規模データ解析にフォーカスした高スループット並列ファイルシステム
- 性能ティアはプロビジョンド容量 1 TB あたりのスループット帯域で選ぶ。提供されるティアは 1 TB あたり 125 / 250 / 500 / 1000 MBps(おおむね 1 / 2 / 4 / 8 Gbps)の段階で、容量に比例して総帯域が増える
- 総スループットは「性能ティアの単価 × プロビジョンド容量」で見積もる。例えば高ティアを大容量で確保すれば、数百 GB/s 級の集約帯域に到達しうる
- クライアントは指定された OS とカーネルの組み合わせ(Ubuntu / Oracle Linux の特定バージョン)に Lustre クライアントを導入する必要がある。バージョン要件は変動するため公式ドキュメントで確認する
- サーバー群(管理・メタデータ・ストレージ)は Oracle がマネージドで運用し、利用者は構築・パッチ・スケールを意識しない
- 容量の最小値・増分や具体的なクォータは提供条件により変わるため、最新値は公式ドキュメント/コンソールで確認する
本サービスのスループットは性能ティアの単価とプロビジョンド容量の積で決まります。必要帯域から逆算して容量を確保する設計が基本です。
内部の仕組み
Lustre は、メタデータを扱うサーバー(MDS)と実データを扱うストレージサーバー(OSS)、それらを束ねる管理サーバー(MGS)から成る並列分散ファイルシステムです。1 つのファイルは複数のストレージ対象へストライピングされ、多数のクライアントが別々のサーバーへ同時アクセスすることで高い集約スループットを実現します。本サービスではこれらサーバー群を Oracle が運用し、利用者は容量と性能ティアを指定するだけで使えます。
- クライアント(Compute / OKE のワーカーノード)は Lustre クライアントを導入し、VCN サブネット内のネットワーク経由でファイルシステムをマウントする
- スループットはプロビジョンド容量に比例し、容量を増やすほど並列度と帯域が伸びる
lfsユーティリティで**ファイルストライピングや PFL(Progressive File Layout)**を調整し、大きなファイルの並列 I/O を最適化できる- NFS(OCI File Storage)が汎用の共有ファイル向けなのに対し、Lustre は多ノード並列の高スループットに特化している
Lustre クライアントは対応 OS/カーネルの組み合わせが前提です。GPU ホストのイメージやカーネルを更新する際は、クライアントの互換性が崩れていないかを必ず確認してください。
設計パターン / ベストプラクティス
- AI/ML 学習基盤: GPU クラスタの全ノードから学習データセットとチェックポイントを共有。必要な集約帯域から逆算して性能ティアと容量を決める
- HPC スクラッチ領域: ジョブ中の中間データ置き場として高スループットで利用し、結果は別途 Object Storage へ退避してコストを抑える
- データのステージング: 長期保管は Object Storage、学習・解析の実行中だけ Lustre に展開する二層構成でコスト効率を高める
- ストライピング最適化: 大きなファイルは
lfsで適切にストライピング/PFL を設定し、単一サーバーへのアクセス集中を避ける - クライアント標準化: 対応 OS/カーネル+ Lustre クライアントを組み込んだ標準イメージを用意し、ノード追加時の互換性問題を防ぐ
運用・監視
- メトリクスは OCI Monitoring で取得し、スループット・容量・クライアント接続の傾向を把握する。ネームスペースやメトリクス名は変動しうるためコンソール/公式ドキュメントで確認する
- マウントできない場合は、セキュリティルール(セキュリティリスト / NSG)で Lustre 通信に必要なポートが開いているかを最優先で切り分ける
- クライアント側は Lustre クライアントのバージョンとカーネルの整合、サブネット/ルーティング、ファイアウォール設定を確認する
- 帯域がボトルネックになっていないかをメトリクスで監視し、不足時は容量の追加や性能ティアの見直しで対応する
- サーバー群は Oracle がマネージドで運用するため、メンテナンスウィンドウのスケジュールはコンソールから管理する
コスト
主なコスト要素はプロビジョンド容量と選択した性能ティアです。Lustre は計算ジョブ実行中の高スループット用途が中心のため、常時保持するデータは Object Storage へ寄せると総コストを抑えられます。
| コスト要素 | 課金の考え方 | 最適化のポイント |
|---|---|---|
| プロビジョンド容量 | 確保した容量に対して課金 | ジョブ要件に合わせて確保し、終了後は縮小/削除を検討 |
| 性能ティア | 1 TB あたりの帯域単価が高いほど割高 | 必要帯域から逆算し、過剰なティアを選ばない |
| 長期保管との分離 | Lustre は実行中の高速領域、保管は別サービス | 学習データ/結果は Object Storage に置き Lustre は実行時のみ |
データのマスターは Object Storage に置き、学習・解析の実行中だけ Lustre に展開する構成にすると、高価な高スループット領域を必要な期間だけに絞れます。
セキュリティ
- 保存時暗号化: ファイルシステムはデフォルトで暗号化される。Oracle 管理キーに加え、Vault(KMS)の顧客管理キーを指定できる
- アクセス制御: root squash を有効化してクライアント root の権限を抑制し、過剰なアクセスを防ぐ
- ネットワーク分離: クライアントとサーバーは VCN サブネット内で通信する。セキュリティルール(セキュリティリスト / NSG)で送信元を最小化し、必要な Lustre 通信ポートのみを許可する
- IAM ポリシー: ファイルシステムの作成・管理操作は IAM ポリシーで権限を制御する
クライアント用サブネットを広い CIDR で開放したまま運用するのは NG。 Lustre はネットワーク到達性がアクセスの起点になりやすいため、送信元 CIDR を絞り、root squash を有効化し、不要なポートは閉じてください。
関連サービス・比較
最も近い関連サービスは OCI File Storage(NFS) です。どちらも複数クライアントから同時アクセスできる共有ファイルですが、File Storage(NFS)は汎用の共有用途、File Storage with Lustre は AI/ML・HPC 向けの高スループット並列 I/O に最適化されています。AWS では Amazon FSx for Lustre が相当します。
| 観点 | File Storage with Lustre | File Storage(NFS) |
|---|---|---|
| 主用途 | AI/ML 学習・HPC の高スループット並列 I/O | 汎用の共有ファイル(共有コンテンツ・ホーム等) |
| プロトコル | Lustre(並列分散) | NFSv3 |
| スループット | 容量比例で数百 GB/s 級まで到達可能 | オンデマンド/プロビジョンド最大スループット |
| 容量モデル | プロビジョンド容量+性能ティア | 使った分だけ自動伸縮 |
| クライアント要件 | 対応 OS/カーネル+Lustre クライアント | 標準の NFS クライアント |
| AWS 相当 | Amazon FSx for Lustre | Amazon EFS |
ハンズオン / CLI例
# 1) Lustre ファイルシステムを作成
# 容量(プロビジョンド)と性能ティアを指定する。利用可能なパラメータ名は
# `oci fs-lustre lustre-file-system create --help` で確認する
oci fs-lustre lustre-file-system create \
--availability-domain "Uocm:AP-TOKYO-1-AD-1" \
--compartment-id "$COMPARTMENT_OCID" \
--subnet-id "$SUBNET_OCID" \
--display-name "ai-training-lustre" \
--capacity-in-gbs 10240 \
--performance-tier "MBPS_PER_TB_500"
# 2) 作成したファイルシステムの詳細(マウントに使う情報)を確認
oci fs-lustre lustre-file-system get \
--lustre-file-system-id "$LUSTRE_FS_OCID"
# 3) クライアント(Compute / OKE ノード)でマウント
# 事前に対応 OS/カーネルへ Lustre クライアントを導入しておく
sudo mkdir -p /mnt/lustre
sudo mount -t lustre <Lustreのマウントアドレス>:/<ファイルシステム名> /mnt/lustre
# 4) 大きなファイルのストライピングを設定して並列 I/O を最適化(lfs 例)
lfs setstripe -c 4 /mnt/lustre/dataset
コマンド名やオプション(容量・性能ティアの指定方法など)は CLI のバージョンで変わることがあります。実行前に --help で正確な引数を確認してください。
OCI Service
OCI File Storage with Lustreを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
ストレージ
比較で見る軸
クラウド: OCI / カテゴリ: ストレージ / 難易度: intermediate
導入後に効く点
プロビジョンド容量 1 TB あたりのスループット帯域を性能ティアで選択でき、容量に比例して帯域も伸びる。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- OCI
- カテゴリ
- ストレージ
- 難易度
- intermediate
- 関連資格
- —
- 設計柱
- performance / cost / operational / security
判断チェックリスト
- 自社の用途が「ストレージ / performance」に近いか確認する。
- 強みである「AI/ML・HPC 向けの高スループット並列ファイルシステム(Lustre)をフルマネージドで提供。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。