资源清单
| 机器 | target机(发布端) | 业务机1(Linux) | 业务机2(windows) |
|---|---|---|---|
| 系统 | CentOS7.9 | CentOS7.9 | windows10专业版 |
| 硬盘 | 20G+15G+25G+20G+10G | 20G | 60G |
| 网卡1 | 192.168.1.103 | 192.168.1.104 | 192.168.1.105 |
| 网卡2 | 192.168.2.103 | 192.168.2.104 | 192.168.2.105 |
target机配置
安装软件
先安装epel 源(EPEL 扩展源)yum -y install epel-release
然后刷新yum缓存yum clean all yum makecache
再安装target包yum -y install targetcli
配置服务
启动服务systemctl start target
设置开机自启systemctl enable target
查看当前磁盘设备lsblk这里sdb、sdc我们设定共享给linux系统使用,sdd、sde我们设定共享给windows系统使用
创建iSCSI 配置
接下来输入targetcli命令创建iSCSI 配置界面
# 1.创建块后端,名字随便,磁盘填实际磁盘 /backstores/block create disk0 /dev/sdb # 2.创建iSCSI target,iqn名字自定义,格式 iqn:yyyy-mm.域名:标识 /iscsi create iqn.2026-08.com.diskshare:iscsi-disk0 # 3.绑定后端存储lun,lun编号0 /iscsi/iqn.2026-08.com.diskshare:iscsi-disk0/tpg1/luns create /backstores/block/disk0 # 4.查看当前树形结构 ls # 5.退出 exit忘了一步,加上acl配置
/iscsi/iqn.2026-08.com.diskshare:iscsi-disk0/tpg1/acls create iqn.2026-08.com.diskshare:iscsi-disk0
防火墙配置
使用如下命令放行 iSCSI 端口3260
firewall-cmd --add-port=3260/tcp --permanent firewall-cmd --reload业务机1配置
安装软件
使用命令yum -y install iscsi-initiator-utils device-mapper-multipath安装客户端工具和多路径软件
配置服务
设置initiatorname(要和服务端acl里的iqn对应)
# 编辑配置文件 vim /etc/iscsi/initiatorname.iscsi # 添加iqn InitiatorName=iqn.2026-08.com.diskshare:iscsi-disk0 # 重启iscsid服务 systemctl restart iscsid # 设置开机自启 systemctl enable iscsid multipathd登陆 iSCSI target
# 发现 iSCSI target(两条线路) iscsiadm -m discovery -t st -p 192.168.1.103:3260 iscsiadm -m discovery -t st -p 192.168.2.103:3260 # 登录 target iscsiadm -m node -l # 查看已登录会话 iscsiadm -m session # 查看当前磁盘 lsblklsblk会看到两个相同的磁盘设备/dev/sdb/dev/sdc,实际是同一个LUN,直接挂载会损坏数据,必须multipath 聚合
multipath 配置
使用multipath -ll命令查看多路径LUN的wwid
# 生成默认配置文件 mpathconf --enable --with_multipathd y # 编辑配置文件 vim /etc/multipath.conf按照图下进行修改,wwid为之前查询到的,alias任意重命名
systemctl reload multipathd重新加载下服务,然后再用multipath -ll命令可以看到多路径名称已经变成disk0
再用lsblk命令可以看到sdb和sdc都变成了多路径设备,它们本质上是同一个LUN
另一个LUN的操作
先在target机发布LUN(模仿之前的target机操作)
查看当前树形图
# 将/dev/sdc创建为disk1块后端 /> /backstores/block/ create disk1 /dev/sdc # 创建iSCSI target,iqn名字自定义,格式 iqn:yyyy-mm,域名:标识 /> /iscsi create iqn.2026-08.com.diskshare:iscsi-disk1 # 绑定后端存储lun,lun编号为0 /> /iscsi/iqn.2026-08.com.diskshare:iscsi-disk1/tpg1/luns create /backstores/block/disk1 # 配置允许哪些IP访问 /> /iscsi/iqn.2026-08.com.diskshare:iscsi-disk1/tpg1/acls create iqn.2026-08.com.diskshare:iscsi-disk0 # 退出 /> ls一台initiator 客户端只能有 1 个IQN,只能保留一行InitiatorName,所以新iqn的acl还是设置为之前的acl
使用命令ls查看当前树形图
再在业务机1上操作
lsblk查看当前块设备
使用如下命令操作,可以看到sdd和sde。他们是两条路径的同一个LUN
# 发现iSCSI target iscsiadm -m discovery -t st -p 192.168.2.103:3260 iscsiadm -m discovery -t st -p 192.168.1.103:3260 # 登陆target iscsiadm -m node -l # 查看已登陆会话 iscsiadm -m session # 查看当前磁盘 lsblk配置别名
多路径名称已经更改
硬盘使用
一般情况下,我们需要把LUN制作成逻辑卷挂载给目录使用,这里新建一个目录/u01,把第1个多路径LUN disk0制作成逻辑卷挂载在/u01目录下,然后把第2个多路径LUN disk1制作成逻辑卷后扩容/u01原有逻辑卷。那么,最后/u01的容量将变成40G。
新建/u01文件夹,查看业务机1基本情况
# 新建/u01文件夹 [root@localhost ~]# mkdir /u01 # 查看挂载情况 [root@localhost ~]# df -Th # 查看物理卷 [root@localhost ~]# pvs # 查看卷组 [root@localhost ~]# vgs #查看逻辑卷 [root@localhost ~]# lvs # 查看磁盘 [root@localhost ~]# lsblk[root@localhost ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 centos lvm2 a-- <19.00g 0 [root@localhost ~]# pvcreate /dev/mapper/disk0 Physical volume "/dev/mapper/disk0" successfully created. [root@localhost ~]# pvcreate /dev/mapper/disk1 Physical volume "/dev/mapper/disk1" successfully created. [root@localhost ~]# pvs PV VG Fmt Attr PSize PFree /dev/mapper/disk0 lvm2 --- 15.00g 15.00g /dev/mapper/disk1 lvm2 --- 25.00g 25.00g /dev/sda2 centos lvm2 a-- <19.00g 0 [root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- <19.00g 0 [root@localhost ~]# vgcreate vg /dev/mapper/disk0 Volume group "vg" successfully created [root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- <19.00g 0 vg 1 0 0 wz--n- <15.00g <15.00g [root@localhost ~]# vgextend vg /dev/mapper/disk1 Volume group "vg" successfully extended [root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- <19.00g 0 vg 2 0 0 wz--n- 39.99g 39.99g [root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- <17.00g swap centos -wi-ao---- 2.00g [root@localhost ~]# lvcreate -l +100%FREE -n lv_u01 vg Logical volume "lv_u01" created. [root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- <17.00g swap centos -wi-ao---- 2.00g lv_u01 vg -wi-a----- 39.99g[root@localhost ~]# mkfs.ext4 /dev/mapper/vg-lv_u01 mke2fs 1.42.9 (28-Dec-2013) 文件系统标签= OS type: Linux 块大小=4096 (log=2) 分块大小=4096 (log=2) Stride=0 blocks, Stripe width=1024 blocks 2621440 inodes, 10483712 blocks 524185 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=2157969408 320 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624 Allocating group tables: 完成 正在写入inode表: 完成 Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成 [root@localhost ~]# mount /dev/mapper/vg-lv_u01 /u01 [root@localhost ~]# df -Th 文件系统 类型 容量 已用 可用 已用% 挂载点 devtmpfs devtmpfs 475M 0 475M 0% /dev tmpfs tmpfs 487M 0 487M 0% /dev/shm tmpfs tmpfs 487M 7.7M 479M 2% /run tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/mapper/centos-root xfs 17G 1.6G 16G 10% / /dev/sda1 xfs 1014M 137M 878M 14% /boot tmpfs tmpfs 98M 0 98M 0% /run/user/0 /dev/mapper/vg-lv_u01 ext4 40G 49M 38G 1% /u01如上图所示,两个多路径LUN已经成功挂载在目录/u01下,容量为40G(15G+25G)
然后再设置一下开机挂载
[root@localhost ~]# blkid /dev/mapper/vg-lv_u01 /dev/mapper/vg-lv_u01: UUID="32b3b0d8-5dd5-438c-b216-7a454d6fdc86" TYPE="ext4" [root@localhost ~]# vim /etc/fstabUUID="32b3b0d8-5dd5-438c-b216-7a454d6fdc86" /u01 ext4 defaults,_netdev 0 0mount -a检查无报错即可。/u01目录即可正常使用了。
业务机2配置
先在target机上新建LUN
/> /backstores/block create disk3 /dev/sde Created block storage object disk3 using /dev/sde. /> /iscsi create iqn.2026-08.com.diskshare:iscsi-disk3 Created target iqn.2026-08.com.diskshare:iscsi-disk3. Created TPG 1. Global pref auto_add_default_portal=true Created default portal listening on all IPs (0.0.0.0), port 3260. /> /iscsi/iqn.2026-08.com.diskshare:iscsi-disk3/tpg1/luns create /backstores/block/disk3 Created LUN 0. /> /iscsi/iqn.2026-08.com.diskshare:iscsi-disk3/tpg1/ /iscsi/iqn.2026-08.com.diskshare:iscsi-disk3/tpg1/* /iscsi/iqn.2026-08.com.diskshare:iscsi-disk3/tpg1/acls/ /iscsi/iqn.2026-08.com.diskshare:iscsi-disk3/tpg1/luns/ /iscsi/iqn.2026-08.com.diskshare:iscsi-disk3/tpg1/portals/ /> /iscsi/iqn.2026-08.com.diskshare:iscsi-disk3/tpg1/acls create iqn.2026-08.com.diskshare:iscsi-windows Created Node ACL for iqn.2026-08.com.diskshare:iscsi-windows Created mapped LUN 0.查看当前树形图
然后在业务机2(windows系统)上进行操作
在搜索框输入iscsi,点击如下位置
点击是
在新弹出的窗口里面点击配置,然后点击更改
把这里更改为target机设定的acl,target机设定的acl如下图所示
点击确定
目标地址输入target机的ip地址,点击快速链接
然后选择发现的disk2、disk3的iqn,点击连接,弹出的新窗口选中启用多路径,点击确定
看到disk2和disk3的iqn状态变成已连接后,点击确定
查看是否是多路径设备,可以点击iqn的属性
查看到门户组处是两个地址则证明是2个ip连接的多路径设备
然后可以右键计算机,点击管理
点击磁盘管理,可以发现两个磁盘,点击确定
右键磁盘,点击新建简单卷
点击下一页
下一页
默认即可,下一页
点击完成
E盘已设置完成
另外的10G空间可以依照此方法新建为F盘
那么如果想把另外的10G加到E盘该如何操作呢?
右键E盘,点击扩展卷
下一页
选中磁盘2,点击添加
磁盘2到了右边,点击下一页
点击完成
点击是(意思是E盘不能作为系统盘使用)
然后出现了2个E盘,如图下所示
E盘扩容成功!