ダイレクトプレイを前提に設計し、実際のトランスコードのピークを測定し、復旧可能な状態を分離し、測定した限界が継続する場合にのみ演算を分離することで、Plexの構成を最適化します。
テレビ、スマートフォン、ブラウザー、リモート視聴者に配信するホーム管理者にとって、適切な設計とは、日常的な再生を問題なく処理しながら、ストレージ、ネットワーク、電力、復旧に関する依存関係を明確にした、常時稼働トポロジーの最小構成です。シンプルさとアイドル時の消費電力では通常1台構成が有利ですが、反復的な変換負荷、保守、障害の影響がストレージの役割と衝突する場合は、演算とストレージを分離します。どちらの構成も、再生、消費電力、リストアのテストに合格するまでは優位とはいえません。
サーバーのサイズを決める前に再生ワークロードを定義する
プロセッサーのランクではなく、視聴者と再生経路から始めます。重要なクライアント、各クライアントがローカルかリモートか、通常受信するメディア形式、字幕の使用状況、実際に重なる同時セッション数を一覧にします。さらに、予定されたライブラリスキャン、サムネイル処理、バックアップジョブも加えます。これらのタスクが、夜間の再生と演算資源、ディスク、ネットワーク容量を共有する可能性があるためです。こうして得られるのは、理論上の最大ストリーム数ではなく、繰り返し発生するワークロードの全体像です。
代表的な各セッションを、ダイレクトプレイ、コンテナまたは音声の調整、完全な映像変換に分類します。互換性のあるクライアントと経路を使えば、変換処理をサーバーから外せます。一方、互換性のない形式、字幕の処理、制約のあるリモート接続では、処理が演算ノードに戻ることがあります。この違いによって、サーバーに継続的な変換処理の余力が必要なのか、それとも主に安定したストレージとネットワーク配信が必要なのかが決まります。
小規模なテストセットを作成します。最も一般的なローカルファイル、最も負荷の高い通常のリモートストリーム、字幕の多いタイトル、そして実際に視聴される中でビットレートが最も高いファイルを用意します。それぞれを単独で再生した後、ライブラリスキャンやバックアップによるストレージ読み取りを実行しながら、最も負荷の高いケースを繰り返します。再生モード、起動遅延、バッファリング、CPUとアクセラレーターの使用率、メモリ負荷、ストレージレイテンシー、ネットワークスループットを記録します。実際の使用で一度も発生しないピーク値を、構成を決める基準にしてはいけません。
性能の最低ラインをユーザー目線で設定します。一般的なローカルストリームがすぐに開始し、通常運用で最も難しいトランスコードが再生に遅れず、バックグラウンドの保護処理によってどちらの経路も使いものにならない状態にならないことが条件です。1つのクライアントだけが失敗する場合は、計算能力を追加する前に、そのクライアント、形式、字幕、Wi-Fi、または上流経路を修正してください。このセクションの完了条件は、通常のケースを1つ、信頼できるピークケースを1つ、そして文書化された合格条件を定めることです。
アイドル時の消費電力と、再生を維持すべきピーク値を測定する
起動、スキャン、その他のバックグラウンド処理が落ち着いた後、完全なサーバーをコンセント側で測定します。実行ごとに、ディスクの状態、接続されたコントローラー、ネットワークアダプター、ディスプレイの状態を揃えてください。ソフトウェアが示す電力値はシステムの一部しか表しませんが、コンセント側の測定値には、ホスト、ストレージの電子回路、変換損失が含まれ、実際の常時稼働時ベースラインを捉えられます。
少なくとも4つの状態を記録します。安定したアイドル状態、通常のDirect Play、通常運用で最も負荷の高いトランスコード、そしてストレージがワークロードマップ上の重複ジョブを実行している状態での同じトランスコードです。ピーク値は、どんな犠牲を払ってでも最小化する目標ではありません。再生を維持しながら、電源系統と冷却系統が継続的に支えられる上限値です。ピークが短時間だけ発生するのか、継続するのかも記録してください。数分間だけ高い値を示す場合と、控えめなアイドル状態で一日中稼働する場合では、判断に与える影響が異なります。
アイドル時の消費電力を運用上の基準値に換算するには、ワット数に電源オン時間を掛けて1,000で割るだけで、キロワット時が求められます。すべての構成で同じ電気料金と観測期間を使用してください。分割構成では、両方のノード、相互接続、常時稼働が必要なストレージをすべて含めます。新しい計算ボックスだけを数えても、比較には意味がありません。
アドインカード、電源管理設定、ディスクポリシー、変換処理の配置など、変更する変数は一度に1つだけにして、そのたびに再生テストとコンセント側の消費電力テストを再実行します。通常負荷とピーク負荷の両方を引き続きクリアし、スリープ解除やリモートアクセスの動作も許容範囲内に収まる場合にだけ、その変更を採用します。完了条件は、承認済みのアイドル時ベースライン、再現可能なピーク値、そして再生に必要な最低ラインを決して下回らない電力上限です。
分割によって測定済みの競合が解消されるまで、1つのボックス構成を維持する
1台構成では、Plexのコンピュート、アプリケーション状態、メディアストレージを、1つの管理境界と電源境界の内側に置きます。常時稼働するホストをもう1台用意する必要がなく、コンピュートとストレージ間のネットワークホップも避けられます。一方で、障害が連鎖します。ホストの再起動、オペレーティングシステムの変更、電源ユニットの故障、ストレージのメンテナンスによって、再生とライブラリへのアクセスの両方が中断される可能性があります。その結合を許容するのは、家庭で許容できるダウンタイムと復旧テストによって、無害だと判断できる場合だけにしてください。
分離設計では、権威あるメディアをストレージノードに置き、Plexを別のコンピュートノードで実行します。これにより、メディア層を移動せずにコンピュートを交換または再起動でき、変換処理の急増がストレージホストのプロセッサと競合することもありません。その代わり、アイドル時の基礎消費、オペレーティングシステム、そしてネットワークマウントされたメディア層がそれぞれ1つずつ増えます。その可用性、サービスID、起動順序がPlexにとって重要になります。
2台目のノードによって、名前を付けて再現できる競合が解消される場合にのみ分離してください。ストレージが健全なまま通常のトランスコードが再生要件の下限を満たせない、変換処理がピークに達するたびにストレージ保護処理が遅くなる、コンピュートのメンテナンスによってメディアストレージの停止時間が家庭で許容できる範囲を超える、といった状況が確かな根拠になります。漠然とした余裕への欲求だけでは不十分です。まず、スキャンのスケジュール変更、クライアントパスの修正、キャッシュの分離によって、1台のボックス内で競合を解消できるかをテストしてください。
2ノード構成に移行する前に、想定するネットワーク経路でメディア層をマウントし、最も厳しい再生テストとストレージテストを再実行してください。コンピュートノードを再起動してもストレージが正しく権威を持ち続けることを確認し、ストレージノードを再起動して、Plexが意図しないローカルパスに書き込むのではなく、明確に失敗することを確認します。テストに合格する最小限のトポロジーを選び、許容する障害ドメインを書き留めてください。
Plexの状態、メディア、使い捨てキャッシュを分離する
ブート環境は交換可能なものとして扱いますが、Plexをステートレスなものとして扱ってはいけません。その設定、データベース、メタデータ、アートワークの選択、視聴状態、サービスIDが、永続的なアプリケーション状態を構成します。その状態を名前付きパスに置き、所有者を明確にし、一貫したバックアップ方法を定めてください。状態をオペレーティングシステムから論理的に分離しておけば、ライブラリがユーザーから見えるあらゆる決定を再現するかのように装うことなく、ホストを再構築できます。
メディアを損失の影響ごとに分けます。家族の動画、個人の録画、その他のオリジナルデータは失うと取り戻せないユーザーデータであり、独立した保護が必要です。再入手可能な映画や番組には別の保持ポリシーを適用できる場合がありますが、クリーンな復元にはディレクトリ構成とマウントパスも影響します。正本コピーを所有するノード、Plexがそこへアクセスする方法、読み取りまたは書き込み権限を持つアカウント、移行後も安定している必要があるものを文書化します。
トランスコード用ディレクトリ、一時ダウンロード、ログ、再生成可能な派生データは、再構築可能なキャッシュとして扱います。サイズに上限を設け、測定した復旧目標で必要とされない限り、重要度の高いバックアップから除外します。これにより、大量の使い捨て作業データがバックアップ時間を延ばしたり、ライブラリの整理状態を実際に復元する小規模なデータベースおよび設定セットを見えにくくしたりするのを防げます。
ストレージの冗長性は、一部のディスク障害が発生しても可用性を維持できますが、削除、マルウェア、同じマシンの喪失に備えた別個の復旧用コピーを作るものではありません。Plexのアプリケーション状態と、失われると取り戻せないメディアは、ホストの障害境界および権限境界の外にあるバックアップ先に保管します。各役割について、所有者、場所、変更頻度、損失の影響、保護方法、復元手順、受け入れテストを記録します。結論は単純です。すべてのバイトに、復元、再接続、再構築のいずれかのラベルを付けます。
唯一稼働しているコピーに触れずに復旧を検証する
バックアップジョブが成功したことは、復旧結果を意味しません。信頼性のある3つの障害、つまり起動デバイスの紛失、Plexアプリケーション状態セットの破損、メディア層の利用不能を定義します。それぞれについて、どのコピーを使うのか、どの認証情報とサービス定義が必要なのか、元のメディアを読み取り専用のままにするのか、再生が実際に復旧したと誰が判断するのかを明記します。
アプリケーション状態の復元は、唯一稼働しているインスタンスを上書きするのではなく、分離されたホスト、コンテナ、または仮想マシン上で実行します。プラットフォームに適した整合性のあるコピーを使用し、設定とデータベースの状態を復元し、意図したサービスIDを再作成して、文書化されたパスにメディアのテスト用ビューまたは読み取り専用ビューを接続します。分割トポロジーを計画している場合は、同じネットワーク境界と権限境界でこの演習を実施します。
復旧したサービスを、ユーザーが行うように検証します。想定されるプロファイルでサインインし、既知のタイトルを見つけ、対象範囲に含まれる場合はアートワークまたは視聴状態を確認し、代表的なクライアント1台で再生します。次に、独立したコピーから、代替のきかないメディアを1点テストします。経過時間、不足している依存関係、手動での修正、そして復旧可能な最新時点を記録します。チェックサムやバックアップステータスが正常であることだけでは、アプリケーションが起動することや、パスとIDが機能することの証明にはなりません。
ホスト、ストレージ、ネットワーク、ID、またはアプリケーションに大きな変更を加えた後は、テストを繰り返します。ランブックと復旧用認証情報はPlexホストの外部に保管してください。通常の管理者しかプロセスを理解できない場合、復旧パスには依然として人的な単一障害点が残ります。このセクションは、稼働中のシステムに触れず、分離したコピーから認識可能で再生可能なライブラリが生成された場合にのみ合格です。複数の人がサーバーを利用する場合、ファミリーサーバーの復元テストでは、サービスの起動順序と権限も確認する必要があります。
アップグレード、分割、停止のしきい値を設定する
各制限をグラフのエッジと次のアクションに変換します。拡張カードやノードは、測定によってボトルネックを特定し、その問題に対処する変更を選択した後に初めて役立ちます。アーキテクチャを変更する前に、同じ条件で失敗したテストを繰り返し、その後は一度に1つの役割だけを変更します。これにより、性能の低いクライアントがサーバー購入の理由になったり、ストレージのボトルネックがプロセッサーのアップグレードの理由になったり、不完全なバックアップが誤った高可用性の主張につながったりするのを防げます。
| 繰り返し観察 | 何が証明されるか | 次のアクション |
|---|---|---|
| 1台のクライアントまたはネットワークパスだけが失敗し、他は通る | 制限要因はサーバー容量ではなく、アクセスパスです | そのクライアント、形式、字幕、Wi-Fi、または上流パスを修正する。トポロジーは維持する |
| ストレージが正常なまま、通常のトランスコードが再生の最低基準を満たさない | コンピュートの役割に再現性のある変換上限がある | アクセラレーション経路を確認してから、Plexのコンピュートだけをアップグレードまたは移行する |
| バックアップ、再構築、スキャンの処理が再生またはデータ保護を繰り返し中断している | コンピュートとストレージの役割が同時に競合している | まずスケジュールを変更し、それでも競合が続く場合は役割を分離するかI/Oを隔離する |
| ピークテストには合格する一方、アイドル時の消費電力が定めた予算を超えている | 常時稼働する電力経路が過大または適切に調整されていない | 使っていないデバイスを取り外し、電力状態を調整または統合してから、ウェイクアップと再生の挙動を再テストする |
| 共有メンテナンスまたはホスト障害による停止時間が許容値を超えている | 1台構成の障害ドメインが広すぎる | コンピュートを正規ストレージから分離するか、実証済みの復旧経路を追加する |
| 分離されたリストアでID、パス、再生状態を再現できない | 保護マップが不完全である | 拡張を止め、バックアップの対象範囲、権限、ランブックを見直す |
ダイレクトプレイが大半を占め、通常のトランスコードに合格し、アイドル時の消費電力が許容範囲内で、ストレージ処理が再生を妨げず、共有障害ドメインが家庭の許容範囲に収まるなら、1台にまとめます。変換用ハードウェアやメンテナンスの要件がストレージより速く変化する場合、またはコンピュートのピーク負荷がストレージ保護に繰り返し干渉する場合は、コンピュートを分離します。Plexの変更に関係なく容量、保持期間、再構築作業を安定させる必要がある場合は、ストレージを分離します。
障害の原因がクライアントまたはネットワーク経路にある場合、2台目のノードのアイドル時および管理コストが解消する競合を上回る場合、または提案した変更によって復旧テストが難しくなる場合は、ハードウェアの追加を止めます。変更を採用した後は、通常のストリーム、最も厳しい通常時のピーク、壁コンセントでの消費電力測定、分離されたリストアを再実行します。4つの結果がすべて定めた範囲内に収まっている間だけ、アーキテクチャは完成しています。
最終構成のルール
Plexに万能の正解はありません。自信を持って運用できる最小構成から始めましょう。代表的な再生、安定したアイドル状態、現実的なピーク負荷、保護されたデータの役割、分離されたリストアがすべて合格する間だけ、その構成を使い続けます。再現性のある競合や許容できない共有障害ドメインが発生し、追加ノードによって増える電力消費や複雑さ以上にリスクを減らせることが明らかになった場合に、コンピュートとストレージを分離します。
NAS&サーバー設定
もっと読む

他のセルフホスト型アプリとPlexを安全に併用する方法
Plexと他のアプリでホストを共有しながら、分離性、パフォーマンス、復旧性を損なわないテスト駆動型のセットアップ。

共有世帯向けPlexサーバー構築ガイド
プロフィール、権限、ネットワークゾーン、バックアップ、同時再生テスト、そしてエビデンスに基づく拡張のための、家庭向けPlex設計書。

コンピューティング、ストレージ、バックアップを網羅したPlexホームサーバートポロジー
再現性を検証できるPlexサーバーの設計図。再生、ストレージ、バックアップ、ネットワーク、電源、障害ドメイン、拡張の判断基準を網羅。

