ストレージの配置で変わるJellyfinホームサーバーの設計

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