1,577 瀏覽數

Linux iSCSI Target ACL

目前我的環境如下所示:

  1. RHEL5 Server – 當作 iSCSI Target 端,2顆硬碟,一個是 OS 另外一個就是給 iSCSI 當做分享出來的 raw devices 所使用.
  2. RHEL5 Client – 當作 iSCSI Initiator 端.
  3. Switch – 因為是 IP-SAN 所以不需要 Fiber switch,原來的 Network Switch 即可使用.建議使用 1Gb 以上的環境.

Initiator 指的是 "使用磁碟" 的主機端, Target 指的是 "提供磁碟" 的伺服器端.

前面已經完成了

  1. 安裝 iSCSI Target / initiator http://benjr.tw/15682
  2. 建立 iSCSI Target controller device http://benjr.tw/15679
  3. 指定硬碟空間給 iSCSI Target http://benjr.tw/15664

iSCSI Target 預設是不讓任何人存取,除非設定了 ACL(Access Control List). 一開始在實驗階段可以用 ALL 讓任意的 Initiator 都可以存取.

[root@benjr ~]# tgtadm –lld iscsi –op bind –mode target –tid 1 -I ALL

–tid 1 : 還記得剛剛設定的 tid 吧!!
-I ALL  : 不限制任何 IP 的 initiators 都可以來存取這個 iSCSI Target.. (-I : 大寫的 i;ALL 必須都為大寫才會生效))

[root@benjr ~]# tgtadm –lld iscsi –op show –mode target
Target 1: iqn.2009-4.tw.benjr:storage
    System information:
        Driver: iscsi
        Status: running
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: deadbeaf1:0
            SCSI SN: beaf10
            Size: 0
            Backing store: No backing store
        LUN: 1
            Type: disk
            SCSI ID: deadbeaf1:1
            SCSI SN: beaf11
            Size: 9G
            Backing store: /dev/sdb1
    Account information:
    ACL information:
        ALL

不過沒人希望什麼阿貓阿狗的 initiators 都來使用我這一台 iSCSI Target.先把 "ALL" 移除.ALL 比較適合使用在 iSCSI Boot.

[root@benjr ~]# tgtadm –lld iscsi –op unbind –mode target –tid 1 -I ALL
[root@benjr ~]# tgtadm –lld iscsi –op show –mode target
Target 1: iqn.2009-4.tw.benjr:storage
    System information:
        Driver: iscsi
        Status: running
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: deadbeaf1:0
            SCSI SN: beaf10
            Size: 0
            Backing store: No backing store
        LUN: 1
            Type: disk
            SCSI ID: deadbeaf1:1
            SCSI SN: beaf11
            Size: 9G
            Backing store: /dev/sdb1
    Account information:
    ACL information:

下面使用幾個範例來說明 ACL IP 的指定方式:

[root@benjr ~]# tgtadm –lld iscsi –op bind –mode target –tid 1 -I 192.8.1.121
[root@benjr ~]# tgtadm –lld iscsi –op bind –mode target –tid 1 -I 192.8.1.0/24
[root@benjr ~]# tgtadm –lld iscsi –op show –mode target
Target 1: iqn.2009-4.tw.benjr:storage
    System information:
        Driver: iscsi
        Status: running
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: deadbeaf1:0
            SCSI SN: beaf10
            Size: 0
            Backing store: No backing store
        LUN: 1
            Type: disk
            SCSI ID: deadbeaf1:1
            SCSI SN: beaf11
            Size: 9G
            Backing store: /dev/sdb1
    Account information:
    ACL information:
        192.8.1.121
        192.8.1.0/24

你除了可以指定特定 IP : 192.8.1.121 的 initiator 可以存取此 iSCSI Target device外還可以針對相同網域的 IP: 192.8.1.0/24 來設定.

iSCSI Target 已經設定完成,接著設定 iSCSI initiator http://benjr.tw/15647

發表迴響