FreeNASアップデート2回目

何も文句を言うことなく黙々と働きつづける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ファイルを使ってアップグレードすることになります。

前回同様、やってみます。

  1. アップデート用のファイルのダウンロード
    こちらからアップデートに必要なファイルをダウンロードします。 WebGUIでのアップデートに必要なファイルは拡張子がxzまたはtxz(現在のバージョンによる)になっているものです。あわせて、sha256のチェックサムファイルもダウンロードしておきます。
  2. ファイルの正当性チェック
    「$ sha256sum FreeNAS-8.3.0-RELEASE-x64.GUI_Upgrade.xz」
    として、チェックサムが一致するか確認します。(GUIの中でもチェックされるようです)
  3.  設定ファイルのバックアップ
    一応、設定ファイルをバックアップします。
    Webの管理コンソール画面で、「システム」→「設定」→「一般的な設定」の中に、「設定のダウンロード」というボタンがあるので、これを押すと設定ファイルを保存できます。
  4.  サービスの停止
    「サービス」→「サービスの制御」でONになっているサービスをすべてOFFに変更します。
    自分の場合は、 「CIFS」「Rsync」「SSH」を停止しました。
  5.  コンソール表示の設定
    「システム」→「設定」→「高度な設定」 で「フッタへのコンソールメッセージの表示(UIのリロードが必要)」にチェックが入っているのを確認します(前回アップデート時にチェックしている)。入ってなければチェックしてブラウザでリロードするとブラウザの下の方にコンソール表示が出るようになります。
  6. ファームウェアのアップデート(一時保存場所の設定)
    同じ画面(「システム」→「設定」→「高度な設定」)で、「ファームウェアアップデート」を押すと、アップデートファイルを一時保存する場所を聞いてくるので、適当に設定します。(自分はデフォルトのままにしました)
  7. アップデートするファイルの指定
    アップデートするファイルがどこにあるか聞いてくるので、1でダウンロードしたファイルを指定します。併せて、sha256のチェックサムの結果もコピー&ペーストで入力します。
  8. あとはひたすら待つ
    途中、勝手に何回かリブートがかかります。再起動の途中でブートメニューが一瞬表示されますが、触る必要はないようです。(自分は触りませんでした)
    コンソール画面を見ていると、何回かリブートした後に通常の「Console setup」の画面になり、アップデートが終了します。
  9. ブラウザでログインしなおします。

続いて、ZFSのバージョンアップです。

FreeNAS 8.3.0 では ZFSv28をサポートしていますが、それ以前の8.xではZFSv15を使っています。つまり、既存のZFSボリュームはZFSv15のままになってしまいます。
既存のZFS poolのアップデートを行いたい場合は以下のことを考慮する必要があります。
  • アップグレードはコマンドラインからしか行えません(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」)を再開して完了です。

コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)