Linux, windows

Linux系统配置IP SAN

一、介绍

SAN (存储区域网络 storage area network and SAN protocols ,简称SAN),它是一种高速网络实现计算机与存储系统之间的数据传输。常见的分类是FC-SAN和IP-SAN两种。FC-SAN通过光纤通道协议转发scsi协议;IP-SAN通过TCP协议转发scsi协议,也就是IP 地址。

二、服务端安装、配置

安装服务端软件

 yum install scsi-target-utils -y

修改配置,增加共享块设备

[root@localhost tgt]# cat /etc/tgt/targets.conf 

<target iqn.2024-12.iscsi:data>
#共享块设备
  backing-store /dev/sdb
#设置访问用户名密码
        incominguser abc 123456
</target>

运行服务端

systemctl enable --now tgtd

查看服务端共享状态

[root@localhost tgt]# tgt-admin --show
Target 1: iqn.2024-12.iscsi:data
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
        I_T nexus: 2
            Initiator: iqn.1994-05.com.redhat:ce17c9bac5eb alias: client
            Connection: 0
                IP Address: 192.168.168.143
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: null
            Backing store path: None
            Backing store flags: 
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 21475 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: rdwr
            Backing store path: /dev/sdb
            Backing store flags: 
    Account information:
        abc
    ACL information:
        ALL

显示以上黑体的内容说明服务器端共享正常。

三、客户端的安装配置

客户的软件安装:

 yum install iscsi-initiator-utils

客户端的配置:

[root@client ~]# grep -Ev "^[[:space:]]*(#|$)" /etc/iscsi/iscsid.conf 
iscsid.startup = /bin/systemctl start iscsid.socket iscsiuio.socket
iscsid.safe_logout = Yes
node.startup = automatic
node.leading_login = No
node.session.auth.username = abc
node.session.auth.password = 123456
discovery.sendtargets.auth.username = abc
discovery.sendtargets.auth.password = 123456
node.session.timeo.replacement_timeout = 120
node.conn[0].timeo.login_timeout = 15
node.conn[0].timeo.logout_timeout = 15
node.conn[0].timeo.noop_out_interval = 5
node.conn[0].timeo.noop_out_timeout = 5
node.session.err_timeo.abort_timeout = 15
node.session.err_timeo.lu_reset_timeout = 30
node.session.err_timeo.tgt_reset_timeout = 30
node.session.initial_login_retry_max = 8
node.session.cmds_max = 128
node.session.queue_depth = 32
node.session.xmit_thread_priority = -20
node.session.iscsi.InitialR2T = No
node.session.iscsi.ImmediateData = Yes
node.session.iscsi.FirstBurstLength = 262144
node.session.iscsi.MaxBurstLength = 16776192
node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144
node.conn[0].iscsi.MaxXmitDataSegmentLength = 0
discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 32768
node.conn[0].iscsi.HeaderDigest = None
node.session.nr_sessions = 1
node.session.iscsi.FastAbort = Yes
node.session.scan = auto

客户端连接服务器

服务器端探测:
[root@client ~]# iscsiadm -m discovery -t sendtargets -p 192.168.168.142
192.168.168.142:3260,1 iqn.2024-12.iscsi:data

登录服务器
[root@client ~]# iscsiadm -m node -l
Logging in to [iface: default, target: iqn.2024-12.iscsi:data, portal: 192.168.168.142,3260] (multiple)
Login to [iface: default, target: iqn.2024-12.iscsi:data, portal: 192.168.168.142,3260] successful.

登录成功后即可把服务器的共享块设备连接到本机
[root@client ~]# lsscsi 
[1:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0 
[2:0:0:0]    disk    VMware,  VMware Virtual S 1.0   /dev/sda 
[20:0:0:0]   storage IET      Controller       0001  -        
[20:0:0:1]   disk    IET      VIRTUAL-DISK     0001  /dev/sdb 

查看进程详细信息验证

[root@client ~]# iscsiadm -m session -P 3
iSCSI Transport Class version 2.0-870
version 6.2.0.874-19
Target: iqn.2024-12.iscsi:data (non-flash)
        Current Portal: 192.168.168.142:3260,1
        Persistent Portal: 192.168.168.142:3260,1
                **********
                Interface:
                **********
                Iface Name: default
                Iface Transport: tcp
                Iface Initiatorname: iqn.1994-05.com.redhat:ce17c9bac5eb
                Iface IPaddress: 192.168.168.143
                Iface HWaddress: <empty>
                Iface Netdev: <empty>
                SID: 18
                iSCSI Connection State: LOGGED IN
                iSCSI Session State: LOGGED_IN
                Internal iscsid Session State: NO CHANGE
                *********
                Timeouts:
                *********
                Recovery Timeout: 120
                Target Reset Timeout: 30
                LUN Reset Timeout: 30
                Abort Timeout: 15
                *****
                CHAP:
                *****
                username: abc
                password: ********
                username_in: <empty>
                password_in: ********
                ************************
                Negotiated iSCSI params:
                ************************
                HeaderDigest: None
                DataDigest: None
                MaxRecvDataSegmentLength: 262144
                MaxXmitDataSegmentLength: 8192
                FirstBurstLength: 65536
                MaxBurstLength: 262144
                ImmediateData: Yes
                InitialR2T: Yes
                MaxOutstandingR2T: 1
                ************************
                Attached SCSI devices:
                ************************
                Host Number: 20 State: running
                scsi20 Channel 00 Id 0 Lun: 0
                scsi20 Channel 00 Id 0 Lun: 1
                        Attached scsi disk sdb          State: running

客户端设置开机自动连接服务端:
systemctl enable --now iscsi

连接成功即可把块设备进行分区格式化使用,也可以不分区直接格式。

注意事项:

1、 服务端的配置文件中的共享块设备名称建议使用标准的名字,如:

target iqn.2024-12.iscsi:data 如果不使用标准的iqn名称经常出现无法共享的情况。

2、服务端的配置文件对格式及标点符号要求很严格,因此经常出现无法排查的故障。

3、日志中提示一下内容可以忽略:

附加知识:

IQN命名格式

iqn.yyyy-mm.naming-authority:unique name
命名规则
yyyy-mm 是公司域名注册的年月
naming-authority 是域名的逆转格式,例如: iqn.1998-01.com.qingmei.iscsi 这个说明qingmei.com这个域名,是2024-12注册的,iscsi是子域名,即iscsi.qingmei.com的逆转格式。
unique name 可以是你想用的任何名字,例如主机名,但必须确保冒号后边的名字是唯一的,例如:
iqn.2024-12.com.qingmei.iscsi:name1
iqn.2024-12.com.qingmei.iscsi:name2
iqn.2024-121.com.qingmei.iscsi:name99

Leave a Reply