ストレージ使用クォータ

ストレージ使用量の統計は、プロジェクトとネームスペースで利用できます。この情報を使用して、該当するクォータ内でストレージの使用量を管理できます。

統計には以下が含まれます:

  • ネームスペース内のプロジェクト全体のストレージ使用量。
  • ストレージ・クォータを超えるストレージ使用。
  • 使用可能な購入済みストレージ。

ストレージの使用状況を表示

前提条件:

  • プロジェクトのストレージ使用量を表示するには、少なくともプロジェクトのメンテナー・ロールまたはネームスペースのオーナー・ロールが必要です。
  • ネームスペースのストレージ使用量を表示するには、そのネームスペースのオーナー・ロールが必要です。
  1. 左側のサイドバーで、「検索」を選択するか、または「移動」を選択して、プロジェクトまたはグループを見つけます。
  2. 左側のサイドバーで、「設定」>「利用クォータ」を選択します。
  3. ストレージ]タブを選択します。

任意のタイトルを選択して詳細を表示します。このページの情報は90分ごとに更新されます。

ネームスペースに'Not applicable.'と表示されている場合は、ネームスペース内のプロジェクトにコミットをプッシュして、ストレージを再計算してください。

コンテナレジストリの使用法

コンテナレジストリの使用はGitLab.comでのみ利用可能です。この機能には新しいバージョンのGitLabコンテナレジストリが必要です。セルフマネージドインストール向けのリリース案については、エピック5521をご覧ください。

コンテナレジストリ使用量の計算方法

コンテナレジストリに保存されたイメージレイヤーは、ルートネームスペースレベルで重複排除されます。

イメージは、次の場合に 1 回のみカウントされます:

  • 同じリポジトリに同じ画像を複数回タグ付けした場合。
  • 同じルート名前空間のもとで、異なるリポジトリにまたがって同じ画像にタグを付ける場合。

画像レイヤーは、以下の場合に一度だけカウントされます:

  • 同じコンテナリポジトリ、プロジェクト、グループ内の複数のイメージでイメージレイヤーを共有している場合。
  • 異なるリポジトリ間でイメージレイヤーを共有します。

タグ付き画像から参照されるレイヤーのみが対象となります。タグ付けされていない画像と、その画像によってのみ参照されるレイヤは、オンライン ガベージ コレクションの対象となります。タグ付けされていない画像レイヤは、24 時間後に自動的に削除されます。

画像レ イ ヤーは、 元の (たいていは圧縮 さ れた) 形式で ス ト レージ バ ッ ク エ ン ド に保存 さ れます。つまり、任意の画像レイヤーの測定サイズは、対応する画像マニフェストに表示されるサイズと一致する必要があります。

ネームスペースの使用状況は、タグがプッシュされたり、ネームスペース配下のコンテナリポジトリから削除されたりした数分後に更新されます。

リフレッシュの遅延

非常に大きなネームスペース(ネームスペースの約 1%)では、コンテナレジストリの使用量をリアルタイムで最大限の精度で計算することはできません。このような名前空間のメンテナーが使用状況を確認できるように、遅延フォールバック機構があります。詳細はエピック9413を参照してください。

名前空間の使用量を正確に計算できない場合、GitLabは遅延法にフォールバックします。遅延法では、表示される使用量は名前空間内のすべてのユニークな画像レイヤーの合計になります。タグ付けされていないイメージレイヤーは無視されません。その結果、タグを削除しても表示される使用サイズは大きく変化しないかもしれません。その代わり、サイズ値は次の場合にのみ変化します:

  • 自動ガベージコレクションプロセスが実行され、タグ付けされていない画像レイヤーが削除されます。ユーザーがタグを削除すると、24 時間後にガベージコレクションが開始されます。その実行中に、以前にタグ付けされた画像が分析され、他のタグ付けされた画像から参照されていない場合は、そのレイヤーが削除されます。レイヤーが削除されると、名前空間の使用率が更新されます。
  • ネームスペースのレジストリ使用量は、GitLabが最大限の精度で測定できる程度に縮小します。ネームスペースの使用量が制限値以下に縮小すると、測定は自動的に遅延測定から正確な使用量測定に切り替わります。UIにはどの計測方法が使われているかを判断する場所がありませんが、イシュー386468ではこれを改善することを提案しています。

ストレージ使用量の統計

  • GitLab 14.4 でproject_storage_uiというフラグでプロジェクトレベルのグラフを導入。デフォルトでは無効になっています。
  • GitLab 14.4でGitLab.comで有効に。
  • GitLab 14.5でセルフマネージドで有効。
  • GitLab 14.5で機能フラグが削除されました。

以下のストレージ使用統計はメンテナーが利用できます:

  • 使用されるネームスペースの合計ストレージ量:このネームスペースのプロジェクト全体で使用されているストレージの合計量。
  • 合計超過ストレージ使用量:割り当てられたストレージを超えて使用されたストレージの合計量。
  • 使用可能な購入済みストレージ:購入済みだがまだ使用されていないストレージの合計。

ストレージ使用量の管理

ストレージを管理するには、ネームスペースのオーナーであれば、ネームスペースのストレージを追加購入できます。

ロールに応じて、以下の方法を使用してストレージを管理または削減することもできます:

ストレージの使用状況の分析と管理を自動化するには、ストレージ管理の自動化に関するドキュメントを参照してください。

転送使用量の管理

ロールに応じて、転送使用量を管理するために、コンテナレジストリのデータ転送を減らすことができます。

プロジェクトストレージの制限

GitLab SaaSのプロジェクトには、GitリポジトリとLFSストレージに10GBのストレージ制限があります。ネームスペースレベルのストレージ制限が適用された後、プロジェクトの制限は解除されます。ネームスペースには、ネームスペースレベルのストレージ制限かプロジェクトレベルのストレージ制限がありますが、両方はありません。

プロジェクトのリポジトリと LFS がクォータに達すると、プロジェクトは読み取り専用状態に設定されます。読み取り専用プロジェクトに変更をプッシュすることはできません。ネームスペース内の各リポジトリのサイズ(各プロジェクトの内訳を含む)を監視するには、ストレージ使用 量を表示します。プロジェクトのリポジトリと LFS が無料のクォータを超えるようにするには、追加のストレージを購入する必要があります。詳細については、ストレージの超過使用量を参照してください。

過剰なストレージ使用量

過剰なストレージ使用量とは、プロジェクトのリポジトリと LFS がプロジェクトのストレージの上限を超える量です。購入したストレージが利用できない場合、プロジェクトは読み取り専用に設定されます。読み取り専用プロジェクトに変更をプッシュすることはできません。読み取り専用状態を解除するには、ネームスペースのストレージを追加購入する必要があります。購入が完了すると、読み取り専用プロジェクトは自動的に標準状態に戻ります。購入したストレージの使用可能量は、常に 0 より大きくする必要があります。

使用量割り当て]ページの [ストレージ] タブでは、次のような警告が表示されます:

  • 購入したストレージの空き容量が不足しています。
  • 利用可能な購入済みストレージがゼロの場合、読み取り専用になるリスクのあるプロジェクト。
  • 利用可能な購入済みストレージがゼロのため、読み取り専用になるプロジェクト。読み取り専用プロジェクトには、名前の横に情報アイコン({information-o})が表示されます。

余剰ストレージの例

以下の例では、ネームスペースの過剰ストレージ・シナリオについて説明します:

リポジトリ使用ストレージ余剰ストレージクォータステータス
レッド10 GB0 GB10 GB読み取り専用{ロック}
8 GB0 GB10 GB読み取り専用ではありません
グリーン10 GB0 GB10 GB読み取り専用{ロック}
黄色2 GB0 GB10 GB読み取り専用ではありません
合計30 GB0 GB--

赤と緑のプロジェクトは、リポジトリと LFS がクォータに達しているため、読み取り専用です。この例では、追加のストレージはまだ購入されていません。

Red と Green のプロジェクトから読み取り専用状態を解除するには、50 GB の追加ストレージを購入します。

緑と赤のプロジェクトのリポジトリと LFS が 10 GB のクォータを超えて成長したと仮定すると、使用可能な購入済みストレージは減少します。40 GB の購入済みストレージが利用できるため、すべてのプロジェクトは読み取り専用ではなくなります:50 GB (購入済みストレージ) - 10 GB (超過使用ストレージの合計)。

リポジトリ使用ストレージ余剰ストレージクォータステータス
レッド15 GB5 GB10 GB読み取り専用ではありません
14 GB4 GB10 GB読み取り専用ではありません
グリーン11 GB1 GB10 GB読み取り専用ではありません
黄色5 GB0 GB10 GB読み取り専用ではありません
合計45 GB10 GB--

名前空間ストレージの制限

GitLab SaaSの名前空間にはストレージの上限があります。詳しくは価格ページをご覧ください。この制限は使用量クォータページには表示されませんが、制限が適用される前に表示されます。セルフマネージド・デプロイは影響を受けません。

ネームスペースの合計ストレージに追加されるストレージタイプは以下のとおりです:

  • Gitリポジトリ
  • Git LFS
  • ジョブアーティファクト
  • コンテナレジストリ
  • パッケージレジストリ
  • 依存関係プロキシ
  • Wiki
  • スニペット

ネームスペース・ストレージの合計が使用可能なネームスペース・ストレージのクォータを超えると、そのネームスペ ース配下のすべてのプロジェクトが読み取り専用になります。読み取り専用状態が解除されるまで、新しいデータの書き込みは制限されます。詳細は、「制限されたアクション」を参照してください。

ネームスペースのストレージ・クォータを超えそうになったことを通知するには

  • コマンドライン・インターフェイスでは、git push の各アクションの後に、ネームスペースのスト レージ・クォータが 95% および 100% に達したことを示す通知が表示されます。
  • GitLab UIでは、ネームスペースストレージクォータの75%、95%、100%に達したときに通知が表示されます。
  • GitLabはオーナーロールを持つメンバーに、ネームスペースのストレージ使用量が70%、85%、95%、100%になったときに通知メールを送信します。

ネームスペースストレージクォータの超過を防ぐには、以下の方法があります:

プロジェクトフォークのストレージ使用量を見る

プロジェクトフォークによって消費されるストレージにはコストファクターが適用され、フォークが実際のサイズよりも少ないネームスペースストレージを消費します。

フォークが使用したネームスペース・ストレージの量を表示するには:

  1. 左側のサイドバーで、「検索」を選択するか、または「移動」を選択して、プロジェクトまたはグループを見つけます。
  2. 左側のサイドバーで、「設定」>「利用クォータ」を選択します。
  3. ストレージ]タブを選択します。合計] 列には、ディスク上のフォークの実際のサイズの一部として、フォークが使用するネームスペース・ストレージの量が表示されます。

コスト係数は、プロジェクトリポジトリ、LFS オブジェクト、ジョブアーティファクト、パッケージ、スニペット、Wiki に適用されます。

コストファクターは、Freeプランのネームスペース内の非公開フォークには適用されません。

ネームスペースのストレージ制限適用スケジュール

ネームスペースレベルのストレージ制限が適用されるタイミングに関する情報は、FreeおよびPaidティアの FAQ ページを参照してください。