iSCSI 磁盘扩容后节点不刷新容量的问题解决(StarWind + Linux)
文章目录
- 问题背景
- 一、分析
- 二、解决方案
- 三、操作记录
- 总结
问题背景
在基于StarWind创建iSCSI共享磁盘的实验环境中(两节点 node1/node2),我创建了一个1GB的LUN,并分别在两个节点使用iscsiadm登录测试,一切正常。
后来发现1GB不够用,于是在StarWind端将该 LUN 扩容到10GB。理论上,所有iSCSI客户端应该都能看到新的大小。
结果却出现了 容量显示不一致 的问题

一、分析
新建立的iSCSI Session会获取最新SCSI信息
已经建立的Session不会自动更新block设备尺寸缓存
因此,扩容后必须在客户端刷新SCSI总线,否则仍会保留旧容量信息。
二、解决方案
刷新SCSI总线
for host in /sys/class/scsi_host/host*; doecho "- - -" > $host/scan
done
用iscsiadm重新登录
iscsiadm -m node -u
iscsiadm -m node -l
三、操作记录
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1G 0 disk
sdb 8:16 0 20G 0 disk
sr0 11:0 1 13.2G 0 rom
nvme0n1 259:0 0 120G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 119G 0 part ├─ol-root 252:0 0 70G 0 lvm /├─ol-swap 252:1 0 3.9G 0 lvm [SWAP]└─ol-home 252:2 0 45.1G 0 lvm /home
[root@localhost ~]# ls /sys/class/scsi_host/
host0 host12 host16 host2 host23 host27 host30 host5 host9
host1 host13 host17 host20 host24 host28 host31 host6
host10 host14 host18 host21 host25 host29 host32 host7
host11 host15 host19 host22 host26 host3 host4 host8
[root@localhost ~]# for host in /sys/class/scsi_host/host*; do
> echo "- - -" > $host/scan
> done
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1G 0 disk
sdb 8:16 0 20G 0 disk
sr0 11:0 1 13.2G 0 rom
nvme0n1 259:0 0 120G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 119G 0 part ├─ol-root 252:0 0 70G 0 lvm /├─ol-swap 252:1 0 3.9G 0 lvm [SWAP]└─ol-home 252:2 0 45.1G 0 lvm /home
[root@localhost ~]# iscsiadm -m node -u
Logging out of session [sid: 1, target: iqn.2008-08.com.starwindsoftware:192.168.112.113-hx, portal: 192.168.1.10,3260]
Logout of [sid: 1, target: iqn.2008-08.com.starwindsoftware:192.168.112.113-hx, portal: 192.168.1.10,3260] successful.
[root@localhost ~]# iscsiadm -m node -l
Logging in to [iface: default, target: iqn.2008-08.com.starwindsoftware:192.168.112.113-hx, portal: 192.168.1.10,3260]
Login to [iface: default, target: iqn.2008-08.com.starwindsoftware:192.168.112.113-hx, portal: 192.168.1.10,3260] successful.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 10G 0 disk
sdb 8:16 0 20G 0 disk
sr0 11:0 1 13.2G 0 rom
nvme0n1 259:0 0 120G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 119G 0 part ├─ol-root 252:0 0 70G 0 lvm /├─ol-swap 252:1 0 3.9G 0 lvm [SWAP]└─ol-home 252:2 0 45.1G 0 lvm /home
[root@localhost ~]#

总结
扩容Target后,客户端必须手动触发SCSI rescan,不然不会生效。
