一、介绍
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