ISCSI
出典: フリー百科事典『ウィキペディア(Wikipedia)』
Internet Small Computer System Interface(iSCSI)は、2003年2月11日にIETFによって承認された公式な標準規格であり、SCSIプロトコルをTCP/IPネットワーク上で使用する規格である。iSCSIはSCSI-3で規定されるフレームワークではトランスポート層に相当する。トランスポート層には他に並列(パラレル)SCSIやファイバーチャネルがある。
ギガビット・イーサネットが一般化した現在、企業内で iSCSI を受け入れる環境は急速に整った。iSCSIベースのストレージエリアネットワーク(SAN)の構築は、ファイバーチャネルによる SAN よりも安価で検討に値するものとなっている。
目次 |
[編集] 機能
iSCSIプロトコルはそのデータ転送のためにTCP/IPを使う。ほとんどの SAN の基盤であるファイバーチャネルなどの他のネットワークストレージプロトコルと違って、iSCSIは単純でどこにでもあるイーサネットインタフェース(または他のTCP/IPが使用可能なネットワーク)があればよい。このことは、ファイバーチャネルによるストレージエリアネットワークにつきもののコストと非互換問題を味わうことなくストレージの集中化を低価格で可能とする。
iSCSIに批判的な人々は、クライアントとストレージ間の通信にTCP/IPを使うことでプロトコルのオーバヘッドが生じ、ファイバーチャネルより性能が悪くなると予測している。しかし、TCPオフロードエンジン(TOE)のような新技術がオーバヘッドを減らす助けとなる。実測では TOE を使ったものも単純なギガビットイーサネットのネットワーク・アダプタ(NIC)を使ったものでも、iSCSI SAN は素晴らしい性能を発揮した。実際、最近の高性能サーバでは、単純なNICと効率的なドライバの方が TOEカードよりも性能が良い。何故なら、一番重要なのは割り込みとDMAの回数をなるべく少なくすることだからである。最初の iSCSI はソフトウェアスタックとして実装される。iSCSI市場は着実に成長しており、性能と使い易さは多くの組織がギガビットや10ギガビットのネットワークを採用するとともに向上していく。同時に製造業者は iSCSIサポートをオペレーティングシステムや SAN製品やストレージシステムに組み込んでいく。
[編集] 記憶装置
記憶装置の観点では、ホストシステムのiSCSIイニシエータ(SCSI参照)を使ってIPネットワーク上の遠隔にあるディスクやテープのようなターゲットに接続してブロックI/Oを行うことになる。クラスドライバとアプリケーション・ソフトウェアから見れば記憶装置はローカルにSCSIで接続されているのと同じに見える。ホストやターゲットが複数存在するようなもっと複雑な環境はストレージエリアネットワーク(SAN)と呼ばれる。
iSCSI記憶装置はネットワークアタッチトストレージ(NAS)とは異なる。NASは複数ホストからの同時アクセス要求を仲裁処理するためのサーバ・ソフトウェアを内蔵している。複数のホストから1つのデバイスに同時にアクセスするのを許すことは全てのSCSIデバイスに共通の困難なタスクである。ホスト同士の通信なしでは、他のホストがどういう状態で何をしようとしているかは分からない。この条件では、データが壊れたり、競合状態が生じたりする。ディスク装置の領域ではクラスター・ソフトウェアがこの問題を解決する。
[編集] 実製品でのサポート状況
[編集] イニシエータ
[編集] OSによるサポート
OS名 | リリース時期 | バージョン |
---|---|---|
AIX | 2002年10月 | AIX 5.2 |
Windows | 2003年6月 | 2000, XP Pro, 2003 |
NetWare | 2003年8月 | NetWare 6.5 |
HP-UX | 2003年10月 | HP 11i v1, HP 11i v2 |
Solaris | 2005年2月 | Solaris 10 |
Linuxカーネル | 2005年6月 | 2.6.12 |
[編集] イニシエータの実装
[編集] ソフトウェア・イニシエータ
- シスコシステムズ iSCSI ドライバー - 最初期のソフトウェア iSCSI イニシエータのひとつ。HP-UX, AIX, Linux, Solaris, Windows NT4/2000 をサポート。 最近では、Cisco SAN-OS の名称でファイバーチャネルも含めたSAN全般をサポートする体系に組み込まれている。[1]
- IBM iSCSI ソフトウェアイニシエータ for AIX - バージョン 5.2 (2002年10月)から対応
- FreeBSD でのサポートについては開発中である。
- HP HP-UX iSCSI ソフトウェアイニシエータ - [2]
- Linuxでのイニシエータ
- Core-iSCSI - 商用の PyX イニシエータの GPL部分に基づくイニシエータ。これは、Open-iSCSI の開発のために Linux-iSCSI の保守が停止した際にギャップを埋める目的で Linuxカーネル 2.6 用に復活したプロジェクトである。[3]
- Intel-iSCSI (インテル) - 概念実証用にインテルからLinux向けにリリースされたiSCSIイニシエータとターゲット。(sourceforge上では削除済み?)
- Linux-iSCSI - Cisco Linux iSCSI ドライバーに基づくイニシエータ。2005年4月現在、Linux-iSCSI と Open-iSCSI の開発者は共同で作業して Open-iSCSI の強化に努めている。 [4]
- 3.xx シリーズは Linuxカーネル 2.4 をサポート。
- 4.xx シリーズは Linuxカーネル 2.6 から 2.6.9 までをサポート。
- Open-iSCSI - 最新のイニシエータであり、2.6.11 以降をサポート。この開発のため、Linux-iSCSI の開発は停止した。[5]
- UNH-iSCSI - ニューハンプシャー大学(UNH)によるイニシエータとターゲットの実装。[6]
- マイクロソフト iSCSI ソフトウェアイニシエータ for Windows - Windows 2000, Windows XP Professional, Windows Server 2003 をサポート
- ノベル iSCSI イニシエータ for NetWare - Netware 6.5 で使用可能。
- サン Solaris iSCSI イニシエータ - Solaris 10 1/06 アップデートで使用可能。
[編集] iSCSIホストバスアダプタ
iSCSIホストバスアダプタ(HBA)はアダプタ自身にiSCSIプロトコルを実装したものである。オペレーティングシステムからは SCSI HBA と見えるように振舞う。iSCSI HBA にはTOENICを持っているものもあり、さらに iSCSI としての処理もオフロードするものもある。ブート可能なiSCSIターゲットを設定するため、NVRAM を使って OSのドライバシステムに対して SCSI HBA であるかのうように見せかける。
以下のベンダーが iSCSI HBA を開発している。
- アダプテック(生産終了)
- インテル
- Alacritech
- Qlogic
[編集] ターゲット
産業界の関心は主にiSCSIディスクターゲットの開発に置かれているが、テープや媒体チェンジャも同様に需要がある。今のところ部品レベルでiSCSIをサポートした製品(ドライブ)は存在しない。代わりに並列(パラレル)SCSIやファイバーチャネル・インターフェイスを持つ装置を iSCSIターゲットソフトウェアを搭載した外部ブリッジ装置に接続したり、装置内部にそのような機能を格納したものがある。
また、ディスクおよびテープ・ターゲットは仮想化できる可能性がある。実際の物理デバイスを表すのではなく、エミュレートされた仮想的なデバイスを表現するのである。仮想テープライブラリ(VTL)のように外から見えるターゲットの種別とは全く関係なく内部の実装を行うことができる。VTL では仮想テープに書き込もうとしたデータは内部のディスク装置に書き込まれる。実際の物理デバイスと同様、仮想ターゲットも iSCSIターゲットソフトウェアを使うか、装置筐体内のコントローラでターゲットとして表現される。
[編集] ソフトウェアによる仮想ターゲット
- iSCSI Enterprise Target - オープンソースの iSCSIターゲット実装(Linux用)
- NetBSD 用ターゲットの HOWTO
- NetWare 6.5 には iSCSIターゲットのパッケージが含まれている。
- Linux - 各種 Linuxディストリビューション向けの iSCSIターゲット・パッケージ [7] [8]
- Windows - Windows 用 iSCSIターゲット・パッケージ [9]
[編集] 関連項目
- ファイバーチャネル・オーバーIP (FCIP)
- ATAオーバー・イーサネット (AoE)
[編集] 外部リンク
[編集] RFC
- RFC 3720 - Internet Small Computer Systems Interface (iSCSI)
- RFC 3783 - Small Computer Systems Interface (SCSI) Command Ordering Considerations with iSCSI
カテゴリ: 記憶装置 | 通信プロトコル | コンピュータバス規格