WindowsServer2012R2からFreeNAS(9.3)へiSCSIでMPIOする手順

#概要
WindowsServer2012R2(Standard)からFreeNAS(9.3)で作成したiSCSIターゲットに接続するための手順。
なお、接続はマルチパスI/O(MPIO)にて負荷分散と経路冗長を行います。

#システム構成
検証環境として次の2サーバを用意しました。
##FreeNAS
- iSCSI用に2ポート、管理用に1ポート使用

##WindowsServer2012R2 Standard
- iSCSI用に2ポート、管理用に1ポート使用

![Untitled.png](https://qiita-image-store.s3.amazonaws.com/0/63424/bf2c0474-37a5-745b-cf5d-470ca8be5463.png)

#FreeNAS側設定
##事前準備
###ネットワーク
iSCSI用インタフェースにはそれぞれ別セグメントを設定し、WindowsServer側と直結させる。
![1.png](https://qiita-image-store.s3.amazonaws.com/0/63424/8e9abc31-13c7-1581-112e-72fc06d51f04.png)

今回使うインタフェースは「em0(iSCSI-1A)」と「em2(iSCSI-2B)」です。
残りのインタフェースは別環境と管理に使用しています。

###割当ボリューム
通常手順で作成します。
今回はhv-vmsの名前でzvolを作成しました。
![2.png](https://qiita-image-store.s3.amazonaws.com/0/63424/d65ec597-ccec-7be2-e755-98841dc61909.png)


##iSCSI設定

###ポータルグループ
まずはiSCSIポータルを作成します。

**ポータルグループ1**
- 待受ポート 「192.168.1.1:3236」
- コメント 「Portal_iSCSIA」
**ポータルグループ2**
- 待受ポート 「192.168.2.1:3236」
- コメント 「Portal_iSCSIB」

![3.png](https://qiita-image-store.s3.amazonaws.com/0/63424/23de6402-955a-25d1-0c9a-059922986a4f.png)
***
上図では別サーバ用の「192.168.3.1:3236」「192.168.4.1:3236」も追加しています。 

###イニシエータ
次にiSCSIイニシエータを定義します。
接続元として、WS2012R2側IPアドレスを指定しておきます。

**グループID1**
- イニシエータ 「ALL」
- 認証されたネットワーク 「192.168.1.2/32」
- コメント 「iSCSI-A」
**グループID2**
- イニシエータ 「ALL」
- 認証されたネットワーク 「192.168.2.2/32」
- コメント 「iSCSI-B」

![4.png](https://qiita-image-store.s3.amazonaws.com/0/63424/3f85904a-9ad7-afa6-536b-cc012fea6f50.png)
***
上図では別サーバ用の「192.168.3.2/32」「192.168.4.2/32」も追加しています。 

###ターゲット
次にターゲットを設定します
**tgt-iscsi-a**
- ポータルグループID 「1(Portal_iSCSIA)」
- イニシエータグループID 「1(iSCSI-A)」
**tgt-iscsi-b**
- ポータルグループID 「2(Portal_iSCSIB)」
- イニシエータグループID 「2(iSCSI-B)」

![5.png](https://qiita-image-store.s3.amazonaws.com/0/63424/5b581810-f271-eeab-dceb-13578141fcdd.png)
![6.png](https://qiita-image-store.s3.amazonaws.com/0/63424/fbefde0b-7f11-931a-1f87-cb60ee388727.png)
![7.png](https://qiita-image-store.s3.amazonaws.com/0/63424/7e4ca48c-fb5f-9033-7d8f-26c53847714c.png)


###エクステント
次にエクステントを作成します
エクステント名は「hv_vms」としました。

![8.png](https://qiita-image-store.s3.amazonaws.com/0/63424/2bf2d7e6-8c65-b4ba-675a-2b7cd93f2b97.png)


### 関連付け
最後に定義したターゲットとエクステントを関連付けます
ターゲット「tgt-iscsi-a」「tgt-iscsi-b」にエクステント「hv_vms」を関連付けます

![9.png](https://qiita-image-store.s3.amazonaws.com/0/63424/d9fd4dce-4307-a2a7-5405-42457b8e9f22.png)
 
FreeNAS側設定は以上です :satisfied: 

#Windows側設定

##事前準備
まずは必要な機能の追加と設定を行います。
###機能の追加
サーバマネージャから「マルチパスI/O」機能を追加します。
![w1.png](https://qiita-image-store.s3.amazonaws.com/0/63424/308ee7c1-41e6-a062-1130-975f529016b7.png)


###サポートデバイスの追加
1. サーバマネージャから「MPIO」を起動します。
![w2.png](https://qiita-image-store.s3.amazonaws.com/0/63424/d7485eac-d83c-faeb-f3b6-ad2181d10b77.png)

1. 「マルチパスの検出」から「iSCSIディスクのサポートを追加する」を選択し、追加をクリックします。
(後撮りのためグレーアウトしています)
![w3.png](https://qiita-image-store.s3.amazonaws.com/0/63424/f3cde204-a8b3-3489-914a-8690f612ee9e.png)

1. 再起動を要求されるため、再起動を行う。

1. 再起動後、デバイス欄に「MSFT2005iSCSIBusType_0x9」が入っていればOK
![w4.png](https://qiita-image-store.s3.amazonaws.com/0/63424/deea1a69-8b11-bd61-732e-4a3cca93182b.png)


##iSCSI設定
いよいよターゲットへの接続となります。
「iSCSIイニシエータ」を起動してください。

###ターゲットの検索
1. 「ポータルの検索」をクリックし、ポータルを追加します。
![w5.png](https://qiita-image-store.s3.amazonaws.com/0/63424/d7eac853-b90d-e590-03e6-7b0afcb2850a.png)

2. 「検出されたターゲット」欄を確認します。「tgt-iscsi-a」と「tgt-iscsi-b」が表示されているはずです。
![w6.png](https://qiita-image-store.s3.amazonaws.com/0/63424/a915045a-11ed-2b6d-c366-6ffb6d779d81.png)

###ターゲットへの接続
1. 検出されたターゲットを選択し、「接続」をクリックします。
「複数パスを有効にする」にチェックを付け「OK」をクリックします。
![w7.png](https://qiita-image-store.s3.amazonaws.com/0/63424/58133d8a-6a1c-5b7a-58be-6427919fc879.png)

2. 両方のターゲットにそれぞれ接続を行います。「接続完了」になればOKです。
![w8.png](https://qiita-image-store.s3.amazonaws.com/0/63424/fd6be872-7f86-8e4d-ca4a-80ce7bd2c548.png)

###MPIOの状況確認
この時点ですでに負荷分散/パス冗長は行われています。
設定を変更する場合は、「デバイス」ボタンから「MPIO」を選択します。
負荷分散方式や現状のパス状態を確認できますよ。

![w9.png](https://qiita-image-store.s3.amazonaws.com/0/63424/1870afef-4cdd-a0e3-29f7-60f385acb2fb.png)

なお、「デバイス」ボタンではなく、「プロパティ」ボタンからも負荷分散の設定ができそうな画面になりますが、こちらはMCSというMPIOとは異なる方式です。
FreeNAS9.3はMCS方式はサポートしていないため、MCS方式の負荷分散はできません。
（どうも過去バージョンはサポートしていた模様）

***

無事にターゲットに接続出来たら後は通常手順どおり記憶域やCSVの設定をします。
参考までにCSV上の仮想マシンにて実施したベンチマークの結果を示しておきます。

シングルパス(非MPIO)の時のベンチ結果
<img width="418" alt="非MPIO環境" src="https://qiita-image-store.s3.amazonaws.com/0/63424/dd257b4b-5054-c393-c876-88d637e96219.png">

MPIO構成の時のベンチ結果
<img width="418" alt="MPIO環境" src="https://qiita-image-store.s3.amazonaws.com/0/63424/1e04cb8a-edf4-a6c1-e84b-2193686b799d.png">