最初のドライブ増設後も使い続けられる、初心者向けホームサーバー構成

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

初心者向けホームサーバーが最初のドライブアップグレードを乗り切れるのは、アプリケーションがすでに使っているパス、所有者設定、復旧計画を変えずにストレージを拡張できる場合です。

最初のディスクは、ダウンロード、アプリのデータベース、メディア、バックアップ、共有ファイルを保存する便利な場所として使い始めることがよくあります。容量が不足したり、冗長性が必要になったりするまでは、この構成でも問題ありません。アップグレードを見据えた構成では、2台目のドライブを追加する前にこれらの役割を分けます。こうすることで、容量の追加が、マウントや権限、コンテナ、家庭内でのアクセスを壊すサーバーの再構築ではなく、管理されたストレージ変更になります。

最初のドライブアップグレードで何を実現するか決める

「ドライブをもう1台追加する」には、使用可能容量を増やす、ディスク1台の故障に対する保護を追加する、稼働中のワークロードをより高速なストレージに移す、という3つの異なる意味があります。新しいディスク1台で、常にこの3つすべてを実現できるとは限りません。ミラーリングは可用性を高めますが、使用可能容量が2倍になるわけではありません。アーカイブ用のディスクを別に追加すれば容量は増えますが、最初のディスクは保護されません。SSD の階層を追加するとレイテンシは改善しますが、バックアップの代わりにはなりません。

NAS の購入ガイドでは、容量、ベイ数、ネットワーク、アプリケーションのサポート、将来の拡張を相互に関連する選択肢として検討することを推奨しています。このシステム全体を見据えた拡張モデルは、ストレージを変更する理由にアップグレード方法を合わせるため、最初に取り組むべきことです。

ドライブを購入する前に、アップグレードの要件を一つにまとめておきましょう。新しいストレージには、指定量の使用可能容量を確保し、現在のアプリパスを維持し、想定する障害に耐え、許容できるメンテナンス時間内に作業を完了できることが求められます。これらの要件が両立しない場合、ディスクを1台追加するのではなく、サーバーの構成をより大きく見直す必要があります。

ディスク固有のアプリパスではなく、安定したマウントポイントを使う

アプリケーションは、初回インストール時にたまたま/dev/sdbと呼ばれていたデバイスではなく、ストレージの役割を参照するべきです。再起動やコントローラーの変更、新しいディスクの接続後に、デバイス名が変わることがあります。不安定なデバイスパスに直接割り当てられたサービスは、別のファイルシステムを開いたり、空のフォルダーに対して起動したりする可能性があります。

Linux ストレージガイドでは、複数のディスクや USB デバイスがある場合、生のデバイス名が常に一定とは限らないため、ファイルシステムのマウントには UUID を使うことを推奨しています。永続 UUID マウントの手順を使えば、カーネルがドライブを異なる順序で検出しても、/srv/mediaのような役割を一貫して維持できます。

/srv/appdata、/srv/shared、/srv/media、/srv/backupsのような、役割ごとのパスを作成します。ZimaSpaceによるUUIDマウントと安定したアプリパスの解説では、さらに重要な要件が示されています。想定されたファイルシステムはアプリの起動前にマウントされなければならず、失敗した場合はブートディスクへ黙って切り替わるのではなく、その失敗がわかるようにする必要があります。

ブートシステム、アプリの状態、ユーザーデータを分離する

ブートドライブには、オペレーティングシステムと置き換え可能なアプリケーションコードを保存します。永続的なアプリの状態には、データベース、設定、インデックス、アカウント記録、シークレットが含まれます。ユーザーデータとは、利用者が認識でき、単純に再生成できないファイルです。こうしたレイヤーは、最初は1台の物理SSD上にあってもかまいませんが、文書化されていない1つのディレクトリツリーにまとめるべきではありません。

Better Stackによると、コンテナの永続データはコンテナ自体を置き換えた後も維持されなければなりません。この独立したデータライフサイクルの原則により、基盤となるデータセットをコピー、マウント、または移動する間もアプリが同じホストパスを使い続けられるため、最初のドライブアップグレードが容易になります。

レイヤー 初期の保存場所 アップグレード時の安全ルール
オペレーティングシステム 内蔵ブートSSD 家庭内データを移動せずに再インストール可能
アプリケーションの状態 専用の永続パス 移行前に一貫してバックアップ
ユーザーファイル 名前付き容量経路 同じ安定したマウントポイントの背後に移動
キャッシュと一時ファイル 容量に制限のある高速ストレージ経路 再構築可能で、可能な限り移行対象から除外
バックアップコピー 別のディスクまたはシステム 稼働中のアップグレードに失敗した場合でも利用可能

初期プールの作成前に拡張モデルを選ぶ

最初のプール設計によって、どのアップグレードが簡単なまま維持されるかが決まります。既存のグループにディスクを追加して拡張するレイアウトもあれば、完全な新しいグループを追加する、すべてのディスクをより大容量のモデルに交換する、あるいは新しいレイアウトを再構築してデータを復元するレイアウトもあります。単一ディスクのファイルシステムは、ミラー、パリティアレイ、独立ディスクのプール、アプリ用とアーカイブ用に分けたボリュームとは拡張方法が異なります。

ある独立系ストレージガイドでは、ZFSの一般的な拡張方法として、別のvdevを追加する、ドライブをより大容量のものに交換する、対応するRAIDZ vdevを拡張する、の3つを紹介しています。この複数の拡張方法の比較は、より広い原則を示しています。「拡張可能」はどこでも同じ操作を指すわけではありません。最初のトポロジーは、初心者が最も実施しそうなアップグレードに対応している必要があります。

次のドライブを既存のプールに追加するのか、独立したデータセットにするのか、複製したコピーを保存するのか、小容量のディスクと交換するのかを記録しましょう。今後の拡張方法を確認していないプール内に、アプリのインストーラーが永続データの唯一のコピーを作成することがないようにしてください。

移行用の空き容量と一時容量を確保する

ドライブのアップグレードには、最終的なデータ量から想定する以上の作業用スペースが必要になることがあります。データを安全にコピーするには、古いデータと新しいデータを同時に保持しなければならない場合があります。プールの拡張によって、再配置、パリティ処理、メタデータの更新、長時間の再構築が発生することもあります。移行元と移行先のファイルシステムがほぼ満杯だと、問題のトラブルシューティングも難しくなります。

RAID拡張の記事では、ディスクの追加、ドライブの交換、さまざまなアレイタイプの拡張を比較し、必要な再構築や最後のドライブ交換が完了するまで、容量を利用できない場合があることを説明しています。この容量拡張の遅延動作があるため、初心者は元のディスクに実用的な空き容量がなくなるまで待つべきではありません。

サーバーの使用が切迫した状態になる前に、アップグレードの実施条件を設定しましょう。使用率が継続的に70~75パーセントになったあたりから計画を始め、現在のデータ量、移行中に予想される増加分、スナップショットやバージョン、アプリケーションデータベース、作業用の予備容量を算出します。正確なしきい値はファイルシステムとワークロードによって異なりますが、緊急の容量拡張は常に最も余裕のない選択肢です。

アップグレードをテスト済みのメンテナンス作業にする

ストレージを変更する前に、不要な書き込みを停止し、ストレージ構成をエクスポートしてディスクの識別情報を記録し、重要なデータとアプリの状態を独立した新しいバックアップに保存してください。そのコピーを信頼する前に、代表的なファイルを少なくとも1つとアプリケーション構成を1つ復元します。その後、ストレージの変更を一度に1つずつ行います。

TechTargetのバックアップテストチュートリアルでは、データを復元し、復元後のワークロードが実際に機能するか確認することを重視しています。バックアップファイルがあるだけでは、復旧できる証明にはならないからです。ドライブを再フォーマット、取り外し、または新しいプールの一部にする前に、復元と機能のテストを完了してください。

変更後は、想定したマウント、所有者、空き容量、アプリデータ、共有フォルダー、バックアップスケジュール、再起動時の動作を確認します。新しいレイアウトでサーバーを複数回再起動し、通常の家庭内利用を問題なく行えるまで、古いドライブには手を加えずにおきます。その後の再構築と拡張については、ZimaSpaceの安全なNASストレージ拡張ガイドをご覧ください。

ドライブを追加、交換するか、ストレージ優先のNASに移行するかを見極める

1つのデータセットの容量を増やす必要があり、障害時に独立して失われても問題ない場合は、別のドライブを追加します。既存のトポロジーで順次交換後に容量を増やせる場合は、ドライブを交換します。冗長性と使用可能な容量を同時に増やす必要がある場合は、ベイを追加するか、より大きなプールを構築します。アプリケーションと家庭内データで、メンテナンス、冷却、復旧の境界を分ける必要が出てきたら、ストレージを専用NASに移します。

ServeTheHomeでは、コンパクトな1リットルサイズのPCを、汎用パソコンとしてではなく、メモリ、ストレージ、ネットワークを計画して専用サーバーとして運用する方法を紹介しています。この専用ノードモデルなら、2段階のアップグレードが可能です。元のコンピューティングノードは維持しながら、ストレージ優先のシステムに大規模なデータセットの管理を任せます。

アップグレードの兆候 次に検討する構成 停止の目安
交換可能なメディア用フォルダーが増えている 独立した容量ディスクを追加する 冗長性のあるストレージとして扱わない
現在の保護されたプールの容量を増やす必要がある サポートされている追加または交換による拡張方法を使う サポート対象外のコントローラーやエンクロージャーを使って、その場しのぎの構成にしない
アプリは安定しているが、家族用ストレージが増えている コンピューティング環境を維持し、データをストレージ優先のNASに移す アプリのメンテナンス時にストレージのメンテナンスを行わない
ブートディスクにはアプリと、失うと取り戻せないファイルが保存されている 容量を増やす前に、レイヤーを分ける 構成が文書化されていないまま、既存のレイアウトを拡張しない

ZimaSpaceのガイド3つのサービスを軸に最初のサーバーを構築するでは、どのデータの役割を安定させる必要があるかを見極める方法を紹介しています。ZimaBoard 2 ミニホームサーバーは、外付けストレージを計画的に利用する、コンパクトでアプリ中心のスタートに適しています。複数ドライブを内蔵できる容量と、ストレージを優先した復旧が恒久的に必要になった場合は、ZimaCube 2 AI NASがより明確な次の構成です。

アップグレードに強い構成とは、将来のあらゆるディスクを予測する構成ではありません。アプリのパス、家族のアクセス方法、復旧計画を分かりやすく保ちながら、ストレージを変更できる構成です。

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.