写真のサムネイルをSSDに保存し、オリジナルはHDDに置いておけますか?

エヴァ・ウォン は テクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

はい。多くのセルフホスト型写真アプリでは、サムネイル、インデックス、その他のレイテンシーの影響を受けやすいファイルをSSDに置き、フル解像度のオリジナルはより大容量のHDDプールに残せます。条件は、アプリがストレージパスを分離して公開しているか、それらのパスを個別にマッピングできることです。

これは階層化に関する判断であり、バックアップの代わりにはなりません。サムネイルは通常再生成できますが、ライブラリデータベースにはアルバム、顔、評価、ファイル間の関係などが含まれており、オリジナルだけから完全に再構築できない場合があります。この違いによって、安全な構成、検証方法、ロールバックポイントが決まります。

写真ライブラリの3つのデータクラスを分ける

オリジナル、生成プレビュー、アプリケーションデータベースを、3つの異なるデータクラスとして扱います。オリジナルには容量と耐久性のある保護が必要で、プレビューには低レイテンシーが必要です。データベースには、低レイテンシーに加えて強い整合性とバックアップが必要です。

何かを移動する前に、アプリケーションの実際のディレクトリ構成を確認してください。サムネイルとトランスコード済みファイルを1つのキャッシュパスに置きながら、検索インデックスや機械学習モデルを別の場所に保存するアプリケーションもあります。そのため、1つのフォルダーを移動するだけでは、実際のHDDボトルネックが解消されない可能性があります。

アプリケーションがパスの分離をサポートしていない場合、稼働中に内部ディレクトリをその場しのぎのシンボリックリンクへ置き換えないでください。アップグレード後も同じパスを見つけられるように、文書化されたバインドマウント、コンテナーボリュームマッピング、またはストレージ設定を使用してください。

分離が機能しているかを判断するための指標を使う

分離が成功している場合、タイムラインのスクロールが速く、サムネイル生成のレイテンシーが低く、再起動後にサムネイルが繰り返し再生成されることがありません。オリジナルを開いたりエクスポートしたりするときにはHDDプールが起動しても構いませんが、通常の閲覧では主にSSD階層へアクセスするはずです。

サムネイルセットは大規模なライブラリでは数百GBにまで増える可能性があるため、SSDの空き容量を監視してください。移動後は、データベースのサイズ、キューの深さ、失敗したジョブ、権限エラーも確認してください。

この判断表は、古いキャッシュをコピーした後だけでなく、コールド再起動と新しい写真のインポートを行った後に使用してください。

確認された状態 判定 次のアクション
タイムラインが高速で、HDDはほぼアイドル状態 分離が機能している SSDの使用量の増加を監視し続ける
起動するたびにサムネイルが再生成される キャッシュパスが永続化されていない 写真を追加する前にマウントを修正する
復元後にアルバムや検索結果が消える データベースのバックアップが不完全 停止してバックアップ範囲を再設計する

アイデンティティを壊さずにパスを移動する

最終同期の前に写真アプリケーションを停止し、所有権とタイムスタンプを保持したまま生成データのディレクトリをコピーしてから、マウントまたはアプリケーションパスを変更します。新しい構成の検証が完了するまで、古いディレクトリは読み取り専用のままにしてください。

コンテナーのUID/GID値を一致させ、SSDのファイルシステムが、アプリケーションが必要とする権限、拡張属性、または大文字と小文字の扱いをサポートしていることを確認してください。ホストから書き込み可能なパスでも、コンテナー内では読み取り専用の場合があります。

ZimaSpaceの写真ストレージトポロジーでは、NVMe、HDD、オフサイトストレージの役割について詳しく説明しています。

独立した写真バックアップの概要でも、高速な作業用ストレージと耐久性のあるコピーは異なる問題を解決することが説明されています。

閲覧速度だけでなく復旧も再テストする

代表的な写真のバッチをインポートし、プレビューの生成が完了するまで待ってから、ホストを再起動し、古い日付と新しい日付を閲覧してください。次に、SSDキャッシュを一時的に利用できない状態にし、アプリケーションが予測どおりに失敗するか、オリジナルを変更せずにプレビューを再生成することを確認します。

データベースと設定をテストインスタンスに復元し、複数のオリジナルの読み取り専用コピーを参照させます。アルバム、検索、日付、サムネイルが一緒に戻ることを確認してください。ファイルシステムのチェックが正常でも、それだけではライブラリの復元テストにはなりません。

アプリがパスの分離をサポートし、再起動後も権限が維持され、復元テストでライブラリの意味が保たれる場合に進めてください。データベースが文書化されていないキャッシュツリーに混在している、アプリがプレビューを継続的に再構築する、またはSSDの障害によってオリジナルにアクセスできなくなる場合は、停止してロールバックしてください。

サポートとヒント

もっと読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.