| ツイート |
(この記事は 2008年11月17日に STBBS.NET Blogで掲載された記事を移動したものです)
- 広告 -
Solarisでは、ZFSプール上にファイルシステムだけでなくボリューム(ブロックデバイス)も作成出来、さらにそれを iSCSIターゲットとして公開することも簡単に出来る。ここでは Solarisの ZFSプール上に iSCSIディスクを準備し、それを Linuxのイニシエータ(open-iscsi) から利用する手順を示す。
tank という名前のZFSプールに100GBの ボリューム vol を作成し、さらに iSCSIディスクとしてエクスポートするには
とする。
このように作成されたiSCSIディスクには適当なハッシュ値が名称(iqn)として付与される。名称を調べるには
とする。出力結果は
不要になったボリュームを削除するには
とすれば良い。但しイニシエータからログインされている iSCSIターゲットは削除できないので先に切断する必要がある。
Solarisの iscsitadmコマンドで調べた iSCSI名を使って、Linuxから SCSIディスクとして接続する。Linuxには open-iscsiがインストールされており、iscsid が起動している必要がある。
接続された iSCSIターゲットは Linuxからは /dev/sd* のように通常の SCSIディスクと同様の扱いとなる。
まず discoveryを行い、iSCSIホスト上に存在するターゲットのリストを得る。既にターゲットの iSCSI名が判明している場合でも、イニシエータにターゲットを認識させるためにはこの操作が必要になる。discoveryは下記のように行う。
discoveryが行われると、iscsidがターゲットの存在を認識するので続いて目的のターゲットに login をする。
これで Solaris上のボリュームが SCSIディスク /dev/sd* として Linux側に出現する。あとは fdiskするなり好きなようにすれば良い。
なお次回の iscsid起動時に自動的にターゲットへログインするには、
デバイス名は /dev/sd[abcde...]のようなものが付くので、ターゲットを識別するために lsscsi -t コマンドを使ったり /dev/disk/by-path/ から探し出したりする必要があるだろう。くれぐれも間違えて違うディスクを fdiskしてしまわないように注意すること。
iSCSIターゲットディスクを切断するには、
とする。
Solaris側
tank という名前のZFSプールに100GBの ボリューム vol を作成し、さらに iSCSIディスクとしてエクスポートするには
zfs create -V 100G -o shareiscsi=on tank/vol
とする。
このように作成されたiSCSIディスクには適当なハッシュ値が名称(iqn)として付与される。名称を調べるには
iscsitadm list target
とする。出力結果は
Target: tank/volのようになる。
iSCSI Name: iqn.1986-03.com.sun:02:d046e6c8-8599-e917-bcdd-ef46a8c3d751
Connections: 0
不要になったボリュームを削除するには
zfs destroy tank/vol
とすれば良い。但しイニシエータからログインされている iSCSIターゲットは削除できないので先に切断する必要がある。
Linux側
Solarisの iscsitadmコマンドで調べた iSCSI名を使って、Linuxから SCSIディスクとして接続する。Linuxには open-iscsiがインストールされており、iscsid が起動している必要がある。
接続された iSCSIターゲットは Linuxからは /dev/sd* のように通常の SCSIディスクと同様の扱いとなる。
まず discoveryを行い、iSCSIホスト上に存在するターゲットのリストを得る。既にターゲットの iSCSI名が判明している場合でも、イニシエータにターゲットを認識させるためにはこの操作が必要になる。discoveryは下記のように行う。
iscsiadm -m discovery -t sendtargets -p iSCSIホストの名前又はIPアドレス
discoveryが行われると、iscsidがターゲットの存在を認識するので続いて目的のターゲットに login をする。
iscsiadm -m node -T iSCSI名 -p iSCSIホストのIPアドレス --login
これで Solaris上のボリュームが SCSIディスク /dev/sd* として Linux側に出現する。あとは fdiskするなり好きなようにすれば良い。
なお次回の iscsid起動時に自動的にターゲットへログインするには、
iscsiadm -m node -T iSCSI名 -p iSCSIホストのIPアドレス --op=update --name=node.startup --value=automaticとしておくと良い。(-Tを省略すると全てのノードが自動接続の対象となる)
デバイス名は /dev/sd[abcde...]のようなものが付くので、ターゲットを識別するために lsscsi -t コマンドを使ったり /dev/disk/by-path/ から探し出したりする必要があるだろう。くれぐれも間違えて違うディスクを fdiskしてしまわないように注意すること。
iSCSIターゲットディスクを切断するには、
iscsiadm -m node -T iSCSI名 --logout
とする。
Walbrixについて
(この記事を移動する際に追記されました)
余ったPCを使って10分で CentOS/Debian/Ubuntu/Fedora/Gentoo Linuxの実験環境を構築できることをご存じですか?
Walbrixは誰でも無料で簡単に使えるサーバオペレーティングシステムです。
| ツイート |

