Immich では、予想される最大のアップロードバッチ、生成される派生ファイルと一時出力、新しいデータベースバックアップ1つ分、さらにファイルシステムの安全余裕を確保できるだけの空き容量を維持する必要があります。すべてのライブラリに共通する信頼できる割合はありません。
スマートフォン動画が中心の家庭、RAW写真のアーカイブ、ほとんど変化しない外部ライブラリでは、発生する容量の急増が大きく異なります。代表的なジョブサイクルを測定し、追加されるバイト数とinode数のピークを計算したうえで、通常の処理では使わない復旧用の余裕を加えてください。公称の割合は危険なほど小さくなったり、不要なほど大きくなったりする可能性があるため、アラートは空きバイト数と空きinode数の絶対値で設定します。
ライブラリと1回のピークジョブサイクルを測定する
代表的なインポートの前に、オリジナル、サムネイル、エンコード済み動画、プロファイルデータ、データベースバックアップ、一時保存先のサイズを記録します。そのバッチで想定されるメタデータ抽出、サムネイル生成、Smart Searchや顔認識処理、動画トランスコードを実行し、使用量の最大値を記録してください。
あるユーザーのトランスコード中心の事例では、ストレージ使用量が約100 GBから326 GBまで増加しました。この環境固有の増加例は、メディア構成を測定する必要性を示しています。これは一般的な倍率ではありません。
1枚の写真ではなく、現実的に想定される最大規模の家族によるアップロードで再度テストします。すべての関連パスとファイルシステムが含まれていれば合格です。一時ファイルがコンテナのルートや別のボリュームに保存される場合は、ライブラリディスクの空き容量に頼らず、その容量を個別に測定してください。
明示した構成要素から予備容量を計算する
計画用の式を使います。予備容量は、ピーク時の取り込みバッチ、測定した派生ファイルと一時ファイルの増加量、予定されたバックアップが重なる場合の最大容量、ファイルシステムおよび復旧用の余裕を合計したものです。各数値を記録し、動画ポリシー、モデル、ライブラリサイズ、バックアップ処理を変更した後は再計算してください。
独立したImmichのストレージ計画に関する記事では、オリジナル、生成ファイル、データベースの処理、容量増加の計画を分けて考えています。この枠組みを参考にしつつ、アラートを設定する前に、一般的な推定値を自分で測定した最大値に置き換えてください。
再利用可能なスナップショットや削除待ちのデータは、ファイルシステムが空き容量として報告するまで、確実な空き容量として数えないでください。予備容量には、ジョブ失敗後のロールバックやログ収集に必要な領域も含める必要があります。そのため、通常のキューが最後の復旧用余裕まで使い切らないようにしてください。
バイト数、inode数、増加速度でアラートする
計算した予備容量より上に警告しきい値を設定し、書き込みが失敗する前に、任意のインポートや再処理を停止できるクリティカルしきい値を設定します。絶対バイト数、使用率、inodeの空き状況、スナップショットの増加量、マウント先の識別情報を監視し、切断された共有ストレージがローカルの容量を誤って報告しないようにします。
現在の合計値だけでなく、キュー処理中の変化率も追跡してください。急速に増加するトランスコードやバックアップでは、毎日の確認の間に予備容量を超える可能性があります。アラートには単に「Immichのストレージが少ない」と表示するのではなく、ファイルシステムと実行中のジョブを明記してください。
家庭用NASのストレージ容量に関するZimaSpaceの記事は、より広い容量増加と拡張計画の中で、空き容量の警告を位置付けるのに役立ちます。
しきい値を検証し、拡張時期を定める
管理された時間帯に、空き容量が警告しきい値を十分に上回る状態から、ピークバッチと予定されたバックアップを組み合わせた処理を実行します。すべてのジョブが完了し、バックアップも完了し、inodeが枯渇することなく、残りの容量が復旧用余裕を上回っていれば合格です。
予備容量の消費量を毎月記録し、推移を確認します。調達に必要なリードタイム内に予測空き容量が警告しきい値へ達する前に、容量を拡張するか、容量を多く消費するメディアを移動するか、保持期間を変更してください。クリティカルしきい値に達してからストレージを注文してはいけません。
空き容量がクリティカル境界に近づいた場合は、新しいアップロードや任意の再処理を停止します。ただし、データベースとログは保持してください。必要なオリジナルや最後に検証済みのバックアップを削除するポリシー変更は、ロールバックします。報告された使用量がパス単位の測定値と一致しない場合は、スナップショット、削除済みだが開かれたままのファイル、マウントの欠落などによって書き込み元が隠れている可能性があるため、エスカレーションしてください。
サポートとヒント
もっと読む

同時稼働するコンテナ向けに Immich のデータベース接続を最適化する方法
まず max_connections を増やさないでください。Immich のセッション数を測定し、すべてのコンテナの需要を合計し、管理用の余裕を確保したうえで、実証されたボトルネックだけを調整してください。

Immichでジョブやインポートの重複を防ぐ方法
重複するジョブと重複アセットを分離します。正規の取り込み経路を1つに統一し、再試行とパス変更を制御してから、小規模なコホートで再エントリーをテストします。

データベースのボリュームがいっぱいになった後に Immich を修復する方法
空き容量を確保するためにPostgreSQLのWALを削除しないでください。Immichへの書き込みを停止し、データベースの状態を保持したまま安全に容量を追加し、PostgreSQLを復旧してから、再発を防止してください。

