使用 targetcli 搭建 iSCSI-Target 共享磁盘或分区
软件安装
安装软件包 targetcli ,使用此工具配置 iSCSI 服务。
yum -y install targetcli进入配置界面
进入 iSCSI 配置界面,命令支持使用 TAB 快捷键补全命令。
targetcli基本配置
配置块存储
使用硬盘分区或者逻辑卷配置块存储。
/> /backstores/block create [名称] [硬盘路径]
/> /backstores/block create disk0 /dev/sdb创建 IQN
配置 iSCSI 目标
/> iscsi/ create wwn=[iqn.[日期(xxxx-xx)].[域]:[名称]]
/> iscsi/ create wwn=iqn.2008-01.lan.skills:server进入新建的 IQN
/> cd /iscsi/iqn.<...>:<...>
/> cd /iscsi/iqn.2008-01.lan.skills:server创建 LUN
使用块存储创建 LUN。
/iscsi/iqn.<...>:<...>/tpg1/luns> create /backstores/block/[块存储名称]
/iscsi/iqn.<...>:server/tpg1/luns> create /backstores/block/disk0创建 ACL
创建 ACL 允许 iSCSI 客户端连接。此处的 IQN 是客户端的 IQN,用于身份验证。
/iscsi/iqn.<...>:<...>/tpg1/acls> create iqn.<...>:<...>(客户端的 IQN)
/iscsi/iqn.<...>:server/tgp1/acls> create iqn.<...>:client1修改监听地址&端口
修改默认监听的地址和端口。先删除原有的,再设置新的自定义 IP 和端口。
删除
/iscsi/iqn.<...>:<...>/tpg1/portals> delete 0.0.0.0 3260
/iscsi/iqn.<...>:server>/tpg1/portals> delete 0.0.0.0 3260自定义
/iscsi/iqn.<...>:<...>/tpg1/portals> create 10.155.40.2 3260
/iscsi/iqn.<...>:server>/tpg1/portals> create 10.155.40.2 3260查看配置
- 将上述指令的
set替换成get,即可查阅配置信息。 - 查看目录结构:
ls / - 查看当前目录路径:
pwd
防火墙设置
如果自定义了端口,不能通过添加服务的方式进行放行,需要手动指定端口。
firewall-cmd --add-port=[...]/tcp --per如果端口是默认的 3260,可以直接通过添加服务名称来放行端口。
firewall-cmd --add-service=iscsi-target --per双向认证
配置 iSCSI Discovery & Session 双向认证。
服务端
配置 Session 双向认证(可选)
进入配置目录:
/> cd /iscsi/iqn.<...>:<...>/tpg1/acls/iqn.<...>:<...>
/> cd /iscsi/iqn.<...>:server/tpg1/acls/iqn.<...>:client1配置认证用户名和密码:
/iscsi/iqn.<...>:<...>> set auth userid=IncomingUser password=IncomingPass mutual_userid=OutgoingUser mutual_password=OutgoingPass
/iscsi/iqn.<...>:client1> set auth userid=IncomingUser password=IncomingPass mutual_userid=OutgoingUser mutual_password=OutgoingPass服务器开启 Session 认证:
/> cd /iscsi/iqn.<...>:<...>/tpg1
/> cd /iscsi/iqn.<...>:server/tpg1
/iscsi/iqn.<...>:<...>/tpg1> set attribute authentication=1
/iscsi/iqn.<...>:server/tpg1> set attribute authentication=1配置 Discovery 双向认证(可选)
进入配置目录:
/> cd /iscsi开启 Discovery 认证:
/iscsi> set discovery_auth enable=1配置认证用户名和密码:
/iscsi> set discovery_auth userid=IncomingUser password=IncomingPass mutual_userid=OutgoingUser mutual_password=OutgoingPass客户端
软件安装
安装软件包 iscsi-initiator-utils:
yum -y install iscsi-initiator-utils配置 iSCSI Initiator 名称
修改配置文件:vim /etc/iscsi/initiatorname.iscsi
InitiatorName要设置与刚刚 ACL 配置的客户端 IQN 相同。如果不相同,会导致鉴权失败。- 修改完成后,需要重启服务才会生效!!
InitiatorName=iqn.2008-01.lan.skills:client1修改配置文件
修改配置文件:vim /etc/iscsi/iscsid.conf
取消掉部分注释,并且修改鉴权用户名和密码。
Session 部分(node开头的)
node.session.auth.authmethod = CHAP
node.session.auth.username = IncomingUser
node.session.auth.password = IncomingPass
node.session.auth.username_in = OutgoingUser
node.session.auth.password_in = OutgoingPassDiscovery 部分(discovery开头的)
discovery.sendtargets.auth.authmethod = CHAP
discovery.sendtargets.auth.username = IncomingUser
discovery.sendtargets.auth.password = IncomingPass
discovery.sendtargets.auth.username_in = OutgoingUser
discovery.sendtargets.auth.password_in = OutgoingPass重启服务
配置修改完成后,需要重启服务,配置才会生效。包括 initiatorname.iscsi 修改后,需要重启服务才会生效。
systemctl restart iscsid重新连接
需要先断开连接,再重新发现连接:
- 断开:
iscsiadm -m node -u - 发现:
iscsiadm -m -t st -p 10.155.40.2 - 连接:
iscsiadm -m node -l
自动挂载
- 挂载前先格式化分区。
开机自动登录 iSCSI
iscsiadm -m node -T iqn.<...>:server -p 10.155.40.2 –o update -n node.startup -v automatic格式化分区
mkfs.xfs /dev/sda[硬盘路径]修改 /etc/fstab
/dev/sda[硬盘路径] /mnt/iscsi_part[挂载点] xfs[文件系统] defaults,_netdev 0 0