なぜiSCSIは共有ストレージにおいて最も経済的な選択肢なのか?
VMwareクラスタを運用している際、各ノードでローカルストレージのみを使用していると、システムの真価を半分も発揮できていません。共有ストレージ(Shared Storage)がなければ、vMotion(ダウンタイムなしのVM移動)やHigh Availability(ホスト障害時の自動復旧)、DRSといった「価値ある」機能が全く活用できないからです。
SME(中小企業)向けのプロジェクトやインフラコストの最適化が必要な場合、私は常にiSCSIを優先的に選択します。高価な8Gbps/16Gbpsのファイバーチャネル(FC)システムや専用スイッチに投資する代わりに、iSCSIは既存のイーサネットインフラをそのまま活用できます。10Gbps環境で適切に構成すれば、iSCSIが提供するパフォーマンスはハイエンドなストレージソリューションにも引けを取りません。
理解しておくべき3つの核心的な概念
設定を始める前に、トラブルシューティングで迷わないよう、以下の3つのコンポーネントを正しく理解しておく必要があります。
- iSCSIイニシエータ(Initiator): ESXiホストそのものです。ストレージに対してデータアクセス要求を送信する側の役割を担います。
- iSCSIターゲット(Target): ストレージデバイス(例:Synology RackStation、Dell PowerVault、TrueNASなど)です。データストアとしてマウントするLUNが格納されている場所です。
- IQN (iSCSI Qualified Name): デバイス固有の識別子です。標準的なIQNは
iqn.1998-01.com.vmware:esxi-01-72a3b4のような形式になります。
ちょっとしたヒント:各ホストのIQNリストをメモ帳などにコピーしておきましょう。これにより、ストレージ管理画面でのLUNアクセス権限設定(LUNマスキング)が迅速かつ正確に行え、クラスタ内のホストの取り違えを防ぐことができます。
本番環境レベルのiSCSI接続 5つのステップ
以下は、システムの高い安定性を確保するために私が通常行っている手順です。
ステップ1:ネットワークインフラの設定(VMkernel Networking)
最もよくある間違いは、iSCSIトラフィックを管理用ネットワークと共有してしまうことです。帯域幅の確保とセキュリティのため、iSCSIは専用のVLAN(例:VLAN 100)に分離してください。
- vSphere Clientにアクセスし、ホストを選択 -> 設定(Configure) -> ネットワーク(Networking) -> VMkernelアダプタ を選択します。
- ネットワークの追加(Add Networking) をクリックし、VMkernelネットワークアダプタ を選択します。
- 新しいvSwitchを作成するか既存のものを使用し、ストレージ専用の物理ネットワークカード(vmnic)を割り当てます。
- 静的IPを割り当てます。このIPセグメントがストレージのIP(例:10.10.10.x 同一セグメント)と通信できることを確認してください。
パフォーマンスに関する注意点: スイッチがサポートしている場合は、MTUを9000(ジャンボフレーム)に設定してください。経験上、これにより大容量データの転送時にホストのCPU負荷を約10〜15%軽減できます。
ステップ2:iSCSIソフトウェアアダプタの有効化
デフォルトではESXiはこの機能が有効になっていません。仮想ハードウェア管理セクションで手動で有効化する必要があります。
- 設定(Configure) タブ -> ストレージ(Storage) -> ストレージアダプタ(Storage Adapters) に移動します。
- ストレージアダプタの追加 をクリック -> ソフトウェアiSCSIアダプタの追加 を選択します。
- 数秒後、リストに新しいアダプタ(通常は
vmhba64)が表示されます。
CLIを使用したい場合は、SSH経由で以下のコマンドを実行するだけです:
# アダプタを有効化
esxcli iscsi software set --enabled=true
# リストを再確認
esxcli iscsi adapter list
ステップ3:ネットワークポートバインディングの設定
これはマルチパス(多重経路)を有効にするための重要なステップです。ポートバインディングにより、iSCSIアダプタはどのVMkernelを使用してトラフィックを送出すべきかを正確に特定できます。
- 前のステップ for 作成したアダプタ
vmhba64を選択します。 - 下部にある ネットワークポートバインディング(Network Port Binding) セクションを見つけ、追加(Add) をクリックします。
- ステップ1で作成したiSCSI専用のVMkernelアダプタを正しく選択します。
ステップ4:ターゲットの登録と再スキャン
次に、ESXiがストレージ上のディスクを見つけられるように「ガイド」します。
- アダプタ設定内で、動的検出(Dynamic Discovery) タブを選択します。
- 追加(Add) をクリックし、ストレージサーバ(ポータル)のIPを入力します。
- システムから 再スキャン(Rescan) を求められます。確定して、ESXiにマッピングされているLUNをスキャン・認識させます。
デバイス(Devices) タブを確認し、新しいディスクが正しい容量で「接続済み(Connected)」と表示されていれば、90%成功です。
ステップ5:クラスタ用共有データストアの作成
最後のステップは、仮想マシンがデータを保存できるようにディスクをフォーマットすることです:
- ホストを右クリック -> ストレージ(Storage) -> 新しいデータストア(New Datastore) を選択します。
- VMFS 6 形式を選択します(ESXi 6.7および7.0以降のバージョンに最適です)。
- 識別しやすい名前を付けます。例:
SAN_DATA_PRODUCTION_01 - デフォルトのパラメータを確認し、完了(Finish)をクリックします。
クラスタ内の2台目のホストを構成する際は、ステップ4まで実行するだけで十分です。その後、ストレージの再スキャン を実行すれば、作成済みのデータストアが再フォーマットなしで自動的に表示されます。
最適化:マルチパスとセキュリティ
システムをスムーズに運用するために、以下の2つの設定を検討してください。
- マルチパス(Multipathing): 少なくとも2枚の物理ネットワークカードを使用します。ネイティブマルチパスのポリシーを ラウンドロビン(Round Robin) に変更してください。ちょっとしたテクニック:IOPS制限の値を1000から1に変更することで、各パスでデータを継続的に切り替え、帯域幅を最大限に活用できます。
- CHAP認証: 共有ネットワーク環境では、ターゲットへの接続時にパスワードを要求するCHAPを有効にし、不明なデバイスから機密データが見えないようにしましょう。
おわりに
iSCSI共有ストレージの設定はそれほど複雑ではありませんが、ネットワーク構成における細心の注意が必要です。ポートバインディングのステップで小さなミスがあるだけで、システムパフォーマンスが著しく低下したり、回線障害時に接続が切断されたりすることがあります。安定した共有データストアが構築できれば、HAやvMotionの展開は非常に簡単になります。ぜひ、構築を成功させてください!

