ストレージの配置がJellyfinホームサーバーの設計をどう変えるか

Eva Wong は テクニカルライター であり、 生粋の技術好き としてZimaSpaceで活動しています。ホームラボやオープンソースソフトウェア をこよなく愛する生粋のギークで、複雑な技術概念をわかりやすく、実践的なガイド にまとめることを得意としています。Evaは、セルフホスティングは難しいものではなく、楽しむものだと考えています。チュートリアルを通じて、初めてのNAS構築からDockerコンテナの使いこなしまで、コミュニティがハードウェアのセットアップをわかりやすく理解できるよう 支援しています。、初めてのNAS構築からDockerコンテナの習得まで。

ストレージの配置はJellyfinの信頼性を左右します。データベース、キャッシュ、メディア、バックアップでは、レイテンシ、耐久性、復旧に求められる条件がそれぞれ異なるためです。

NAS共有やローカルディスクを選ぶ前に、データの流れを設計しましょう。Jellyfinはマウントしたネットワークファイルシステム経由でメディアを読み込めますが、アプリケーションの状態データやトランスコード処理に、大容量ストレージ特有の障害やレイテンシの影響をそのまま受けさせるべきではありません。再生が安定し、復元手順が明確な構成が最適です。

永続的なアプリケーションの状態データは、信頼性の高いローカルパスに置く

Jellyfinのデータベース、設定、ログ、メタデータのインデックスは、メディアに比べて小容量ですが、レイテンシや書き込みの中断に敏感です。サービスの起動前から利用できる、ローカルSSDなどの低レイテンシなパスに置きましょう。データベースがネットワークマウントに依存していると、NASの一時的な停止がアプリケーションの停止やライブラリのメンテナンス上のリスクにつながることがあります。

この状態データは別途バックアップし、元のサーバーがなくても復元できることを確認しましょう。高速なストレージと保護されたストレージは同じではありません。どちらもテストする必要があります。

キャッシュやトランスコード処理には、頻繁な書き換えに適した場所を使う

アートワーク、ログ、サムネイル、一時的なトランスコードファイルは、容量が増えることがあり、再生成も可能です。想定される最大の変換セットを保存できる十分な空き容量を備えた、高速なローカルストレージに配置しましょう。頻繁に書き換わるファイルをメディアボリュームから分けると、断片化を抑え、キャッシュのクリーンアップがソースの読み込みと競合するのを防げます。

実際のストリーミングを想定した条件で、ソース読み込み時のレイテンシと一時ファイルへの書き込みを測定しましょう。NFSキャッシュのケーススタディでは、こうした役割の移行に、レイテンシと復元性のトレードオフを慎重に検討する必要がある理由を解説しています。

ネットワークストレージは、接続経路が安定している場合に限り、大容量データの保存先として使う

大容量、ドライブの拡張性、ストレージ管理の分離が重要なら、大きなメディアファイルをNASに配置しましょう。起動時に共有をマウントし、サービス内で安定したパスを使い、各ライブラリからファイルを1つずつ確認します。平均速度が速いネットワーク接続でも、パケットロス、マウントのタイミング、ディスクのスリープによって障害が起きることがあります。

ネットワーク経路はシンプルに保ちましょう。Jellyfinからストレージ層まで、信頼性の高い有線経路を1つ使います。共有経路の性能が低下する場合に限り、管理用またはバックアップ用の経路を別に設けます。

復旧と拡張の境界を明確にする

メディアプールと一緒に失われない保存先に、アプリケーションの状態データをバックアップしましょう。容量とトランスコード処理の増加速度が異なる場合は、ストレージ層を追加するか、専用のコンピュートノードを導入して拡張します。データベースの永続性、起動時のマウント、復元テストが未解決なら、設計を進めないでください。こうした保証がないままフォルダーを移動しても、障害が起きる境界を見えにくくするだけです。

NASとサーバーのセットアップ

続きを読む

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.