TrueNAS Scale – ゼロから始める自作NASサーバー構築

HomeLab tutorial - IT technology blog
HomeLab tutorial - IT technology blog

背景と理由:データの主導権を握る

ますますデジタル化が進む現代において、私たちが蓄積する写真、ビデオ、ドキュメント、その他の貴重なデータの量は驚くほど膨大です。私たちの多くは、Google Drive、Dropbox、OneDriveのようなクラウドサービスに頼っています。しかし、この利便性にはしばしばいくつかの欠点が隠されています。継続的なサブスクリプション料金、潜在的なプライバシーの懸念、そして利用可能なストレージ容量やデータに対する直接的な管理の制限などです。

自宅全体で映画コレクションをストリーミングしたい場合はどうでしょうか?あるいは、容量を気にせずに家族の写真をすべてバックアップしたい場合は?もしかしたら、サードパーティに依存することなく、すべてのデジタル資産を集中管理できる堅牢な場所が欲しいだけかもしれません。

問題点:クラウドへの依存とデータのサイロ化

この課題は、完全に自分で管理できる一元化されたデータソリューションがないことに起因することがよくあります。データがさまざまなデバイスやクラウドプロバイダーに分散してしまい、断片的な体験、重複したコピー、ストレージ制限やサービス停止に対する絶え間ない懸念につながります。これは単なるストレージの問題ではなく、デジタル遺産を所有し、管理することなのです。

実践的な解決策:独自のTrueNAS Scale NAS

自宅にネットワークアタッチトストレージ(NAS)サーバーを構築することがその答えです。これにより、データの主導権をしっかりと握ることができ、優れたプライバシーと柔軟性が得られます。数ある選択肢の中でも、TrueNAS Scaleは際立っています。

これは、強力なZFSファイルシステムを活用した、NAS専用に設計されたオープンソースのLinuxベースオペレーティングシステムです。TrueNAS Scaleは単なるファイルサーバーではなく、アプリケーションを実行するためのKubernetesも統合されておりホームラボ向けとしては驚くほど多機能です。私は個人的にこのアプローチを本番環境で使用してきましたが、その結果は常に堅牢であることが証明されており、重要なデータとサービスのための信頼できる基盤を提供しています。

インストール:TrueNAS Scaleを起動して実行する

始めるには、専用のハードウェアが必要です。24時間年中無休で稼働する、小型で低消費電力のコンピューターだと考えてください。主なコンポーネントは以下のとおりです。

  • CPU: 最新の低消費電力CPU(例:Intel Celeron、Pentium、AMD Ryzen)で通常は十分です。
  • RAM: ZFSには16GBのECC RAMが推奨されますが、小規模なセットアップでは8GBの非ECCでも機能します。ZFSのパフォーマンスにはRAMが多いほど優れています。
  • ブートドライブ: 小型SSD(16GB以上)またはUSBドライブ。USBドライブでも機能しますが、TrueNAS Scaleオペレーティングシステムを実行する上での安定性と寿命を考慮すると、SSDが強く推奨されます。
  • ストレージドライブ: データプールには2台以上のハードドライブ(HDD)が不可欠です。信頼性のためには、エンタープライズグレードまたはNAS専用ドライブを検討してください。

問題点:OSをハードウェアに転送する方法は?

多くの人にとって、最大のハードルは、選択したハードウェアにTrueNAS Scaleオペレーティングシステムをインストールすることです。WindowsやmacOSのインストールとは異なりますが、手順を知っていればプロセスは簡単です。

根本原因:ブート可能なメディアとBIOS設定への不慣れ

ユーザーは、ブート可能なUSBドライブの作成や、システムをそれらから起動するためのBIOS/UEFI設定の構成に不慣れな場合があります。

実践的な解決策:ブート可能なUSBとガイド付きインストール

  1. TrueNAS Scaleをダウンロード: TrueNASの公式ウェブサイトにアクセスし、最新の安定版TrueNAS Scale ISOイメージをダウンロードします。

  2. ブート可能なUSBを作成: Rufus(Windows)またはEtcher(Windows/macOS/Linux)のようなツールを使用して、ISOイメージをUSBフラッシュドライブ(8GB以上)に書き込みます。

    # ddコマンドを使用したLinuxでの例(/dev/sdXをUSBデバイスに置き換えてください)
    sudo dd if=/path/to/TrueNAS-SCALE.iso of=/dev/sdX bs=4M status=progress
    
  3. TrueNAS Scaleをインストール:

    • ブート可能なUSBをNASハードウェアに挿入し、電源を入れます。
    • システムのBIOS/UEFI設定にアクセスし(通常は起動中にDEL、F2、F10、F12などを押します)、USBドライブから起動するように設定します。
    • 画面の指示に従います。指示されたら、TrueNAS Scaleのインストール用に専用のブートドライブ(小型SSDまたはUSB)を選択します。この段階でメインストレージHDDを選択しないでください。
    • 強力なrootパスワードを設定します。
    • 現時点ではデフォルトのネットワーク設定(DHCP)を受け入れます。これは後で調整できます。
    • インストールが完了したら、USBドライブを取り外して再起動します。
  4. Web UIにアクセス: 再起動後、コンソールにTrueNAS Scaleサーバーに割り当てられたIPアドレスが表示されます。同じネットワーク上のコンピューターでWebブラウザを開き、そのIPアドレス(例:http://192.168.1.100)にアクセスします。ユーザー名rootとインストール中に設定したパスワードを使用してログインします。

設定:ストレージとアクセスを構築する

TrueNAS Scaleがインストールされたので、次の重要なステップはストレージとアクセス方法を設定することです。これには、ZFSプール、データセットの作成、ネットワーク共有の設定が含まれます。

問題点:生のストレージはすぐには使えない

ハードドライブは物理的にインストールされていますが、TrueNAS Scaleがそれらをデータ保存やネットワーク共有ができるように、堅牢で高性能なファイルシステムに構成する必要があります。

根本原因:ZFSとネットワークプロトコルの理解

多くのユーザーは、ZFS、そのプール、vdev、データセットの概念、およびSMB(Windows/macOS用)やNFS(Linux用)のようなネットワークファイル共有プロトコルがどのように機能するかについて初めての経験かもしれません。

実践的な解決策:ZFSプール、データセット、ユーザー、共有

  1. ストレージプールを作成:

    • TrueNAS ScaleのWeb UIで、ストレージ > プールに移動します。
    • プールを追加/設定をクリックします。
    • 新しいプールを作成を選択します。
    • プールにわかりやすい名前を付けます(例:main_storage)。
    • 利用可能なHDDを利用可能なディスクからデータVDevにドラッグします。適切なレイアウトを選択します(例:単一ドライブ冗長性の場合はRAIDZ1、2ドライブ冗長性の場合はRAIDZ2。これはドライブ数と必要な安全性によります)。
    • 作成を確認します。このプロセスにより、選択したドライブはワイプされます。
    # プール作成後のzpool statusコマンド出力例(後で確認用)
      pool: main_storage
     state: ONLINE
      scan: none requested
    config:
    
    	NAME		STATE	READ WRITE CKSUM
    	main_storage	ONLINE	0	0	0
    	  raidz1-0	ONLINE	0	0	0
    	    da0		ONLINE	0	0	0
    	    da1		ONLINE	0	0	0
    	    da2		ONLINE	0	0	0
    
    errors: No known data errors
    
  2. データセットを作成:

    • 引き続きストレージ > プールで、新しく作成したプールの隣にある3つの点をクリックし、データセットの追加を選択します。
    • 異なる種類のデータ用にデータセットを作成します。例:mediadocumentsbackups。データセットはフォルダに似ていますが、クォータやスナップショットなどの高度なZFS機能を備えています。
    • ほとんどの家庭での使用ケースでは、共有タイプSMBに設定されていることを確認してください。
  3. ユーザーアカウントを作成:

    • 資格情報 > ローカルユーザーに移動し、追加をクリックします。
    • 強力なパスワードを持つ新しいユーザー(例:homelab_user)を作成します。このユーザーは共有にアクセスするために使用されます。

    • このユーザーをプライマリグループ(例:users、または新しいグループを作成)に割り当てます。
  4. SMB共有を構成:

    • 共有 > Windows共有(SMB)に移動し、追加をクリックします。
    • データセットのパスを選択します(例:/mnt/main_storage/media)。
    • わかりやすい名前を付けます(例:Media)。
    • 共有を有効にします。
    • ファイルシステムACLの編集をクリックし、homelab_userに適切な権限(例:読み取りと書き込み)があることを確認します。
    # Windowsクライアントでは、以下のように接続します:
    \\YOUR_TRUENAS_IP\Media
    
    # macOSクライアントでは、Finder -> 移動 -> サーバーへ接続、経由で接続します:
    smb://YOUR_TRUENAS_IP/Media
    
    # Linuxクライアントでは、共有をマウントします:
    sudo mount -t cifs //YOUR_TRUENAS_IP/Media /mnt/mynas -o username=homelab_user,uid=1000,gid=1000,vers=3.0
    
  5. SSHを有効にする(オプションですが推奨):

    • サービスに移動します。
    • SSHサービスを見つけ、実行中に切り替えます。
    • これでSSHクライアントを介して安全に接続できます:
    ssh homelab_user@YOUR_TRUENAS_IP
    

検証と監視:安定性と健全性の確保

すべての設定が完了したら、NASが正しく機能していることを確認し、その健全性を監視するルーチンを作成することが重要です。NASは信頼性があってこそ意味があります。

問題点:正しく機能し、健全性を維持していることをどう知るか?

すべての設定を終えましたが、クライアントが接続してデータの読み書きができることをどう確認しますか?さらに重要なのは、潜在的な問題が深刻化する前に、どうやって事前に特定するかです。

根本原因:テスト手順と監視意識の欠如

ユーザーは、異なるオペレーティングシステムからネットワーク共有をテストする最良の方法を知らなかったり、TrueNAS Scaleに組み込まれた監視機能について理解していない場合があります。

実践的な解決策:クライアントテスト、ZFSヘルスチェック、システムアラート

  1. 共有アクセスを検証:

    • Windowsマシンから、ファイルエクスプローラーを開き、アドレスバーに\\YOUR_TRUENAS_IPと入力してEnterを押します。設定された共有が表示されるはずです。共有へのファイルのコピーと共有からのファイルのコピーを試してください。
    • macOSでは、Finderを開き、移動 > サーバーへ接続…に進み、smb://YOUR_TRUENAS_IPと入力して接続します。ファイル転送をテストします。
    • Linuxでは、smbclientを使用して共有を一覧表示し、接続をテストします:
    smbclient -L YOUR_TRUENAS_IP -U homelab_user
    

    または、前のセクションで示したようにマウントしてファイルをコピーしてみてください。

  2. Web UI経由でシステム健全性を監視:

    • TrueNAS Scaleのダッシュボードは、CPU、RAM、ネットワーク、ディスクI/Oの各メトリクスを明確に表示します。これらのメトリクス、特に大量転送中のディスクアクティビティに注意してください。
    • レポートの下で、さまざまなシステムコンポーネントの履歴データを探索できます。
  3. ZFSプールステータス:

    • ZFSプールの健全性を定期的にチェックしてください。これはTrueNAS ScaleのWeb UI(ストレージ > プール)またはSSH経由で行うことができます:
    zpool status
    

    DEGRADEDまたはFAULTED状態(ドライブの問題を示す)がないか確認してください。

  4. SMART監視:

    • TrueNAS Scaleは、ハードドライブのS.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology)データを自動的に監視します。これはストレージ > ディスクの下で確認できます。定期的なS.M.A.R.T.テストを有効にすると、ドライブの故障を予測するのに役立ちます。
  5. メールアラートを構成:

    • 重要な通知(例:ドライブ故障、プール劣化)については、メールアラートを設定します。システム設定 > メールに移動してSMTPサーバー設定を構成し、次にシステム設定 > アラートサービスに移動して、どのSアラートがメールをトリガーするかを指定します。これは予防的なメンテナンスに不可欠です。
  6. ZFSスナップショット: 厳密には監視ではありませんが、重要なデータセットのZFSスナップショット(ストレージ > スナップショット)を定期的に作成することは、誤削除やデータ破損に対する第一の防御線です。自動スナップショットタスクの設定を検討してください。

これらの手順に従うことで、強力なセルフホスト型NASサーバーと、データが安全に保存され継続的に監視されているという安心感を得ることができます。独自のデジタルハブの自由と管理を享受してください!

Share: