ストレージ

iSCSI あいすかじー

SANストレージエリアネットワークSCSIIPネットワークブロックストレージNAS
iSCSIについて教えて

簡単に言うとこんな感じ!

パソコンの中にあるHDDを遠くのサーバーに「ネットワーク越し」でつなぐ技術だよ!普通のLANケーブルを使って、まるで内蔵ディスクのようにストレージを使えるようにするしくみなんだ。専用ケーブルが不要で安上がりなのが人気の理由ってこと!


iSCSIとは

iSCSI(Internet Small Computer System Interface) は、ストレージ機器と通信するための命令セット「SCSI(スカジー)」を、インターネットでも使われる一般的なTCP/IPネットワーク上でやり取りできるようにしたプロトコルです。2003年にIETFによって標準化されました。

従来、企業がサーバーと大容量ストレージを高速につなぐには「SAN(Storage Area Network)」という専用ネットワークが必要で、「ファイバーチャネル」と呼ばれる高価な専用機器とケーブルが欠かせませんでした。iSCSIはそれを、会社内にすでに張り巡らされている普通のLANインフラ(Ethernet)の上で実現できるようにしたため、ストレージ基盤のコストを大幅に下げる手段として急速に普及しました。

iSCSIで接続されたストレージは、OSからは「直接つながったディスク」として認識されます。ファイルサーバー経由で共有する「NAS(ナス)」とは異なり、ブロック単位でデータを読み書きする「ブロックストレージ」として機能するため、データベース仮想マシンのディスクとして使うのに適しています。


iSCSIのしくみと構造

iSCSIは「命令を出す側(イニシエーター)」と「命令を受ける側(ターゲット)」の2者で通信します。

役割名称具体例
命令を送る側イニシエーター(Initiator)サーバー・PC(OSのドライバやHBAカード)
命令を受ける側ターゲット(Target)外付けストレージ装置・NAS機器

通信の流れ

[サーバー(イニシエーター)]
        |
        |  SCSIコマンドをTCP/IPでカプセル化
        |
  ===[ LAN / IP ネットワーク ]===
        |
        |  パケットを展開してSCSIコマンドを実行
        |
[ストレージ(ターゲット)]

iSCSIアドレスの覚え方

iSCSIでは機器を「IQN(iSCSI Qualified Name)」という名前で識別します。

iqn.2003-01.com.example:storage-01
 ↑      ↑         ↑           ↑
形式  年月     組織ドメイン    任意の識別子

「IQN = iSCSI機器のマイナンバー」と覚えると忘れにくいです!


歴史と背景

  • 1980年代 — SCSI規格が登場。サーバーと周辺機器をつなぐ標準的なインターフェースとして普及
  • 1990年代後半 — 企業のデータ量が爆増。高速・大容量なSANが求められ始めるが、ファイバーチャネルSANは非常に高価
  • 2000年 — IBMとCiscoがiSCSIの仕様を共同提案。「安価なIPネットワークでSANを実現できないか」というニーズに応える形で開発
  • 2003年 — IETF RFC 3720 として正式標準化。ストレージベンダー各社が対応製品を投入開始
  • 2000年代中盤〜後半 — 1Gbpsイーサネットの普及とともにiSCSIが中小企業向けストレージの主流に
  • 2010年代 — 10Gbps・25Gbpsイーサネットへのアップグレードでファイバーチャネルに匹敵する速度を実現。クラウド・仮想化環境でも広く活用される

iSCSI vs 他のストレージ接続方式

ストレージの接続方式にはいくつかの選択肢があります。発注・選定の際に比較されることが多い3方式を整理します。

項目iSCSIファイバーチャネルSANNAS(SMB/NFS)
使うネットワーク通常のIP/Ethernet専用FCネットワーク通常のIP/Ethernet
コスト低〜中高い低い
速度中〜高(1〜100Gbps)高(4〜128Gbps)
データ形式ブロックブロックファイル
向いている用途DB・仮想マシン大規模基幹システムファイル共有
専用スキルやや必要高度に必要ほぼ不要
iSCSI と他ストレージ方式の位置づけ iSCSI IP/Ethernet SCSIコマンド TCP/IPでカプセル化 Ethernetで転送 コスト:低〜中 形式:ブロック 用途:DB・仮想化 FC-SAN ファイバーチャネル SCSIコマンド FCPでカプセル化 専用FCで転送 コスト:高い 形式:ブロック 用途:大規模基幹 NAS IP/Ethernet ファイル要求 SMB/NFSで転送 Ethernetで転送 コスト:低い 形式:ファイル 用途:ファイル共有

iSCSIを選ぶべきシチュエーション

  • 仮想化基盤(VMware・Hyper-V)のストレージをまとめて管理したい
  • 既存のLANインフラを活かしてコストを抑えたい
  • データベースサーバーの高速ディスクを集約したい
  • ファイバーチャネルSANの予算はないが、NASよりも高いパフォーマンスが必要

関連する規格・RFC

規格・RFC番号内容
RFC 3720iSCSIプロトコルの基本仕様(2004年策定)
RFC 3721iSCSIの命名規則とディスカバリに関する仕様
RFC 3723iSCSIのセキュリティ要件(IPsec・CHAPなど)
RFC 7143iSCSIプロトコルの改訂版(RFC 3720を廃止・更新)
RFC 3347iSCSIにおけるSCSIモデルの定義

関連用語

  • SAN — ストレージ専用ネットワーク。iSCSIはSANを安価に実現する手段のひとつ
  • NAS — ファイル共有型のネットワークストレージ。iSCSIとよく比較される
  • SCSI — iSCSIの元となった、ストレージと通信するためのコマンド規格
  • ファイバーチャネル — iSCSI登場以前のSANで使われていた高速専用インターフェース
  • TCP/IP — iSCSIがSCSIコマンドを乗せて転送するネットワーク基盤プロトコル
  • ブロックストレージ — iSCSIが提供するストレージの形式。OSからはローカルディスクに見える
  • CHAP認証 — iSCSIのイニシエーター・ターゲット間で使われる認証方式
  • 仮想化 — iSCSIが多用される場面。VMのディスクをiSCSIストレージにまとめて管理する