环境准备:
两台RHEL虚拟机:
-
node21(192.168.4.21)target端( iSCSI服务端)
- client50(192.168.4.50)initiator端( iSCSI客户端)
target端:
# firewall-cmd --set-default-zone=trusted
# setenforce 0
# lsblk
# fdisk /dev/vdc //划分出一个5G的主分区vdc1作为后端存储。不需要格式化文件系统,因为文件系统不在target端
# partprobe //更新分区表
target端配置:
1.装包targetcli
# yum -y install targetcli
2.运行targetcli
# targetcli
2.1 创建后端存储
/> backstores/block create name=nsd dev=/dev/vdc1
2.2 创建target
/> iscsi/ create iqn.2019-01.com.example:node21
注意:IQN 的格式为:iqn.年份-月份.反向域名:自定义标识
,如:iqn.2018-05.com.example:desktop
;其中的字母均应为小写,即使输入时包含大写,命令执行后,系统会自动转换成小写。
2.3 创建lun逻辑单元
/> iscsi/iqn.2019-01.com.example:node21/tpg1/luns create /backstores/block/nsd
2.4 配置acl访问控制(设置访问服务时客户端声称的名字)
/> iscsi/iqn.2019-01.com.example:node21/tpg1/acls create iqn.2019-01.com.example:client50
//客户端配置的名称应与上面一致
2.5 配置客户端IP地址及端口
/> iscsi/iqn.2019-01.com.example:node21/tpg1/portals create 192.168.4.50:3260 //端口缺省值为3260
/> exit
3.重启target服务并设置开机自启
# systemctl restart target
# systemctl enable target
initiator端配置:
1. 装包iscsi-initiator-utils
[root@client50 ~]# rpm -q iscsi-initiator-utils
iscsi-initiator-utils-6.2.0.874-4.el7.x86_64
2.修改配置文件
# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2019-01.com.example:client50 //名称应与服务端acl配置的名称一致
3.重启服务 iscsid
# systemctl restart iscsid //更新IQN标识。注意是:iscsid
4.发现服务端IQN
可参考# man iscsiadm, 搜索 /examples
# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.21 --discover //或 # iscsiadm -m discovery -t st -p 192.168.4.21
192.168.4.50:3260,1 iqn.2019-01.com.example:node21
5. 识别服务端共享
# systemctl restart iscsi //注意是:iscsi
# systemctl enable iscsi
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 4G 0 disk
...
6.分区、格式化、挂载
# fdisk /dev/sda
# mkfs.ext4 /dev/sda1
//开机自动挂载:
# blkid /dev/sda1 //获取磁盘UUID
# vim /etc/fstab
UUID=9f122014-071a-4416-b40f-ece882285b2b /mnt/iscsi/ ext4 defaults,_netdev 0 0
# mount -a