ブロックストレージ(iSCSI)の利用手順(ESXi)
対象リージョン:東日本第3/西日本第3
ベアメタルサーバ(ESXi)でブロックストレージ(iSCSI)を利用するために必要な手順について説明します。
始める前に
ベアメタルサーバ(ESXi)とブロックストレージ(iSCSI)の接続構成は、以下の図のとおりです。
ESXiサーバは、(Active/Stanby構成)で接続されるRHEL/CentOSサーバとは異なり、 iSCSI Port Bindingを使用し、外部ストレージと冗長経路(Active/Active構成)で接続します。
最初にOS側の準備をします。WebGUI「vmware ESXi」を使用する方法で説明します。
例として、vmware ESXi 6.5の設定手順を説明します。
OSの種類やバージョンによって、ブロックストレージ(iSCSI)の利用手順が異なる場合があります。
ブロックストレージ(iSCSI)の利用手順については、お客様が契約しているOSのサポートに問い合わせてください。
- iSCSI用仮想ネットワークの設定
- 左ペイン「ナビゲーター」の 「ネットワーク」⇒「仮想スイッチ」タブ⇒「標準仮想スイッチの追加」タブを選択し、表示された画面で以下を入力して「追加」をクリックします。
表 1. 仮想スイッチの追加―アップリンクの追加 パラメタ 入力内容 例 vSwitch名 任意の名前 vSwitch1 アップリンク1 vmnicのプルダウンから選択 vmnic3 アップリンク2 vmnicのプルダウンから選択 vmnic4 - 「ネットワーク」⇒ 「ポートグループ」タブ⇒「ポートグループを追加します」タブを選択し、表示された画面で以下を入力して「追加」をクリックします。
表 2. ポートグループの追加 パラメタ 入力内容 例 名前 ポートグループの名前(任意) iSCSI PortGrp 01 仮想スイッチ 作成済みの仮想スイッチの名前 vSwitch1 ヒント: 同じ要領で、ポートグループ1を追加した仮想スイッチ(例:vSwitch1)に、ポートグループ2(例:iSCSI PortGrp 02)を追加します。 - 「ネットワーク」⇒ 「Vmkernel NIC」タブ⇒「Vmkernel NICの追加」タブを選択し、表示された画面で以下を入力して「作成」をクリックします。
表 3. Vmkernel NICの追加 パラメタ 入力内容 例 ポートグループ 作成済みのポートグループの名前(任意) iSCSI PortGrp 01 IPv4設定 構成 「スタティック」を選択 アドレス 任意のIPアドレス 192.168.1.100 サブネットマスク サブネットマスクアドレス 255.255.248.0 ヒント: 同じ要領で、ポートグループ2(例:iSCSI PortGrp 02)にもそれぞれIPアドレス(例:192.168.1.101)を設定します。なお、パラメタの"構成"、および"サブネットマスク"に指定する値は、ポートグループ1と同じ、かつ固定です。 - 「ネットワーク」⇒ 「ポートグループ」タブ⇒「例:iSCSI PortGrp 01」タブ⇒「設定の編集」を選択し、ポートグループ1に対して物理NIC(例:vmnic3)を設定します。表示された画面で以下を入力して「保存」をクリックします。
表 4. ポートグループの編集 パラメタ 入力内容 例 NICチーミング フェイルオーバー順序のオーバーライド 「はい」を選択 フェイルオーバー順序 操作対象のvmnic、および操作を選択 操作対象:vmnic4
操作:未使用としてマーク
ヒント: 同じ要領で、「ネットワーク」⇒ 「ポートグループ」タブ⇒「例:iSCSI PortGrp 02」タブ⇒「設定の編集」を選択し、ポートグループ2に対して物理NIC(vmnic4)を設定します。 なお、パラメタの"フェイルオーバー順序のオーバーライド"、および"フェイルオーバー順序"の操作に指定する値は、ポートグループ1と同じ、かつ固定です。
- 左ペイン「ナビゲーター」の 「ネットワーク」⇒「仮想スイッチ」タブ⇒「標準仮想スイッチの追加」タブを選択し、表示された画面で以下を入力して「追加」をクリックします。
- ソフトウェアiSCSIアダプタの設定(有効化とiSCSIイニシエータ名の確認)
ソフトウェアiSCSIアダプタを有効化して、iSCSIイニシエータ名(IQN)を確認します。
左ペイン「ナビゲーター」の 「ストレージ」⇒「アダプタ」タブ⇒「Software iSCSI」タブを選択し、表示された画面で以下を入力します。
表 5. iSCSIの設定 パラメタ 入力内容 例 iSCSIが有効です 「無効」から「有効」に変更 名前とエイリアス iSCSIイニシエータ名(IQN) iqn.1998-01.com.vmware:esxi-test-0afcab3a ヒント: パラメタの"iSCSIが有効です"の入力において、「有効」を選択すると、"名前とエイリアス"に「 iSCSIイニシエータ名(IQN)」が表示されます。その値を確認してください。
このタスクについて
次に、ESXiサーバーで実施するブロックストレージ(iSCSI)の接続手順を説明します。各リソースに設定する値は、使用しているシステムに合わせてください。
手順
次のタスク
再びOS側の設定をします。WebGUI「vmware ESXi」を使用する方法で説明します。
- ソフトウェアiSCSIアダプタの設定(ポートバインドとターゲットの設定)
左ペイン「ナビゲーター」の 「ストレージ」⇒「アダプタ」タブ⇒「Software iSCSI」タブを選択し、表示された画面で以下を入力して「設定の保存」をクリックします。
表 6. iSCSIの設定 パラメタ 入力内容 例 ネットワークポートのバインド 「ポートバインドの追加」をクリック 「vmk1」、および「vmk2」を選択 固定ターゲット 作成したブロックストレージ(iSCSI)のIPアドレス(プライマリ と セカンダリ) 表 6. 固定ターゲットの追加 ターゲット アドレス ポート 作成したブロックストレージ(iSCSI)のIQN IPアドレス(プライマリ) 3260 作成したブロックストレージ(iSCSI)のIQN IPアドレス(セカンダリ) 3260 - マルチパスの設定
- マルチパスが作成されたことを確認します。
# esxcli storage nmp path list iqn.1998-01.com.vmware:esxi-test-0afcab3a-00023d000001,iqn.1992-08.com.netapp:sn.97204fb8e6f81e8ab4f00a098b31690:vs.1641,t,1027-naa.600a09803838043504d3f4d5130382f6f Runtime Name: vmhba64:C0:T0:L0 Device: naa.600a09803838043504d3f4d5130382f6f Device Display Name: NETAPP iSCSI Disk (naa.600a09803838043504d3f4d5130382f6f) Group State: active unoptimized Array Priority: 0 Storage Array Type Path Config: {TPG_id=1000,TPG_state=ANO,RTP_id=1,RTP_health=UP} Path Selection Policy Path Config: PSP VMW_PSP_RR does not support path configuration. ~略~ iqn.1998-01.com.vmware:esxi-test-0afcab3a-00023d000002,iqn.1992-08.com.netapp:sn.97204fb8e6f81e8ab4f00a098b31690:vs.1641,t,1028-naa.600a09803838043504d3f4d5130382f6f Runtime Name: vmhba64:C1:T0:L0 Device: naa.6003005702920b1021f2160a1e1fccd4 Device Display Name: Local FTS Disk (naa.6003005702920b1021f2160a1e1fccd4) Group State: active Array Priority: 0 Storage Array Type Path Config: {TPG_id=1001,TPG_state=AO,RTP_id=2,RTP_health=UP} Path Selection Policy Path Config: PSP VMW_PSP_RR does not support path configuration.
- マルチパスのパス選択ポリシーおよび I/O の中断を回避します。
1)マルチパスのパス選択ポリシーの設定
# esxcli storage nmp device set --device naa.600a0980383043504d3f4d5130382f6f --psp VMW_PSP_RR
2)マルチパスのパス選択ポリシーの設定確認
# esxcli storge nmp device list --device naa.600a0980383043504d3f4d5130382f6f naa.600a0980383043504d3f4d5130382f6f Device Display Name: NETAPP ISCSI Disk (naa.600a0980383043504d3f4d5130382f6f) Storage Array Type: NMW_SATP_ALUA Storage Array Type Device Config: {inplicit_support=on; explicit_support=off; explicit_allow=on; alua_followover=on; action_OnRetryErrors=off; {TPG_id=1001,TPG_state=AO}{TPG_id=1000,TPG_state=ANO}} Path Selection Policy: VMW_PSP_RR Path Selection Policy Device Config: {policy=rr,iops=1000,bytes=10485760,useANO=0; lastPathIndex=1: NumIOsPending=0,numBytesPrnding=0} Path Selection Policy Device Custom Config: Working Paths: vmhba64:C1:T0:L0 Is USB: false
3)I/O の中断を回避するための設定
# esxcli storage core device set --device naa.600a0980383043504d3f4d5130382f6f --queue-full-sample-size 32 --queue-full-threshold 8
4)I/O の中断を回避するための設定確認
# esxcli storage core device list --device naa.600a0980383043504d3f4d5130382f6f naa.600a0980383043504d3f4d5130382f6f ~省略~ Queue Full Sample Size: 32 Queue Full Threshold: 8 ~省略~
- マルチパスが作成されたことを確認します。
- VMFSストレージパフォーマンス設定
- VMFS ストレージパフォーマンスを高速化します。
1)VMFS3.HardwareAcceleratedLocking の値を 1 に設定
# esxcli system settings advanced set --int_value 1 --option /VMFS3/HardwareAcceleratedLocking
2)設定値の確認
# esxcli system settings advanced list --option /VMFS3/HardwareAcceleratedLocking
- 下記を防ぐために、領域解放に使用する UNMAP コマンドを無効にします。
-
Storage vMotion または仮想マシンのスナップショット作成中のシステムパフォーマンス低下
-
Storage vMotion または仮想マシンのスナップショット作成失敗、またはタイムアウト
1)VMFS3.enableBlockDelete の値を 0 に設定
# esxcli system settings advanced set --int-value 0 --option /VMFS3/EnableBlockDelete
2)設定値の確認
# esxcli system settings advanced list --option /VMFS3/EnableBlockDelete Path: /VMFS3/EnableBlockDelete Type: integer Int Value: 0 Default Int Value: 1 Min Value: 0 Max Value: 1 String Value: Default String Value: Valid Characters: Description: Enable VMFS block delete
-
- VMFS ストレージパフォーマンスを高速化します。
- ゲストOSごとのタイムアウト設定
以下のコマンドを実行して、ゲスト OS のディスクタイムアウト値を設定します。
- RHEL 7.x のディスクタイムアウト値設定
以下のコマンドを実行して、ディスクタイムアウト値を60秒に設定します。
# ACTION=="add", SUNSYSTEMS=="scsi", ATTRS{VENDOR}=="VMware ",RUN+="/bin/sh -c 'echo 60 >/sys$$DEVPATH/timeout'" # ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{VENDOR}=="NETAPP ",ATTRS{MODEL}=="LUN ",RUN+="/bin/sh/ -c 'echo 60>/sys$$DEVPATH/timeout' # ACTION=="add", SUBSYSTEMS=="scsi", ATTRS{VENDOR}=="NETAPP ",ATTRS{MODEL}=="LUN C-Mode ",RUN+="/bin/sh -c 'echo 60 >/sys$$DEVPATH/timeout'
- Windowsのディスクタイムアウト値設定
regeditコマンドを実行して、ディスクタイムアウト値を60秒に設定します。以下のレジストリキーを60(x03c) に設定します。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Disk\TimeOutValue
- RHEL 7.x のディスクタイムアウト値設定
- ブロックストレージ(iSCSI)のマウント
任意のマウントポイントに、作成したブロックストレージ(iSCSI)のボリュームをマウントして利用します。