Managed Lustre インスタンスの容量を増やす

Managed Lustre インスタンスのストレージ容量を増やすことができます。容量を減らすことはできません。

インスタンスの容量を増やすと、更新オペレーションの進行中もインスタンスを引き続き使用できます。

容量の増加に関する制限

2 つの異なるステップサイズを持つパフォーマンス ティアの場合、インスタンスの現在の容量によって、可能な最大サイズが決まります。

インスタンスの容量がステップサイズのしきい値以下の場合、サイズはしきい値まで増やすことができます。この上限を超えて拡張することはできません。

たとえば、TiB あたり 250 MBps の階層では、ステップサイズが変更されるしきい値は 10,224,000 GiB です。このしきい値以下の容量で作成されたインスタンスは、10,224,000 GiB の上限までしか拡張できません。

新しい容量を計算する

インスタンスの容量は、パフォーマンス ティアとステップサイズで許可されている最大値まで更新できます。これらの値は次のとおりです。

パフォーマンス階層 最小容量 最大容量 ステップサイズ
1,000 MBps/TiB 9,000 GiB 10,008,000 GiB(9.5 PiB) 最大 2,556,000 GiB のストレージ容量の場合: 9,000 GiB
より大きなストレージ容量の場合: 72,000 GiB
500 MBps/TiB 18,000 GiB 20,016,000 GiB(19.1 PiB) 最大 5,112,000 GiB のストレージ容量の場合: 18,000 GiB
より大きなストレージ容量の場合: 144,000 GiB
250 MBps/TiB 36,000 GiB 40,032,000 GiB(38.2 PiB) 最大 10,224,000 GiB のストレージ容量の場合: 36,000 GiB
より大きなストレージ容量の場合: 288,000 GiB
125 MBps/TiB 72,000 GiB 20,448,000 GiB(19.5 PiB) 72,000 GiB
動的(1 TiB あたり 25 MBps) 472,000 GiB 84,016,000 GiB(80.1 PiB) 472,000 GiB

更新された容量はステップサイズの倍数である必要があり、そのステップサイズの最大値を超えることはできません。

Google Cloud プロジェクトには、ゾーンごとの Virtual Private Cloud(VPC)ネットワークあたりの使用可能な容量に影響するスループットと容量の割り当てがあります。インスタンスの容量を増やす前に、スループットまたは容量の割り当ての追加をリクエストする必要がある場合があります。詳細については、割り当てと上限をご覧ください。

容量計算ツール

次の計算ツールを使用して、選択したパフォーマンス ティアの有効な容量を確認します。

インスタンス容量を更新する

Google Cloud コンソールまたは Google Cloud CLI を使用して、インスタンスの容量を更新できます。

Google Cloud コンソール

  1. Google Cloud コンソールの [Managed Lustre] ページに移動します。

    [Managed Lustre] に移動

  2. 更新するインスタンスのインスタンス名をクリックします。インスタンスの概要ページが表示されます。

  3. [編集] をクリックします。

  4. 新しいストレージ容量の値を入力します。値は、許容される最大容量以下で、ステップサイズの倍数である必要があります。これらの値については、新しい容量を計算するをご覧ください。

  5. [送信] をクリックします。

gcloud

gcloud lustre instances update コマンドを使用して、インスタンスのストレージ容量を増やします。

gcloud lustre instances update INSTANCE_NAME \
  --location=LOCATION \
  --capacity-gib=NEW_CAPACITY

ここで

  • INSTANCE_NAME は、更新するインスタンスです。
  • LOCATION は、インスタンスが存在するゾーンです。
  • NEW_CAPACITY は、このインスタンスの新しいストレージ容量(ギビバイト(GiB))です。値は、許容される最大容量を超えることはできません。また、ステップサイズの倍数にする必要があります。これらの値については、新しい容量を計算するをご覧ください。

REST

REST API を使用してインスタンスを更新するには、特定のエンドポイントに PATCH リクエストを送信します。

PATCH https://lustre.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances/INSTANCE_NAME?updateMask=capacityGib
Authorization: Bearer [YOUR_ACCESS_TOKEN]

{
  "capacityGib": NEW_CAPACITY
}

次の値を指定する必要があります。

  • PROJECT_ID は Google Cloud プロジェクト ID です。
  • ZONE は、インスタンスの Google Cloud ゾーンです。
  • INSTANCE_NAME は、更新する Managed Lustre インスタンスの名前です。
  • updateMask=capacityGib は、更新するフィールドを指定します。フィールドは、マスク内にある場合にのみ上書きされます。
  • NEW_CAPACITY は、このインスタンスの新しいストレージ容量(ギビバイト(GiB))です。この値は、許容される最大容量を超えることはできません。また、ステップサイズの倍数にする必要があります。これらの値については、新しい容量を計算するをご覧ください。

詳細については、instances.patch API リファレンスをご覧ください。

更新リクエストが送信されると、Managed Lustre は使用可能な割り当てを確認します。十分な割り当てがある場合、インスタンスの容量は、サイズの変更に応じて一定期間にわたって増加します。増加には 20 分から 1 時間以上かかることがあります。

更新オペレーション中もインスタンスを引き続き使用できます。

更新ステータスを表示する

更新リクエストのステータスは、次のインターフェースで確認できます。

Google Cloud コンソール

  1. Google Cloud コンソールの [Managed Lustre] ページに移動します。

    [Managed Lustre] に移動

  2. リスト内のインスタンス名をクリックします。[インスタンスの詳細] ページが表示されます。このページには、インスタンス更新リクエストの現在のステータスが表示されます。

gcloud

デフォルトでは、gcloud lustre instances update コマンドは完了するまで待機してから、シェル プロンプトを返します。

Request issued for: [my-instance]
Waiting for operation [projects/my-project/locations/us-central1-a/operations/operation-1234567890-123] to complete...

完了すると、コマンドラインに Updated instance [my-instance] と、更新された容量を含むインスタンスの詳細が表示されます。

--async フラグを指定して update コマンドを実行した場合、またはコマンドラインから更新ステータスをクエリする必要がある場合は、オペレーションの詳細を取得して、インスタンスの更新が完了したかどうかを確認できます。

gcloud lustre operations describe OPERATION_ID \
  --location=ZONE

インスタンスの更新中、レスポンスには done: false 値が表示されます。完了すると、done が true に設定されます。

次に例を示します。

$ gcloud lustre operations describe operation-1234567890-123abc456-789def012-a1b2c3d4 \
    --location=us-central1-a

done: false
metadata:
  '@type': type.googleapis.com/google.cloud.lustre.v1.OperationMetadata
  apiVersion: v1
  createTime: '2025-08-27T18:13:49.771203623Z'
  requestedCancellation: false
  target: projects/my-project/locations/us-central1-a/instances/my-instance
  verb: update
name: projects/my-project/locations/us-central1-a/operations/operation-1234567890-123abc456-789def012-a1b2c3d4

REST

更新オペレーションのステータスをクエリするには、レスポンスのオペレーション ID を使用します。オペレーション ID の形式は次のとおりです。

  • operation-1234567890123-6127783ad26ea-88913969-02748053

次のエンドポイントにリクエストを送信します。

GET https://lustre.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/operations/OPERATION_ID
Authorization: Bearer

成功した場合、レスポンスの本文には Operation のインスタンスが含まれます。

容量を増やした後のパフォーマンス

Managed Lustre インスタンスの最大スループットは、ストレージ容量とパフォーマンス ティアによって決まります。既存のインスタンスのストレージ容量を増やすと、最大スループットも向上します。

新しいデータが書き込まれるまで、パフォーマンスの向上は見られない可能性があります。新しいデータが書き込まれ、追加のストレージに再分散されるにつれて、スループット パフォーマンスは徐々に向上します。

「デバイスに空き領域がありません」というエラー

ファイル システムがフル容量(通常は 90% 以上の使用率)に近づくと、モニタリング ツールで集計された空き容量がまだ利用可能であることが示されていても、No space left on device または FILESYSTEM_NO_SPACE_ON_DEVICE(ENOSPC)エラーが早期に発生することがあります。

この動作は、分散ファイル システムのいくつかの基盤となるメカニズムが原因で発生する可能性があります。

  • OST の不均衡: Lustre は、複数のオブジェクト ストレージ ターゲット(OST)にファイルデータをストライプします。ただし、特定のワークロード パターンでは、ストライピング構成に関係なく、1 つの OST がいっぱいになることがあります。一般的な原因としては、追加モード(O_APPEND)でファイルを書き込む、リンクされていない大きなファイルを保持するなどがあります。

  • 拡張後のエラー: クラスタに容量を追加した後も、ENOSPC エラーが引き続き発生することがあります。容量を拡張すると新しい OST が追加されますが、既存のファイルが新しく追加されたターゲットに自動的に再バランスされることはありません。

  • クライアント スペースの付与: Compute Engine クライアントは、パフォーマンスを向上させるために、ディスク容量の一部を動的に予約します。この予約済みの付与スペースにより、使用可能な物理プールが減少します。つまり、容量指標には、分散クライアントがすでに要求したスペースが反映されない可能性があります。

  • i ノードの枯渇: 数百万のファイルを生成するワークロードでは、物理ストレージの上限に達する前にファイル システムの使用可能な i ノードが枯渇し、新しいファイルの作成時に ENOSPC エラーが発生する可能性があります。

推奨される緩和戦略:

  • 容量をモニタリングしてアラートを設定する: クラスタの合計容量に加えて、OST ごとの容量使用率と個々の inode 指標をモニタリングします。マウントされたクライアントから lfs df コマンドを実行して、ターゲットごとの容量使用量を表示します。ターゲットごとの inode 使用量には lfs df -i を使用します。モニタリング指標の詳細については、インスタンスとオペレーションをモニタリングするをご覧ください。

    合計容量または個々の OST の使用率が 80% を超えたときにトリガーされる自動アラートを設定します(ストレージ容量アラートを作成するをご覧ください)。

  • 容量を増やす: 合計容量が 80 ~ 90% に達したら、Managed Lustre インスタンスの容量を増やすことを検討してください。拡張する前に、追加の割り当てをリクエストする必要がある場合があります。

  • ストレージの再バランス: lfs migrate コマンド(できれば非ブロッキング モード(-n))を使用して、過剰に使用されている OST から空の OST または新しく追加された OST にファイルを手動で移行します。

  • クライアントでリンクされていないファイルを確認する: リンクされていないファイルを開くとは、ファイル システムの名前空間からリンクが解除された後も、プロセスによって開かれたままになっている大きなファイルのことです。これらの孤立したファイルはディスク上に残り、スペースを消費しますが、標準のディレクトリ リストには表示されません。この場合、Cloud Monitoring の容量指標と lfs df コマンドは、du または lfs find よりも高いスペース使用量を報告します。クライアントで lsof コマンドを使用して、(deleted) とマークされたエントリを探し、これらのファイルを特定します。特定したら、ファイル ハンドルを保持しているプロセスを終了するか、アプリケーションを再起動して、ファイル システムのスペースを解放します。