FreeNAS インストールと環境設定移行

#概要
数年程前に構築したFreeNASサーバが突然WebGUIに繋げなくなってしまった後、エラーアラートを出すようになってしまいました。
OS本体が壊れることは時々ありますので、新しいUSBメモリに再設定をすることにしました。

FreeNASサーバに使用している端末を使って新規USBメモリにインストールしても良いのですが、間違えてファイル用のストレージを初期化してしまう恐れがあります。
なので今回はVirtualBox上で仮想マシンを構築してインストール後に設定ファイルを上書きし、その後USBメモリをFreeNASサーバに取り付けて起動確認を行います。

# 準備物
USBメモリだけ新調しました。

| 品名                                  | 価格         | 備考                |
|:-------------------------------------|------------:|:-------------------:|
| USB メモリ(16GB)                      | 3000円      |                     |

# インストール前準備
現行サーバの設定バックアップと、アップグレード用のOSのダウンロードを行います。

##1. 現行FreeNASサーバの設定ファイルのバックアップ

現行のサーバにWebUIからアクセスを行い、現在の設定のバックアップを行う。

「システム」、「基本設定」をクリックし、「設定のダウンロード」をクリック。
この時に「freenas～.db」というファイルがダウンロードされるので保存する。
![Backup_01.png](https://qiita-image-store.s3.amazonaws.com/0/340824/4a2f8ab5-8cac-c9d8-5f51-b4cea15da0ed.png)

##2. OSを取得

サーバ構築時にOSデータがあるのであればこの章は不要。

FreeNASの公式からOSを取得。
https://www.freenas.org/download/

上記のサイトの下部からダウンロードページへ移動できるのでクリック。
![download01.png](https://qiita-image-store.s3.amazonaws.com/0/340824/1ebea36f-e554-551f-f084-6a6a71ea985e.png)

どちらでもよいが今回はFreeNAS 11.2の方をダウンロード。
![download02.png](https://qiita-image-store.s3.amazonaws.com/0/340824/eca26539-3da2-df15-4a5f-40df3290a4d1.png)

##3. 本体の各種セッティング

ホスト端末にVirtualBoxがインストールされていることを確認し、USBメモリを取り付ける。

# インストール&初期設定

インストール前に新規で仮想マシンを構築する。
タイプは「BSD」、バージョンは「FreeBSD（32 or 64bit）」を設定する。
![VirtualBox_01.png](https://qiita-image-store.s3.amazonaws.com/0/340824/f64e0248-0947-748a-308c-858582b9bb3f.png)

起動時に先程ダウンロードしたisoを選択する。
![VirtualBox_02.png](https://qiita-image-store.s3.amazonaws.com/0/340824/82d70e06-c74d-9560-c2d9-e46332423b08.png)

##1. OSのインストール(ver9.3)

起動後、下記画面が表示されたらEnterキーを押下。
![Install_01.png](https://qiita-image-store.s3.amazonaws.com/0/340824/31c98e3f-f291-eeaa-5d00-de82175817b7.png)

↑↓キーを押して「1 Install/Upgrade」を選択後、Enterキーを押下。
![Install_02.png](https://qiita-image-store.s3.amazonaws.com/0/340824/1368cb3d-da86-2fbe-b296-76b2e2c19546.png)

↑↓キーを押してインストールを行うストレージを選択してSpaceキーを押下。
※黒背景メッセージは間違えてUSBを取り外してしまったせいで表示されているので本来は表示されません
![Install_03.png](https://qiita-image-store.s3.amazonaws.com/0/340824/3f795d1e-b91b-5f6a-2329-a19546c0a1ea.png)

Spaceキーを押した後にインストール対象のストレージの横に「＊」が表示されていることを確認し、Enterキーを押下。
![Install_04.png](https://qiita-image-store.s3.amazonaws.com/0/340824/2f199607-969d-7f0f-06bc-8df4a908a4ac.png)

警告が表示されるが「YES」を選択してEnterキーを押下。
![Install_05.png](https://qiita-image-store.s3.amazonaws.com/0/340824/5032aa86-c1dc-79ba-bfac-29d1f86f027e.png)

管理用パスワードを2回入力してEnterキーを押下。
![Install_06.png](https://qiita-image-store.s3.amazonaws.com/0/340824/ec9e9f82-4758-37cc-109e-c96b855100de.png)

インストールが行われるので数分待つ。
![Install_07.png](https://qiita-image-store.s3.amazonaws.com/0/340824/493a6cda-b227-8c6c-3a36-e9115c9ce613.png)

正常にインストールが終了したことを確認してEnterキーを押下。
![Install_08.png](https://qiita-image-store.s3.amazonaws.com/0/340824/587e690b-68a9-16d0-5923-242278f3a8a1.png)

CDを取り出した後、↑↓キーを押して「3 Reboot System」を選択しEnterキーを押下してシステムを再起動する。
![WS000024.png](https://qiita-image-store.s3.amazonaws.com/0/340824/a6a40ee0-21f8-ccfe-ade2-9bdca107a3d9.png)

**2. USBメモリから仮想マシンを起動できるようにする**
今回検証用にVirtualBoxの仮想マシンでUSBを起動ディスクとする場合、追加設定が必要になります。

仮想マシンをシャットダウンし、VirtualBoxを一度終了させる。
「コンピュータの管理」を起動後、「ディスクの管理」をクリックして先程インストールを行ったUSBメモリのドライブ番号を確認。
![USBboot_01.png](https://qiita-image-store.s3.amazonaws.com/0/340824/d2949805-400e-06b9-fb47-c55127d8d145.png)

コマンドプロンプトを__管理者__で起動し、下記コマンドを実行。
管理者で起動しない場合、USBドライブにアクセス権限エラーで失敗するので注意。

```
"【VirtualBoxインストール先】Oracle\VirtualBox\VBoxManage" internalcommands createrawvmdk -filename "【仮想ディスクファイル作成先】\usb.vmdk" -rawdisk \\.\PhysicalDrive2
```

VirtualBoxに戻り、USB起動を行いたい仮想マシンの設定から「ストレージ」を選択し、「ストレージデバイス」上部の2つのアイコンの右側をクリック。（左は光学ドライブ追加）
![USBboot_02.png](https://qiita-image-store.s3.amazonaws.com/0/340824/0ba19e26-49e3-e048-e3fe-75dc1baca2d6.png)

「既存のディスクを選択」をクリック。
![USBboot_03.png](https://qiita-image-store.s3.amazonaws.com/0/340824/a52bba91-0b26-4fee-b2eb-f697673c7c00.png)

「追加」ボタンをクリック後、先ほど作成したusb.vmdkを選択。「Not Attached」に表示されていることを確認して「Choose」をクリック。
この時もVirtualBoxを管理者で起動していない場合はusb.vmdkに対してアクセス権限エラーで失敗するので注意。
![USBboot_04.png](https://qiita-image-store.s3.amazonaws.com/0/340824/740008e5-18ae-6c29-5099-c691cd4f4c76.png)

ストレージデバイスにusb.vmdkが表示されていることを確認したら、ハードディスクの属性を「IDE プライマリマスター」に変更する。
初期設定では始めに作成した仮想ストレージがマスターになっているので一度そちらの属性を変更後、usb.vmdkの属性を変更する。
![USBboot_05.png](https://qiita-image-store.s3.amazonaws.com/0/340824/2c0460bf-ae90-c71f-0589-518562add0c9.png)


**3. VirtualBox仮想マシンのFreeNASにホストOSから接続を行う**
仮想マシンにインストールした場合、そのままではホストOSから接続を行うことができません。
VirtualBoxの設定を変更してホストOS-ゲストOSの接続を行えるようにします。
接続をできるようにする方法はいくつかあるのですが、今回はブリッジアダプターによる設定を行います。

仮想マシンを終了して設定を起動し、「ネットワーク」をクリックする。
割り当ての「NAT」となっている箇所を「ブリッジアダプター」に変更する。
![other_01.png](https://qiita-image-store.s3.amazonaws.com/0/340824/9e571815-f69d-35aa-8d52-5048e7d9da44.png)

##4.初期設定（WebUI接続まで）
再起動後しばらく放置すると、初回のみ設定ファイルをインストール後に下の画面が表示される。
2回目以降は自動的に既に構築されている設定ファイルを読み込むように起動する。

赤枠の部分のURLをブラウザに入力することによりWebUIへの接続が可能。
2.1～2.3は固定IPアドレスにする場合のみ必須。DHCPの場合は2.4のみ確認。
![setting_01.png](https://qiita-image-store.s3.amazonaws.com/0/340824/e7a9d9d7-7e44-ea09-859a-64605d921b8d.png)

**1. IPアドレスの設定**
1を入力後、IPアドレスの設定を行う。IPアドレス入力時に`192.168.XXX.XXX/24`と入力することによりサブネットマスクも同時に設定が可能。
![setting_02.png](https://qiita-image-store.s3.amazonaws.com/0/340824/6ec32c43-5f6c-9509-6249-849ab2ec22ba.png)

**2. デフォルトゲートウェイの設定**
4を入力後、IPアドレスの設定を行う。
![setting_03.png](https://qiita-image-store.s3.amazonaws.com/0/340824/c19ceaf0-2f09-eed3-8904-9751b85c57db.png)

**3. DNSの設定**
4を入力後、DNCの設定を行う。
![setting_04.png](https://qiita-image-store.s3.amazonaws.com/0/340824/56f90e02-95fa-bf99-69ed-a5efc5a74bd1.png)

**4. WebUIの接続確認**
FreeNASへ接続できる端末からブラウザを起動し、FreeNAS起動時に表示されていたURLを入力する。
ログイン画面が表示されたらUsernameには`root`を、Passwordには「1.インストール」時に設定したrootパスワードを入力する。
![setting_05.png](https://qiita-image-store.s3.amazonaws.com/0/340824/492046af-36ea-5e5f-9b0e-e490039081b4.png)

ログインが正常に行えることを確認する。
![setting_06.png](https://qiita-image-store.s3.amazonaws.com/0/340824/9418a2a1-a6b3-fc30-a133-bcd571d398e7.png)

##3.元の設定ファイルの適用

起動時に初期設定用のウィザードが表示されるが「Exit」を押して終了する。
その後、「System」、「General」をクリックして「Upload Config」をクリックして復元させたい設定ファイルを選択する。
![import_01.png](https://qiita-image-store.s3.amazonaws.com/0/340824/d7431695-5bb2-6a59-3f2b-2830eefafce2.png)

システムがリブートされるので、リブートが完了したらシステムをシャットダウンする。
※設定変更により、WebUIからシャットダウンできない場合はVMからシャットダウンする
正常に終了できたらホスト端末からUSBメモリを取り外し、FreeNASサーバのUSBメモリと交換する。

##4. 接続確認

FreeNASサーバを起動し、WebUIへの接続ができるかを確認する。
Windows(CIFS)等を設定している場合は接続して中身のファイルが消えていないかどうかを確認する。

# 総括

USBメモリにOSを入れておくといざという時の交換が非常に楽だということを実感しました。

# 参考

この記事を書くにあたって、以下のサイトを参考にさせて頂きました。

[FreeNASのインストール方法と困った時に役に立つこと](https://marimosan.com/freenas-install/)
[VirtualBoxの仮想マシンでUSBメモリから起動する方法](https://p--q.blogspot.com/2015/11/virtualboxusb1.html)
[物理ディスクやUSBメモリをVirtualBoxの仮想マシンとして起動する](http://takuya-1st.hatenablog.jp/entry/2016/10/28/011306)
[FreeNASが壊れた！USBメモリ交換で復帰](http://sometimememo.php.xdomain.jp/blog/freenas-broken/)