私が使っているNASキットは、通常のCIFS(Windowsファイル共有)とNFSだけでなく、iSCSIも利用することが出来る。
これを使って、Ubuntu Linuxにディスク領域を提供し、データ置き場にしてみたい。
(そもそも、NASキットでiSCSIストレージが使えるから、Ubuntu Linuxを搭載するNUCは120GB程度のSSDにしたんだった)
で、「そもそもiSCSIってナニよ?」ってところなんだけど…。
ご存じの方はご存知の通りなので、軽く読み飛ばして欲しい。
ご存知ではない方へ…
iSCSIとは、「Internet Protocol上にSCSIプロトコル(SCSIコマンド)を流す仕組み」だ。
うん、さっぱりワカランね。
SCSIっていうのは、Small Computer System Interfaceの略で、小型コンピュータ(ココでは、一般家庭のPCや、Interl x86系プロセッサを搭載したサーバ機器等)と各種外付デバイスを接続する規格の一種で、コネクタ形状やケーブル形状といった物理規格、当然電気的な規格(電圧等)、そしてその中を流れるコマンド類まで規格化されている、らしい。
また、色々なSCSIデバイスが生み出されてきたが、その特性からHDDやCD-ROM等のブロックデバイスに使用されることが多かった。
#いわゆる記憶媒体だけでなく、SCSIデバイスのスキャナもあった。
#逆に、SCSI接続のマウス、みたいなキャラクタデバイスは見たことが無い。
こういったSCSI規格のうち、ソフトウェア的な部分(コマンド類)を、今までのSCSIケーブルではなく、IP上に載っけてしまおう、というのがiSCSI規格だ。
SCSIに於ける機器の関係は以下のとおり。
PCにSCSIアダプタを搭載し、そこからSCSIケーブルを伸ばし、HDDがつながっているSCSIコントローラに接続する、という形だ、思う。
iSCSIは、上図の「SCSIケーブル」のところがEtherケーブルになっていて、IPネットワーク上に構築される形だ。
多分こんな形
SCSIで「コントローラ」とされていた部分は、ソフトウェアで実装されており、通常のNetworkにデータが流れるようなイメージになっている。
また、HDD側も同様に、ソフトウェアでコントローラが実装されていて、通常のNetworkに接続されている。
(コントローラをハードウェアで実装しているものもある)
そして、PC側のコントローラを「iSCSIイニシエータ」、HDD側のコントローラを「iSCSIターゲット」と呼ぶ…らしい。(詳細はちょっと違うけど)
これ、「iSCSIクライアント」と「iSCSIサーバ」って表現にしてくれたら分かりやすかったのに。
で、HDD側で容量を適当に切り出して、
その領域をターゲットに紐付けて、
ターゲットごと、イニシエータに提供する(アクセス許可を与える)
それによって、PCにあたかも新しいHDDを追加搭載したように見える。
細かくは色々あるんだけど、ざっくりこんな感じだ。
で、上記の設定を施して、Ubuntu LinuxからiSCSIのディスク領域を使えるようにしよう、ってのが今の思い。
長くなったので、一旦ココまで。
次回分から、実装にとりかかる。
0 件のコメント:
コメントを投稿