何も文句を言うことなく黙々と働きつづけるFreeNAS。前回バージョンアップした後のバージョンは8.0.4で、これで黙々と働いてくれていました。・・・が、久しぶりにFreeNASのWebサイトを訪問してみたら、 8.3.0がリリースされていましたので、アップデートしてみます。
・・・が、前回同様、バージョンアップに先立って、いつものようにBunBackupを使って、Windows7マシンにつけてある外付けHDDに中身をバックアップします。やはり誤操作ですべてを失うリスクがありますので、バックアップは重要です。。
で、アップグレード手順は、やはりここに書いてあります。8.0.1-BETA3より前のバージョンからアップグレードする場合にはGUIを使わずにisoファイルを使ってアップグレードを、8.2.0-BETA3以降のバージョンからのアップグレードでは.txzファイルを、8.2.0-BETA3より前のバージョンからのアップグレードでは.xzファイルを使用するようです。今回は8.0.4からのアップグレードなので、.xzファイルを使ってアップグレードすることになります。
前回同様、やってみます。
- アップデート用のファイルのダウンロード
こちらからアップデートに必要なファイルをダウンロードします。 WebGUIでのアップデートに必要なファイルは拡張子がxzまたはtxz(現在のバージョンによる)になっているものです。あわせて、sha256のチェックサムファイルもダウンロードしておきます。 - ファイルの正当性チェック
「$ sha256sum FreeNAS-8.3.0-RELEASE-x64.GUI_Upgrade.xz」
として、チェックサムが一致するか確認します。(GUIの中でもチェックされるようです) - 設定ファイルのバックアップ
一応、設定ファイルをバックアップします。
Webの管理コンソール画面で、「システム」→「設定」→「一般的な設定」の中に、「設定のダウンロード」というボタンがあるので、これを押すと設定ファイルを保存できます。 - サービスの停止
「サービス」→「サービスの制御」でONになっているサービスをすべてOFFに変更します。
自分の場合は、 「CIFS」「Rsync」「SSH」を停止しました。 - コンソール表示の設定
「システム」→「設定」→「高度な設定」 で「フッタへのコンソールメッセージの表示(UIのリロードが必要)」にチェックが入っているのを確認します(前回アップデート時にチェックしている)。入ってなければチェックしてブラウザでリロードするとブラウザの下の方にコンソール表示が出るようになります。 - ファームウェアのアップデート(一時保存場所の設定)
同じ画面(「システム」→「設定」→「高度な設定」)で、「ファームウェアアップデート」を押すと、アップデートファイルを一時保存する場所を聞いてくるので、適当に設定します。(自分はデフォルトのままにしました) - アップデートするファイルの指定
アップデートするファイルがどこにあるか聞いてくるので、1でダウンロードしたファイルを指定します。併せて、sha256のチェックサムの結果もコピー&ペーストで入力します。 - あとはひたすら待つ
途中、勝手に何回かリブートがかかります。再起動の途中でブートメニューが一瞬表示されますが、触る必要はないようです。(自分は触りませんでした)
コンソール画面を見ていると、何回かリブートした後に通常の「Console setup」の画面になり、アップデートが終了します。 - ブラウザでログインしなおします。
続いて、ZFSのバージョンアップです。
- アップグレードはコマンドラインからしか行えません(GUIではできません)
- アップグレードは片方向で、もし気が変わって、古いバージョンのZFSに戻したくてもできないし、ZFSv28をサポートしない古いバージョンののFreeNASに戻したくても戻れません。
- 操作を行う前に、必ずデータ全体のバックアップをとって、それが正しく取れているか確認しなければなりません。不幸にもアップグレードがデータに損傷を与えた場合でも、バックアップがあれば・・・・。
ZFSのアップグレードを行う場合は、Webブラウザで左の方にある「シェル」を選択してshellを開いて、以下のコマンドでpoolの状態とバージョンを確認します。この例ではpoolの名前がvolume1の場合です。
# zpool status pool: volume1 state: ONLINE status: The pool is formatted using an older on-disk format. The pool can still be used, but some features are unavailable. action: Upgrade the pool using 'zpool upgrade'. Once this is done, the pool will no longer be accessible on older software versions. scan: none requested config: NAME STATE READ WRITE CKSUM volume1 ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 ada0p2 ONLINE 0 0 0 ada1p2 ONLINE 0 0 0 ada2p2 ONLINE 0 0 0 ada3p2 ONLINE 0 0 0 errors: No known data errors
# zpool get version volume1 NAME PROPERTY VALUE SOURCE volume1 version 15 default
次に、poolの状態に異常がないか確認します。
# zpool status -x all pools are healthy
ここで、healtyでなかった場合はアップグレードしてはいけません・・・という記述ですが、実際に表示されるのは -x なしのものと変わりませんでした。バックアップもとってあることだし、 「errors: No known data errors」を信じて進むことにします。
volume1をアップグレードする場合は以下のようにします。
# zpool upgrade volume1 This system is currently running ZFS pool version 28. Successfully upgraded 'volume1' from version 15 to version 28 # zpool get version volume1 NAME PROPERTY VALUE SOURCE volume1 version 28 default
以上です。(#で始まる行が入力行です)
シェルからは「Ctrl-D」で抜けられます。
最後に、バージョンアップ前に停止したサービス(自分の場合は「CIFS」「Rsync」「SSH」)を再開して完了です。