FreeNASからTrueNAS SCALEへアップグレードした話(防備録)

FreeNAS 11.3 から TrueNAS SCALE へのアップグレードを行ったので、作業記録を忘備録と言う名の防備録として残しておきます。

結論から言うと、無事に完了しました。ただし、やり方としては決して褒められたものではなく、正直かなり冷や汗ものの作業でした。


先に反省点

今回は、

めんどくさかったのでデータのバックアップは取らずに実行

ちょっと危険な判断でした。データの重要度にもよると思いますが、やはりこのやり方は避けるのが無難でしょうか。

結果的には問題ありませんでしたが、作業中は終始ヒヤヒヤで、手汗が止まりませんでした。
いくら面倒でも、バックアップは取るべきですね。これは声を大にして書いておきます。


アップグレードして良かったこと

  • SCALEになりベースがLinuxになったので、コマンドの操作しやすくなった
  • Docker使える
  • WebUIがよりモダンになって、更に色々出来ることも増えた
  • FreeNASの時は再起動のたびにSMBのパスワードが無効になるという症状があり、これの解決方法が分からずに面倒でしたが、これが無くなったこと

環境の変更点

Before / After

  • Before
    • FreeNAS-11.3-U5
    • USBメモリ起動
  • After
    • TrueNAS SCALE 25.04.2.6
    • Intel DC S3500 SSD 120GB(ブート用)

USBブートはそろそろ卒業したかったので、今回は手元にあった Intel DC S3500 を使いました。


事前準備

0. FreeNAS 設定ファイルの保存

System > 一般 > 設定ファイルのダウンロードがまだなら保存しておく。今回は結局使わないのですが、FreeNASに戻さなければならなくなった時に必要になるかもしれない、らしいです。

1. TrueNAS SCALE の ISO をダウンロード

公式サイトから TrueNAS SCALE の ISO イメージを取得します。

2. インストール用 USB を作成

Linux マシンで以下のように dd を使って作成しました。

sudo dd if=/path/to/TrueNAS-SCALE-25.04.2.6.iso of=/dev/sdX bs=1M status=progress
  • /dev/sdXX は環境に合わせて必ず確認してください
  • 間違えると普通に事故ります

アップグレード手順

1. 既存 FreeNAS を停止

まず FreeNAS をシャットダウンします。

2. HDD の SATA ケーブルを一旦すべて抜く

  • OS インストール中の事故防止
  • 既存プールへの誤操作防止

上記を考え、データ用 HDD は物理的に切り離しました。

3. USB から TrueNAS SCALE を起動

作成した USB メモリから起動し、そのままインストールを実施します。

  • 質問は数回出ますが、基本的には流れに沿って答えるだけ
  • インストール自体は身構えた程ではなく、あっさり完了

4. Web UI の起動を確認

インストール後、無事に TrueNAS SCALE の Web UI が表示されることを確認。
ここで一度シャットダウンします。

5. HDD の SATA ケーブルを元に戻す

データ用 HDD を接続し直し、再度電源 ON。

6. 既存プールのインポート

Storage から既存の Pool をインポートします。

⚠️ ここで最大の注意点

  • 「Upgrade Pool」ボタンが表示されますが、この時点では絶対に押さない
  • データ確認が終わるまでは我慢

理由はシンプルで、

プールをアップグレードすると、FreeNAS に戻せなくなる

からです。

万が一、

  • データが壊れていた
  • ACL や権限がどうしてもおかしい

となった場合、後戻りできなくなります。


データ確認

インポート後、

  • Dataset がすべて表示されるか
  • ファイルが正しく見えるか

を一通り確認しました。

結果として、すべて問題なし
ここでようやく一安心です。


ACL(SMB / CIFS 周り)で少しハマった話

TrueNAS SCALE は ACL 周りがややクセがあります。
特に SMB 共有は、旧 FreeNAS の感覚で触ると「あれ?」となりがちです。

TrueNAS SCALE 側の確認ポイント

1. SMB 用ユーザーの作成

  • Credentials → Local Users
  • Linux クライアントから使うユーザーを作成
  • 「SMB」のチェックを必ず ON

2. SMB 共有設定

  • Shares → SMB から対象の共有を Edit
  • 確認ポイント
  • Purpose: Default share parameters
  • Path: 書き込みたい Dataset を指定しているか

3. Dataset の ACL 設定

  • Storage → Datasets
  • 対象 Dataset を選択
  • Edit → Permissions (Edit ACL)

確認すること:

  • NFSv4 ACLプリセットでは一番制限が緩い NFS4_OPEN を選択
  • 作成したユーザーに Modify(読み書き)権限 があるか
  • Apply permissions recursively(再帰的に適用) にチェックを入れる

これを忘れると「読めるけど書けない」状態になります。

4. root ユーザーは使わない

  • root は SMB アクセスできません
  • 必ず一般ユーザーを使います

Linux(Ubuntu)側のマウント設定

Ubuntu から CIFS でマウントする場合の例です。

sudo mount -t cifs \
  -o username=<SMBユーザー名>,uid=<UbuntuユーザーID>,gid=<UbuntuグループID> \
  //192.168.x.x/sharename /mnt/mountpoint
  • uid, gid は以下で確認できます
id

まとめ

  • TrueNAS SCALE への移行自体は意外とスムーズ
  • ただし バックアップは必須(今回は本当に反省)
  • プールのアップグレードはデータ確認後
  • ACL 周りは一呼吸おいて設定する

結果オーライでしたが、次にやるならもっと安全に、落ち着き、穏やかな気持ちでやりたいです。

アップデートの一週間後

⚠️注意で「Upgrade Pool」の件ですが、データも問題なかったので「Upgrade」しました。あっけなく終わりいよいよ「TrueNAS SCALE」世代です。

またお会いしましょう

鹿児島県の出水市という所に住んでいまして、インターネット周辺で色々活動して行きたいと思ってるところです。 Webサイト作ったり、サーバ設定したり、プログラムしたりしている、釣りと木工好きなMacユーザです。 今はデータサイエンスに興味を持って競馬AI予想を頑張ってます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください