ストレージレイアウトを先に決めるべきか、NAS OSを先に決めるべきか:新しいNAS構築ではどちらの判断を優先すべき?

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

NASオペレーティングシステムを選ぶ前にストレージ要件を定義します。ただし、その要件に対して候補OSが適合するか確認するまで、後戻りできないプールレイアウトを確定してはいけません。まず、データの価値、使用可能容量、ドライブ容量、冗長性、拡張性、ワークロード、復旧要件を整理します。次に、そのモデルをサポートするオペレーティングシステムを候補として絞り込み、実際に運用するプラットフォーム内で、正確なアレイ、プール、またはvdev構成を確定します。

本当の選択肢は、要件を先に決めるか、プラットフォームを先に決めるか

「ストレージレイアウトを先に決める」という表現には、2つの意味があります。必要な保護レベル、容量、性能、拡張性を定義すること、またはオペレーティングシステムを選ぶ前に、特定のディスクをミラー、RAIDZグループ、パリティアレイ、Btrfsプロファイルに割り当てることです。一貫して安全なのは、前者の解釈だけです。

「NAS OSを先に選ぶ」という表現は、所有者に適した管理モデルを選ぶことも、洗練されたインターフェースにストレージアーキテクチャを自動的に決めさせることも意味します。前者は合理的ですが、後者では、選択したプラットフォームが異なるドライブを利用できない、期待どおりに拡張できない、または希望するファイルシステムをインポートできないことに後から気付くリスクがあります。

ZimaSpaceに掲載されている、混在ドライブ向けのCasaOS、ZimaOS、Unraidの比較では、インターフェースとストレージを完全に切り離せない理由が示されています。正しい順序は、要件の定義、互換性のある候補の絞り込み、そして実装です。

判断の段階 NAS OSより先に選ぶ NAS OSの候補を絞り込んだ後に選ぶ
データの重要度 主要データ、交換可能データ、アーカイブ、または一時データ 各クラスを保護するプラットフォーム機能
使用可能容量の目標 現在の必要容量と現実的な増加量 アレイまたはプールの正確な効率
故障耐性 許容できるドライブ故障の台数とダウンタイム ミラー、パリティ、RAIDZ、Btrfs、または別のサポート対象実装
ドライブ在庫 台数、容量、インターフェース、状態、交換用ドライブの入手性 その組み合わせをOSが問題なく受け入れるか
拡張パターン ペアの交換、ドライブの追加、vdevの追加、または別のエンクロージャーの追加 正確にサポートされる拡張手順
ワークロード バックアップ、メディア、小容量ファイル、VM、データベース、監視データのいずれか データセット、キャッシュ、階層、レコード、アプリの配置設定
復旧目標 最初に何を、誰が復旧する必要があるか 設定のエクスポート、プールのインポート、交換、移行の手順

データと障害モデルから始める

どのデータが失うと取り戻せないものか、どれが再ダウンロードできるものか、どれが頻繁に変更されるか、そしてどのアプリケーションが長時間のストレージ停止に耐えられないかを一覧にしましょう。家族のアーカイブ、バックアップリポジトリ、メディアライブラリ、VMデータストア、NVRの保存プールは同じディスクを使用する場合でも、冗長性、スナップショット、復元に関する優先事項が異なることがあります。

OpenZFSのドキュメントでは、プールはトップレベルの仮想デバイスから構成され、その構造によって冗長性と障害時の挙動が決まると説明されています。vdevの概念から、計画上の重要な点が明確になります。ファイルシステム名だけでは、基盤となるデバイス構成も定義されていない限り、保護レベルは分かりません。

ブランド化されたインターフェースを選ぶ前に、許容できる障害状態を決めましょう。1台のドライブが故障した際にシステムが縮退状態になってもよいのか、2台の故障に耐える必要があるのか、再構築にどれくらいの時間をかけられるのか、そしてアレイ自体を失った場合に独立したバックアップからデータを復元できるのかを検討します。

ドライブ容量と拡張性によって、OSの候補は早い段階で絞り込まれる

新しく購入した同一仕様のドライブセットと、再利用した4TB、8TB、16TBのドライブの集合では、選択肢が異なります。従来のミラーやパリティグループでは容量を犠牲にしたり、グループ単位での拡張が必要になったりする一方、異なるサイズのデータディスクを段階的に追加できるよう設計されたストレージモデルもあります。

Unraidの公式アレイガイダンスでは、データディスクの容量はパリティディスクを超えてはならないとされ、プライマリパリティアレイではなく、SSDをキャッシュプール用に確保することが推奨されています。これは些細な設定ではありません。既存のどのドライブを使い続けられるか、そして次の拡張でどのドライブを購入するかを左右します。

拡張計画が「容量が不足するたびに、サイズの異なるドライブを1台ずつ追加する」というものなら、所有者が後での移行を受け入れない限り、固定グループの再構築が必要なプラットフォームを候補から外しましょう。計画が「ミラー構成のペアを、より大容量で同一サイズのドライブに交換する」というものなら、異なるサイズのドライブを段階的に追加することに最適化されたストレージモデルは、不要な複雑さを招く可能性があります。

NAS OSによってネイティブに対応できるレイアウトが決まる

要件を定義したら、ネイティブかつ可視化された形で管理できるストレージモデルを基準に、オペレーティングシステムの候補を絞り込みます。OSが技術的にはファイルシステムをサポートしていても、想定する使い方に必要な統合アラート、交換ワークフロー、容量見積もり、設定復旧機能がない場合があります。

TrueNASには、ユーザーがレイアウト、ディスク容量、データデバイス、vdev数を選択するプール作成ワークフローがあります。現在のTrueNASのプール作成ドキュメントは、ストレージアーキテクチャを独自に組み立てるのではなく、サポート対象のZFSモデルを通じて確定することをプラットフォームが前提としている点を示しています。

Linux上にWebインターフェースを追加すれば、基盤となるすべてのプールを同じように管理できるとは限りません。プラットフォームには、自身が作成または登録したストレージしか表示されない場合があり、高度な復旧には、基盤となるファイルシステムのコマンドラインツールとドキュメントに依存することもあります。

OSの互換性を確認する前に最終プールを作成しない

早すぎる段階でプールを作成すると、希望するNAS OSでは通常のワークフローを通じてインポート、監視、拡張、修復できない実装にデータが固定される可能性があります。2つのシステムが同じファイルシステム系統をサポートしている場合でも、機能フラグ、暗号化、デバイスパス、ブート環境、アプリケーションデータセットが移行を複雑にすることがあります。

OpenMediaVaultのドキュメントでは、インターフェース外でマウントされたファイルシステムは、共有フォルダーの作成に使用するバックエンドデータベースへ自動的には登録されないと説明されています。そのファイルシステム統合モデルは、「Linuxでマウントできる」ことと「NASプラットフォームで適切に管理できる」ことが同じではない理由を示しています。

まずは余っているディスクや仮想ディスクを使って、候補OSのプロトタイプを作成します。主要データを移行する前に、プールの作成、共有フォルダーの作成、スナップショット、アラート、交換、拡張、エクスポート、インポートを確認してください。テストでは、インストーラーがドライブを認識できることだけでなく、管理経路を検証する必要があります。

プラットフォームの境界が明確になってからワークロードを配置する

要件定義の段階ではワークロードを特定しますが、正確な配置はOSとストレージツールを選定してから決めるべきです。VMデータセット、メタデータ層、アプリケーションプール、ダウンロード用の一時領域、メディアアーカイブには、それぞれ異なるデバイスが適している場合があります。ただし、利用できる階層化機能やデータセットの制御はプラットフォームによって異なります。

Btrfsでは、十分な作業領域があれば、デバイスの追加、削除、交換を行い、データおよびメタデータのプロファイルを変換できます。公式のボリューム管理ドキュメントは、固定的なvdev計画よりも変更しやすいモデルを示していますが、その柔軟性にも監視と運用知識が必要です。

VMとデータベース向けNVMe作業階層に関するZimaSpaceの分析では、ワークロードのテストを行っています。OSを決める前に必要性を定義し、選択したプラットフォームが安全にサポートするストレージモデルを使ってその階層を実装します。

復旧は最終的な2つの選択を決める前に設計する必要がある

NASの構築は、プールをマウントできた時点で完了するわけではありません。所有者は、ブートデバイスを再インストールし、NAS設定を復元し、残存ストレージをインポートし、暗号化キーを復旧し、故障したディスクを交換し、プールをインポートできない場合にデータを復元する方法を把握しておく必要があります。

ストレージレイアウトはドライブ障害時に何が残るかを決め、NAS OSは残った状態がどれだけ明確に提示されるか、またどれだけ設定をエクスポートできるかを決めます。文書化されていないアプリケーションパスを含む回復力のあるプールは、依然として復旧が難しい場合があります。一方、洗練されたOSでも、冗長性のない故障したディスクにしか存在しなかったデータを復元することはできません。

ここが判断の停止境界です。復旧計画が1つのOS固有の機能に依存する場合、最終レイアウトを決める前にそのプラットフォームを選定する必要があります。復旧が主に移植可能なファイルシステムと宣言的な設定に依存する場合は、より多くのOSの選択肢を残せます。

3段階の選定プロセスを使用する

  1. オペレーティングシステムの名前を挙げずに、容量、ドライブ構成、ワークロード、障害耐性、拡張、復旧の要件を記述する。
  2. 文書化され、保守可能なストレージモデルによって要件を満たせないオペレーティングシステムを除外する。
  3. 余っているディスクまたは仮想ディスクを使って残りのプラットフォームを試作し、作成、障害、交換、拡張、エクスポート、インポートをテストする。
  4. 所有者のスキルと許容できるメンテナンス負担に、通常のワークフローが最も合うオペレーティングシステムを選択する。
  5. そのプラットフォーム内で、正確なアレイ、プール、vdev、ファイルシステム、データセット、キャッシュ、アプリケーションストレージのレイアウトを確定する。
  6. 設計を記録し、交換不可能なデータを移行する前に一度復元テストを行います。

この順序により、よくある2つの間違いを防げます。1つは、魅力的なインターフェースを選んだものの、予定していたドライブをサポートできないこと。もう1つは、技術的には洗練されたプールを構築したものの、最終的に選んだNAS OSではサポートされていない回避策なしに管理できないことです。

どの判断を優先すべきですか?

ストレージ要件を判断基準にすべき場合

ドライブ容量、冗長性、拡張、ワークロードの挙動が厳しい制約となる場合は、要件を判断基準にします。これは、異なる容量のドライブ、大規模なRAIDZグループ、監視映像の保存期間、VMストレージ、または完全な移行なしで拡張する必要があるシステムで特に重要です。

最終レイアウトの決定をNAS OSの候補に委ねるべき場合

統合された交換管理、アラート、アプリストレージ、設定のエクスポート、ガイド付き復旧を重視する場合は、プラットフォームの候補を実装の判断基準にします。選択したOSが通常の管理手順でサポートしているレイアウトだけを選んでください。

どちらも適合しない場合はハードウェアを再検討する

ドライブ構成を変更する、独立したSSD階層を追加する、ストレージとコンピュートを分離する、またはどのOSでも要件を無理なく満たせない場合は構築を延期します。互換性のない組み合わせを無理に使うと、データの移動が最も困難な時点で、将来の移行作業が発生します。

よくある質問

ドライブを購入する前にNAS OSを選べますか?

はい。ただし、ワークロードと拡張要件がすでに明確になっていることが前提です。最終的なドライブ構成を購入する前に、OSのドキュメントで、サポートされるレイアウト、最小ディスク数、パリティサイズ、SSDの役割、コントローラー要件、交換手順を確認してください。

同じZFSプールを別のNASオペレーティングシステムへ移行できますか?

場合によりますが、互換性は、サポートされるプール機能、暗号化、インポート動作、デバイスアクセス、システムデータセット、アプリケーション設定に左右されます。クロスプラットフォームでのインポートは、当然できるものと考えず、テスト済みの移行手順として扱ってください。

初心者は提案されたプールレイアウトを採用すべきですか?

使用可能容量、耐障害性、拡張性、ワークロード、バックアップ要件を確認した後に限ります。提案されたレイアウトは安全な出発点にはなりますが、データの価値や所有者が将来どのようにドライブを交換する予定かまでは判断できません。

最終結論

完全に固定したストレージ構成ではなく、まずストレージ要件を決めます。次に、その要件をサポートするNASオペレーティングシステムを候補として絞り込み、選んだプラットフォーム内で正確なレイアウトを確定します。この順序により、OSが管理すべきアレイ、プール、ファイルシステム、拡張、復旧のワークフローから独立しているかのように装うことなく、アーキテクチャ上の規律を保てます。

製品比較

もっと読む

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.