iSCSI Target - Solaris Express

08.20.2007 | 0 Comments

Solaris Express で iSCSI Target を設定したときのメモ。

将来的には Solaris 10 でも iSCSI Target の設定が出来るようになるようですが、現時点では Solaris Express でないと iSCSI Target は設定できません。

ちなみに iSCSI Initiator は Solaris 10 でも利用可能です。この Entry に続いて Solaris 10 で iSCSI Initiator を設定するためのメモを書く予定でいます。

以下の文書を参考にしています。

Solaris Express では iSCSI Target を設定するためのコマンドとして iscsitadm というモノが用意されています。

iSCSI Target Daemon を起動するために、まずは base directory を設定します。 base directory には Target と LU を構成するためのデータが格納されます。もし利用可能な ZFS pool があるようであればそこに格納した方が望ましい、と上記 “Creating your first target” には書かれていますが、ここではめんどくさいので普通に UFS 上の directory を指定します。

以下の例では /export/iscsi という directory を作成し base directory として設定しています。

bash-3.00# mkdir /export/iscsi
bash-3.00# iscsitadm modify admin -d /export/iscsi

base directory の設定が終われば Target を作成できます。

以下の例では 1GB の Target を disk01, disk02, ... という名前で 5 個作成しています。

bash-3.00# iscsitadm create target --size 1g disk01
bash-3.00# iscsitadm create target --size 1g disk02
bash-3.00# iscsitadm create target --size 1g disk03
bash-3.00# iscsitadm create target --size 1g disk04
bash-3.00# iscsitadm create target --size 1g disk05

ps コマンドで確認してみると iscsitgtd という Daemon が起動していることがわかります。

bash-3.00# ps -ef | grep scsi
    root   644   566   0 19:46:49 pts/1       0:00 grep scsi
    root   627     1   0 19:15:12 ?           1:28 /usr/sbin/iscsitgtd

また base directory には以下のような file と directory が作成されています。

bash-3.00# ls -l /export/iscsi
total 24
-rw-------   1 root     sys         1183 Aug 20 19:15 config.xml
lrwxrwxrwx   1 root     sys           80 Aug 20 19:15 disk01 -> /export/iscsi/iqn.1986-03.com.sun:02:ed52dc45-b3f1-e1be-cec0-9572450a2fff.disk01
lrwxrwxrwx   1 root     sys           80 Aug 20 19:15 disk02 -> /export/iscsi/iqn.1986-03.com.sun:02:66528f32-b1b9-6b0a-cfe9-c8c98f8578dc.disk02
lrwxrwxrwx   1 root     sys           80 Aug 20 19:15 disk03 -> /export/iscsi/iqn.1986-03.com.sun:02:fd06731d-42b9-c1c9-bf0e-e4b41ccd8d17.disk03
lrwxrwxrwx   1 root     sys           80 Aug 20 19:15 disk04 -> /export/iscsi/iqn.1986-03.com.sun:02:6a93da14-9ddb-4913-e502-fd4f846be66a.disk04
lrwxrwxrwx   1 root     sys           80 Aug 20 19:15 disk05 -> /export/iscsi/iqn.1986-03.com.sun:02:32e0173b-5155-6722-e3d1-ae1cf42a71d6.disk05
drwxr-xr-x   2 root     sys          512 Aug 20 19:15 iqn.1986-03.com.sun:02:32e0173b-5155-6722-e3d1-ae1cf42a71d6.disk05
drwxr-xr-x   2 root     sys          512 Aug 20 19:15 iqn.1986-03.com.sun:02:66528f32-b1b9-6b0a-cfe9-c8c98f8578dc.disk02
drwxr-xr-x   2 root     sys          512 Aug 20 19:15 iqn.1986-03.com.sun:02:6a93da14-9ddb-4913-e502-fd4f846be66a.disk04
drwxr-xr-x   2 root     sys          512 Aug 20 19:15 iqn.1986-03.com.sun:02:ed52dc45-b3f1-e1be-cec0-9572450a2fff.disk01
drwxr-xr-x   2 root     sys          512 Aug 20 19:15 iqn.1986-03.com.sun:02:fd06731d-42b9-c1c9-bf0e-e4b41ccd8d17.disk03

config.xml の中身は次のようになっています。

<config version='1.0'>
    <target>
        disk01
        <lun-list>
            <lun>0x0</lun>
        </lun-list>
        <iscsi-name>
            iqn.1986-03.com.sun:02:ed52dc45-b3f1-e1be-cec0-9572450a2fff.disk01
        </iscsi-name>
    </target>
    ... 以下 <target></target> が disk02, disk02 ... の分記述されている ...
</config>

disk01(実態は iqn.1986-03.com.sun... という長ったらしい名前の directory) の中身はこんな感じです。

bash-3.00# ls -l /export/iscsi/disk01/
total 2098194
-rw-------   1 root     sys      1073741824 Aug 20 19:20 lun.0
-rw-------   1 root     sys          345 Aug 20 19:20 params.0

恐らく file size から lun.0 は scsi device image だと思われます。

params.0 の中身はこんな感じで、こちらは LU の設定情報でしょう。

<params version='1.0'>
    <size>0x200000</size>
    <status>online</status>
    <interleave>1</interleave>
    <bps>512</bps>
    <spt>16</spt>
    <cylinders>32768</cylinders>
    <heads>4</heads>
    <rpm>7200</rpm>
    <dtype>disk</dtype>
    <vid>SUN</vid>
    <pid>SOLARIS</pid>
    <guid>0100000c29ae111100002a0046c969cc</guid>
</params>

« FRESHNESS BURGER... | Main | iSCSI Initiator -... »

Comments:

Post a Comment:
Comments are closed for this entry.