iSCSIとは
iSCSI(Internet Small Computer System Interface)とは、主にストレージへアクセスするために利用しているSCSIプロトコルをTCP/IP上で利用するための規格である。
データの転送にTCP/IPを利用するため、一般的に普及しているイーサーネット機器(NIC、ケーブル、スイッチ)を利用することができる。これは、iSCSIが規格化された当時、SAN(Storage Area Network)において主流だったファイバーチャネルに対して価格面でメリットがあった。イーサーネットがPC間のインターコネクトとして標準になっていたため、高速なインタフェースの低価格が期待できる点と高速化される点にも注目された。
iSCSIの出始めのころは、SCSIプロトコルをTCP/IP上で通信するためのオーバーヘッド(CPU負荷)が問題になると言われていたため、TCPオフロードエンジンと呼ばれる(拡張ボードなどの)専用のハードウェアを利用して、CPUの負荷を下げることが提案され、実際に製品も出荷された。現在は、CPUの性能があがり、ハードウェアを利用することによる割り込みのオーバーヘッドの方が大きいこともあって、OSでの実装を利用していることが多い。ただ、iSCSIホストバスアダプタというiSCSI専用のNICは、性能を追求するシーンにおいて需要があり製品化されている。
ストレージを利用するシステム側のインタフェースをiSCSIイニシエータと呼び、ストレージ側をiSCSIターゲットと呼ぶ。
LinuxではiSCSIイニシエータの機能を標準で実装している他、iSCSIターゲットの機能も実装しており、ローカルディスクの領域を他のシステムのiSCSIストレージとして利用することができる。
iSCSI対応のストレージは確実に増えており、これを利用した冗長システムも提案されている。例えば、アクティブサーバでiSCSIストレージをマウントし、異常発生時にはアンマウントしてスタンバイサーバにiSCSIストレージをマウントする手法である。オープンソースのHeartbeatやPacemakerと連動することで実現できる。ただ、Linuxのファイルシステムは2つのシステムからマウントすると破壊されてしまうため、システムの設計ミスやオペレーションミスによってデータが破壊されてしまうリスクを抱えてしまう。こういう問題を回避するためにクラスタファイルシステムがあるが、性能面ではまだ課題がある。
【カテゴリ】:プロトコル  ファイルシステム  ネットワークインフラ  
【Webセミナー】自社でOSSを採用しよう!今更聞けないOSSの基本セミナー
日程: | 11月22日(金)Webセミナー「BigBlueButton」を使用します。 |
内容: | OSSを導入したいけど、どこから手をつければいいかわからない方必見! |
ご興味のあるかたはぜひご参加ください。 |