サーバーインスタンスでiSCSIを使う場合の設定について教えてください。

サーバーインスタンス, ブロックストレージ, 運用

2018年10月23日 (2021年5月26日:更新)

サーバーインスタンスが接続されているロジカルネットワークは故障発生時に約1分程度の断時間(詳細情報 – Support)が想定されます。
サーバーインスタンスからiSCSIを用いてストレージ接続を行う場合、この断時間を想定した設定を行ってください。
ブロックストレージサービスと接続する場合は「チュートリアル  – リソースからブロックストレージボリュームへの接続」を参照してください。
本サービスで提供しているストレージ以外と接続する場合は、ストレージの提供元にお問い合わせください。

以下ではIOが保持されるようにするための設定例について述べます。
アプリケーションまで含めた影響について、システムごとに試験・評価を行ってください。

マルチパスデバイスを用いると、iSCSIターゲットへの接続が切断されたときマルチパスでIOが保持されます。
RHELの場合、すべてのパスがダウンした場合にマルチパスでIOが保持されるようにmultipath.confにおいて該当するデバイスに「features “1 queue_if_no_path”」を指定します。

マルチパスデバイスを利用しない場合は、iSCSIのタイムアウト値を十分に長く設定します。
RHELの場合、iSCSI イニシエーターのタイムアウト値を120秒にします。

設定ファイル:/etc/iscsi/iscsid.conf
項目:node.session.timeo.replacement_timeout
値:120 (デフォルト値:120)

Windowsの場合、ディスクI/Oのタイムアウト値とiSCSI イニシエーターのリクエストタイムアウト値を120秒にします。

キー:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\disk
値の名前:TimeoutValue
設定値:120 (デフォルト値:60)
キー:HKLM\SYSTEM\CurrentControlSet\Control\Class{4D36E97B-E325-11CE-BFC1-08002BE10318}\0000\Parameters (*1)
値の名前:MaxRequestHoldTime
設定値:120 (デフォルト値:60)
(*1) 0000の部分は、Microsoft iSCSI Initiatorのインスタンス番号を指定