iscsi: 環境搭建


組網環境

+----------+---------------+---------------+
| hostname |  ip address   |  iscsi role   |
+----------+---------------+---------------+
| cvm      |  192.168.7.8  |    target     |
| client01 |  192.168.7.10 |    initiator  |
| client02 |  192.168.7.11 |    initiator  |
+----------+---------------+---------------+

機器cvm將本機上的/dev/sda8磁盤通過iscsi共享出去,機器client01和client02連接到共享的磁盤。

iSCSI target側

修改tgt配置文件/etc/tgt/target.conf,將/dev/sda8共享出去。注意,target名稱個格式為iqn.yyyy-mm. :identifier ,即以iqn開頭,后接日期和反轉域名。identifier為target的標識,可以自己取,這里我們取為test-tgt。

root@cvm:~# cat /etc/tgt/targets.conf
<target iqn.2014-09.com.h3c.cvm:test-tgt>
        backing-store /dev/sda8
</target>

配置文件修改完成后,重啟tgt服務。tgtd默認監聽3260端口。

root@cvm:~# service tgt restart        <== 重啟target服務
root@cvm:~# netstat -npl | egrep 3260
tcp        0      0 0.0.0.0:3260            0.0.0.0:*               LISTEN      686/tgtd        
tcp6       0      0 :::3260                 :::*                    LISTEN      686/tgtd   

查看配置文件共享出去的Lun的信息。注意,共享出去的分區/dev/sda8不能被使用,否則看不到相應的LUN

root@cvm:~# tgt-admin -s
Target 1: iqn.2014-09.com.h3c.cvm:test-tgt
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Readonly: No
            Backing store type: null
            Backing store path: None
            Backing store flags: 
				LUN: 1                    <== 如果/dev/sda8被使用,那么這里不會顯示LUN:1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 280690 MB, Block size: 512
            Online: Yes
            Removable media: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /dev/sda8
            Backing store flags: 
    Account information:
    ACL information:
        ALL
root@cvm:~# 

查詢連接到target端的initiator節點,使用tgtadm --lld iscsi --op show --mode target命令。

iSCSI initiator側

發現iscsi target

root@client01:~# iscsiadm -m discovery -t st -p 192.168.7.8
192.168.7.8:3260,1 iqn.2014-09.com.h3c.cvm:test-tgt

連接設備

root@client01:~# iscsiadm -m node iqn.2014-09.com.h3c.cvm:test-tgt -p 192.168.7.8 -l
Logging in to [iface: default, target: iqn.2014-09.com.h3c.cvm:test-tgt, portal: 192.168.7.8,3260] (multiple)
Login to [iface: default, target: iqn.2014-09.com.h3c.cvm:test-tgt, portal: 192.168.7.8,3260] successful.

查詢掛接到本地的iscsi磁盤,因為本地已經有一塊iscsi磁盤sda了,所以新的磁盤名字為sdb。

root@client01:~# ls -l /dev/disk/by-path/
lrwxrwxrwx 1 root root 9 Sep 18 04:15 ip-192.168.7.8:3260-iscsi-iqn.2014-09.com.h3c.cvm:test-tgt-lun-1 -> ../../sdb

查看iscsi連接狀態

root@client01:~# iscsiadm -m node -S
192.168.7.8:3260,1 iqn.2014-09.com.h3c.cvm:test-tgt

卸載設備

root@client01:~# iscsiadm -m node -T iqn.2014-09.com.h3c.cvm:test-tgt -u
Logging out of session [sid: 3, target: iqn.2014-09.com.h3c.cvm:test-tgt, portal: 192.168.7.8,3260]
Logout of [sid: 3, target: iqn.2014-09.com.h3c.cvm:test-tgt, portal: 192.168.7.8,3260] successful.

initiator 權限

修改tgt的配置文件,可以指定能夠連接到target的initiator。如下,只允許192.168.7.11的initiator節點連接到target。

root@cvm:~# cat /etc/tgt/targets.conf
<target iqn.2014-09.com.h3c.cvm:test-tgt>
        backing-store /dev/sda8
        initiator-address 192.168.7.11      <== 只准許7.11的節點連接到target
</target>

分別在client01和client02上連接target,只有client02可以連接到target。

root@client01:~# iscsiadm -m discovery -t st -p 192.168.7.8 
iscsiadm: No portals found

root@client02:~# iscsiadm -m discovery -t st -p 192.168.7.8
192.168.7.8:3260,1 iqn.2014-09.com.h3c.cvm:test-tgt

如果要使client01和client02都可以連接到target,那么只需要修改配置文件的initiator-address為192.168.0.0/16即可。

其它

1、tgt的日志信息位於/var/log/syslog文件
2、查看initiator的名字。名字記錄在/etc/iscsi/initiatorname.iscsi文件中

參考資料

1、網絡驅動器裝置: iSCSI 服務器
2、ISCSI學習文檔


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM