如何设置iSCSI服务器CHAP双向认证?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2629个文字,预计阅读时间需要11分钟。
一、iSCSI和CHAP介绍
1.1 iSCSI简介iSCSI(Internet Small Computer System Interface)是一种网络存储协议,它允许通过IP网络传输SCSI命令。iSCSI后端存储支持多种设备类型,主要包括:
- 文件- 单一分区(partition)- 磁盘- 数组- RAID- LVM
1.2 iSCSI后端存储配置建议以下以裸磁盘vdb为例,说明iSCSI后端存储的配置建议:
- 使用裸磁盘vdb作为示例- 其他类型配置参考《002.iSCSI服务端》
一 iSCSI和CHAP介绍 1.1 iSCSI 磁盘- iSCSI后端存储支持多种设备类型,主要有:
- 文件
- 单一分区(partition)
- 磁盘
- 数组
- RAID
- LVM
- 建立用于共享的磁盘
- 创建后备磁盘
- 创建相应的IQN
- 创建相应的规则
- 为后备磁盘创建LUN
- 创建双向认证账号和密码
- 指定侦听的IP和端口
- 检查并保存配置
- 防火墙规则开放
- 服务(开机)启动
[root@iscsi ~]# fdisk -l Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors 四 创建后备存储 4.1 安装相关软件
[root@iscsi ~]# yum -y install targetcli 4.2 交互设置
[root@system1 ~]# targetcli #进入targetcli交互配置视图
- block:定义的块设备,磁盘驱动器、磁盘分区、LVM等
- fileio:创建的指定大小的文件,如dd if=/dev/zero of=……所创建
- pscsi:物理SCSI,通常不采用此类型
- ramdisk:在内存中创建的一个指定大小ramdisk设备
提示:如上操作:
1:创建的ACL将分配到每个LUN。
2:创建LUN必须在TPG下。
3:若不指定端口将采用默认端口3260
4:若不指定IP,将允许服务器上定义的所有网络接口上的连接
5:创建LUN必须在TPG下
五 防火墙开放[root@iscsi ~]# firewall-cmd --add-port=3260/tcp --permanent #防火墙添加iSCSI的端口 [root@iscsi ~]# firewall-cmd --add-service=iscsi-target --permanent #防火墙放通iSCSI target服务 [root@iscsi ~]# firewall-cmd --reload 六 开启服务 [root@iscsi ~]# systemctl enable target --now 七 客户端配置
[root@client ~]# yum -y install iscsi-initiator-utils #安装客户端 [root@client ~]# vim /etc/iscsi/initiatorname.iscsi #配置CHAP认证 InitiatorName=iqn.2021-11.com.imxhy:client [root@client ~]# vim /etc/iscsi/iscsid.conf …… node.session.auth.authmethod = CHAP node.session.auth.username = user01 node.session.auth.password = u1pass node.session.auth.username_in = muser01 node.session.auth.password_in = m1pass discovery.sendtargets.auth.authmethod = CHAP discovery.sendtargets.auth.username = discover discovery.sendtargets.auth.password = discoverps …… [root@client ~]# systemctl restart iscsid 八 客户端登录 8.1 发现目标
[root@client ~]# iscsiadm -m discovery -t sendtargets -p 172.24.8.72 #发现目标 172.24.8.72:3260,1 iqn.2022-11.com.imxhy:disk01 8.2 登录目标
[root@client ~]# iscsiadm -m node -T iqn.2022-11.com.imxhy:disk01 -p 172.24.8.72 -l #登录目标 8.3 查询信息
[root@client ~]# iscsiadm -m session -o show tcp: [23] 172.24.8.72:3260,1 iqn.2022-11.com.imxhy:disk01 (non-flash) [root@client ~]# iscsiadm -m session -P 3 #查询信息 iSCSI Transport Class version 2.0-870 version 6.2.0.874-22 Target: iqn.2022-11.com.imxhy:disk01 (non-flash) Current Portal: 172.24.8.72:3260,1 Persistent Portal: 172.24.8.72:3260,1 ********** Interface: ********** Iface Name: default Iface Transport: tcp Iface Initiatorname: iqn.2021-11.com.imxhy:client Iface IPaddress: 172.24.8.71 Iface HWaddress: <empty> Iface Netdev: <empty> SID: 1 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: user01 password: ******** username_in: muser01 password_in: ******** ************************ Negotiated iSCSI params: ************************ HeaderDigest: None DataDigest: None MaxRecvDataSegmentLength: 262144 MaxXmitDataSegmentLength: 262144 FirstBurstLength: 65536 MaxBurstLength: 262144 ImmediateData: Yes InitialR2T: Yes MaxOutstandingR2T: 1 ************************ Attached SCSI devices: ************************ Host Number: 3 State: running scsi3 Channel 00 Id 0 Lun: 0 Attached scsi disk sdb State: running [root@client ~]# iscsiadm -m node -o show # BEGIN RECORD 6.2.0.874-22 node.name = iqn.2022-11.com.imxhy:disk01 node.tpgt = 1 node.startup = automatic …… iface.transport_name = tcp …… node.discovery_address = 172.24.8.72 node.discovery_port = 3260 node.discovery_type = send_targets node.session.initial_cmdsn = 0 node.session.initial_login_retry_max = 8 node.session.xmit_thread_priority = -20 node.session.cmds_max = 128 node.session.queue_depth = 32 node.session.nr_sessions = 1 node.session.auth.authmethod = CHAP node.session.auth.username = user01 node.session.auth.password = ******** node.session.auth.username_in = muser01 node.session.auth.password_in = ******** …… node.session.scan = auto node.conn[0].address = 172.24.8.72 node.conn[0].port = 3260 …… # END RECORD [root@client ~]# fdisk -l #发现的iSCSI服务器三个共享 九 格式化并挂载 9.1 格式化并挂载
注意:
1:此时能当做本地磁盘使用,分区格式化等操作;
2:可使用RAID或LVM来进行操作,LVM的可在之后格式化LV。
[root@client ~]# mkfs.ext4 /dev/sdb #格式化相关iSCSI磁盘 [root@client ~]# mkdir -p /iscsdisk/sdb01 #创建用于挂载sdd磁盘的挂载点 [root@client ~]# mkdir -p /iscsdisk/lv01 #创建用于挂载LVM分区的挂载点 [root@client ~]# mount /dev/sdb /iscsdisk/sdb01/ #可直接挂载 [root@client ~]# vi /etc/fstab #自动挂载 …… /dev/sdb /iscsdisk/lv01 ext4 defaults 0 0
本文共计2629个文字,预计阅读时间需要11分钟。
一、iSCSI和CHAP介绍
1.1 iSCSI简介iSCSI(Internet Small Computer System Interface)是一种网络存储协议,它允许通过IP网络传输SCSI命令。iSCSI后端存储支持多种设备类型,主要包括:
- 文件- 单一分区(partition)- 磁盘- 数组- RAID- LVM
1.2 iSCSI后端存储配置建议以下以裸磁盘vdb为例,说明iSCSI后端存储的配置建议:
- 使用裸磁盘vdb作为示例- 其他类型配置参考《002.iSCSI服务端》
一 iSCSI和CHAP介绍 1.1 iSCSI 磁盘- iSCSI后端存储支持多种设备类型,主要有:
- 文件
- 单一分区(partition)
- 磁盘
- 数组
- RAID
- LVM
- 建立用于共享的磁盘
- 创建后备磁盘
- 创建相应的IQN
- 创建相应的规则
- 为后备磁盘创建LUN
- 创建双向认证账号和密码
- 指定侦听的IP和端口
- 检查并保存配置
- 防火墙规则开放
- 服务(开机)启动
[root@iscsi ~]# fdisk -l Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors 四 创建后备存储 4.1 安装相关软件
[root@iscsi ~]# yum -y install targetcli 4.2 交互设置
[root@system1 ~]# targetcli #进入targetcli交互配置视图
- block:定义的块设备,磁盘驱动器、磁盘分区、LVM等
- fileio:创建的指定大小的文件,如dd if=/dev/zero of=……所创建
- pscsi:物理SCSI,通常不采用此类型
- ramdisk:在内存中创建的一个指定大小ramdisk设备
提示:如上操作:
1:创建的ACL将分配到每个LUN。
2:创建LUN必须在TPG下。
3:若不指定端口将采用默认端口3260
4:若不指定IP,将允许服务器上定义的所有网络接口上的连接
5:创建LUN必须在TPG下
五 防火墙开放[root@iscsi ~]# firewall-cmd --add-port=3260/tcp --permanent #防火墙添加iSCSI的端口 [root@iscsi ~]# firewall-cmd --add-service=iscsi-target --permanent #防火墙放通iSCSI target服务 [root@iscsi ~]# firewall-cmd --reload 六 开启服务 [root@iscsi ~]# systemctl enable target --now 七 客户端配置
[root@client ~]# yum -y install iscsi-initiator-utils #安装客户端 [root@client ~]# vim /etc/iscsi/initiatorname.iscsi #配置CHAP认证 InitiatorName=iqn.2021-11.com.imxhy:client [root@client ~]# vim /etc/iscsi/iscsid.conf …… node.session.auth.authmethod = CHAP node.session.auth.username = user01 node.session.auth.password = u1pass node.session.auth.username_in = muser01 node.session.auth.password_in = m1pass discovery.sendtargets.auth.authmethod = CHAP discovery.sendtargets.auth.username = discover discovery.sendtargets.auth.password = discoverps …… [root@client ~]# systemctl restart iscsid 八 客户端登录 8.1 发现目标
[root@client ~]# iscsiadm -m discovery -t sendtargets -p 172.24.8.72 #发现目标 172.24.8.72:3260,1 iqn.2022-11.com.imxhy:disk01 8.2 登录目标
[root@client ~]# iscsiadm -m node -T iqn.2022-11.com.imxhy:disk01 -p 172.24.8.72 -l #登录目标 8.3 查询信息
[root@client ~]# iscsiadm -m session -o show tcp: [23] 172.24.8.72:3260,1 iqn.2022-11.com.imxhy:disk01 (non-flash) [root@client ~]# iscsiadm -m session -P 3 #查询信息 iSCSI Transport Class version 2.0-870 version 6.2.0.874-22 Target: iqn.2022-11.com.imxhy:disk01 (non-flash) Current Portal: 172.24.8.72:3260,1 Persistent Portal: 172.24.8.72:3260,1 ********** Interface: ********** Iface Name: default Iface Transport: tcp Iface Initiatorname: iqn.2021-11.com.imxhy:client Iface IPaddress: 172.24.8.71 Iface HWaddress: <empty> Iface Netdev: <empty> SID: 1 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: user01 password: ******** username_in: muser01 password_in: ******** ************************ Negotiated iSCSI params: ************************ HeaderDigest: None DataDigest: None MaxRecvDataSegmentLength: 262144 MaxXmitDataSegmentLength: 262144 FirstBurstLength: 65536 MaxBurstLength: 262144 ImmediateData: Yes InitialR2T: Yes MaxOutstandingR2T: 1 ************************ Attached SCSI devices: ************************ Host Number: 3 State: running scsi3 Channel 00 Id 0 Lun: 0 Attached scsi disk sdb State: running [root@client ~]# iscsiadm -m node -o show # BEGIN RECORD 6.2.0.874-22 node.name = iqn.2022-11.com.imxhy:disk01 node.tpgt = 1 node.startup = automatic …… iface.transport_name = tcp …… node.discovery_address = 172.24.8.72 node.discovery_port = 3260 node.discovery_type = send_targets node.session.initial_cmdsn = 0 node.session.initial_login_retry_max = 8 node.session.xmit_thread_priority = -20 node.session.cmds_max = 128 node.session.queue_depth = 32 node.session.nr_sessions = 1 node.session.auth.authmethod = CHAP node.session.auth.username = user01 node.session.auth.password = ******** node.session.auth.username_in = muser01 node.session.auth.password_in = ******** …… node.session.scan = auto node.conn[0].address = 172.24.8.72 node.conn[0].port = 3260 …… # END RECORD [root@client ~]# fdisk -l #发现的iSCSI服务器三个共享 九 格式化并挂载 9.1 格式化并挂载
注意:
1:此时能当做本地磁盘使用,分区格式化等操作;
2:可使用RAID或LVM来进行操作,LVM的可在之后格式化LV。
[root@client ~]# mkfs.ext4 /dev/sdb #格式化相关iSCSI磁盘 [root@client ~]# mkdir -p /iscsdisk/sdb01 #创建用于挂载sdd磁盘的挂载点 [root@client ~]# mkdir -p /iscsdisk/lv01 #创建用于挂载LVM分区的挂载点 [root@client ~]# mount /dev/sdb /iscsdisk/sdb01/ #可直接挂载 [root@client ~]# vi /etc/fstab #自动挂载 …… /dev/sdb /iscsdisk/lv01 ext4 defaults 0 0

