墜落日記 - 2009年4月19日の墜落
iSCSI ってどうなのよ?
最近興味のある技術として iSCSI があるので、そのメモ。
まずは技術面。
iSCSI(Internet Small Computer System Interface)とは、ストレージ接続インターフェイスである SCSI プロトコルを TCP/IP 上にカプセル化して転送する技術だ。
iSCSI ターゲットによってストレージをネットワーク上に公開、iSCSI イニシエータが公開されたストレージに TCP/IP を介して接続する。
OS からは DAS(Direct Attached Storage)と同様に利用できるようになる。
近年ではギガビットの転送速度を持つネットワークは一般化したため、Fibre Channel よりも安価に SAN(Storage Area Network)を構築できる技術して注目されている。
従来の Ethernet 資産をそのまま転用することが出来るので、HBA(Host Bus Adapter)だけで数10万とか平気でする Fibre Channel よりも遙かに安価に機材を揃えることが出来るからだ。
しかしプロトコル自体を冗長化して安全性を高めている TCP/IP の上に更にカプセル化して流している、所謂 SCSI over Ethernet と呼べるような技術であるため、可用性と引き替えにオーバヘッドによる転送速度の低下が問題として残っている。
そもそも TCP/IP が中から低速度のネットワークを想定にしている色々と古い技術であるので、この問題は難しい。
一般に iSCSI を実用レベルで利用しようとするなら、少なくとも iSCSI 専用のネットワークを用意する必要があろう。
つまり iSCSI ターゲットが公開され iSCSI イニシエータが接続するネットワークと、その他の様々なプロトコルが飛び交うネットワークを分離するのだ。
その他、様々な CPU 負荷を低減するアクセラレーション技術の併用も重要だろう。
ぶっちゃけた言い方をするなら、安価な蟹を平気で積んでくる安物 NIC で茶を濁すよりも、Intel I/OAT(I/O Acceleration Technology)とか使えるサーバ用 NIC を積極的に使っていくべきだ。
もっとも I/OAT は TOE(TCP/IP Offload Engine)なんかと違って NIC だけの独立した技術ではないので、プラットフォーム全体での対応が必要になるけど。
素直に 10GbE に移行するというのも選択肢だが、まだまだ 1GbE に比較すれば高価な 10GbE だけに、安価に構築できるという iSCSI の利点を妨げる導入障壁となる。
次ぎに運用面。
iSCSI イニシエータの導入は着実に進んでいる。
OS によるサポートは Windows なら 2000、XP、2003 などで追加サポートされているし、Windows Server 2008 は標準で持っているようだ。
Linux カーネルも 2.6.12 から持っている模様。
何より VMware ESXi が対応しているので、iSCSI による SAN をバックエンドにした仮想マシンを作る際に便利である。
しかし面倒なのが iSCSI ターゲットの方か?
いくつかソフトウェアによる仮想化された iSCSI ターゲットがある様だが、Microsoft の Windows Server 2003 用の iSCSI ターゲットである Microsoft iSCSI Software Target は Windows Strage Server 2003 等を展開する OEM ベンダ経由でないと手に入らないようだし、その他は基本的に高額なライセンス製品だったりする。
………ま~ぶっちゃけ試すだけなら Microsoft Server with Embedded Licensing Products Evaluation Registration Site から取得できるけど(汗々)
※90 日間の制限付き
オープンソース iSCSI ターゲット実装である iSCSI Enterprise Target は 2009-04-19 現在で 0.4.17 が最新、まだ運用実績が蓄積されていない様に思う。
BUFFARO の TeraStation IS は iSCSI 対応の低価格ストレージ製品として野心的で面白いが、LAN ポートが1つしかないので管理用のトラフィックの存在が iSCSI 専用ネットワークの構築を妨げる上に、ネットワーク制御能力がどの程度か不明、10GbE へのスケールアップも不可能ときた。
で、思うところを総括。
今の所、iSCSI は興味を惹く技術ではあるが、実運用レベルでまだまだ蓄積が足りない感じだ。
安価に導入できるとは言え、パフォーマンスをちゃんと考えるならそれなりの投資は必要。
なにより安心して利用できる iSCSI ターゲットがまだちゃんと出揃っていない。
しかし最近流行の仮想化とは親和性が高いように思う。
仮想 OS が動くマシンにはぶっちゃけ CPU とメモリと NIC だけ乗せておいて、仮想ディスクは全てストレージ上に配置することで、ストレージ容量の有効活用や、ストレージ自体の安全性向上への投資の一元化、CPU 処理能力が足りなくなった際のスケールアップが容易になるなどの利点が得られる。
VMware ESXi が標準で iSCSI イニシエータを積んでいるのも心強い。
10GbE が一般化すると通信速度でも Fibre Channel に全く引けを取らなくなるから、途端にブレイクする可能性もある。
なかなかに今後が楽しみな技術だ。
コメントは投稿されていません。