Resize of iscsi device is pretty simple and the modification can be seen on linux client without reboot even.
Adding the iscsi disk can be done like in the example below:
root@pluto:~# iscsiadm -m discovery -t sendtargets -p 192.168.69.1 192.168.69.1:3260,1 iqn.2014-07.ro.gz.sun:backups 192.168.69.1:3260,1 iqn.2014-07.ro.gz.sun:swap-pluto [color=green]192.168.69.1:3260,1 iqn.2014-07.ro.gz.sun:backups-file[/color] root@pluto:~# iscsiadm -m node --login Logging in to [iface: default, target: iqn.2014-07.ro.gz.sun:backups-file, portal: 192.168.69.1,3260] (multiple) Login to [iface: default, target: iqn.2014-07.ro.gz.sun:backups-file, portal: 192.168.69.1,3260] successful.
With fdisk -l you can see the disk size and apparently it is kinda small:
root@pluto:~# fdisk -l /dev/sdd Disk /dev/sdd: [color=red]367 MB[/color], 367001600 bytes 12 heads, 59 sectors/track, 1012 cylinders, total 716800 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 4096 bytes / 1048576 bytes Disk identifier: 0x00000000 Disk /dev/sdd doesn't contain a valid partition tabl
In this situation, you have to go back to storage machine (FreeNAS in my case) resize the iscsi device, and re-scan it on the linux client:
iscsiadm -m node --targetname iqn.2014-07.ro.gz.sun:backups-file -R
The output should be as follows:
root@pluto:~# iscsiadm -m node --targetname iqn.2014-07.ro.gz.sun:backups-file -R Rescanning session [sid: 3, target: iqn.2014-07.ro.gz.sun:backups-file, portal: 192.168.69.1,3260]
Now, if we do again the fdisk command, iscsi disk should have the new size:
root@pluto:~# fdisk -l /dev/sdd Disk /dev/sdd: [color=green]375.8 GB[/color], 375809638400 bytes 255 heads, 63 sectors/track, 45689 cylinders, total 734003200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 4096 bytes / 1048576 bytes Disk identifier: 0x00000000 Disk /dev/sdd doesn't contain a valid partition table
How to resize ISCSI in multipath:
Here you may need to umount your filesystem(s) unless you have mirroring and you can take off the mirrors one after another.
1. The size of the disk was initially 100G:
root@pluto:~# multipath -ll oglebkp (33000000019d54e80) dm-10 FreeBSD,iSCSI Disk size=[color=red]100G[/color] features='1 queue_if_no_path' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=0 status=active |- 4:0:0:0 sdf 8:80 active ready running `- 5:0:0:0 sdg 8:96 active ready running
2. Disconnect your ISCSI disks:
root@pluto:~# iscsiadm -m node --targetname iqn.2014-07.ro.gz.ogle:backups -u Logging out of session [sid: 3, target: iqn.2014-07.ro.gz.ogle:backups, portal: 192.168.69.104,3260] Logging out of session [sid: 4, target: iqn.2014-07.ro.gz.ogle:backups, portal: 192.168.70.104,3260] Logout of [sid: 3, target: iqn.2014-07.ro.gz.ogle:backups, portal: 192.168.69.104,3260] successful. Logout of [sid: 4, target: iqn.2014-07.ro.gz.ogle:backups, portal: 192.168.70.104,3260] successful.
3. Go to your storage (FreeNAS in my case) and resize the ISCSI devices:
4. Reattach the ISCSI devices:
root@pluto:~# iscsiadm -m node --login -p 192.168.69.104 Logging in to [iface: default, target: iqn.2014-07.ro.gz.ogle:backups, portal: 192.168.69.104,3260] (multiple) Login to [iface: default, target: iqn.2014-07.ro.gz.ogle:backups, portal: 192.168.69.104,3260] successful. root@pluto:~# iscsiadm -m node --login -p 192.168.70.104 Logging in to [iface: default, target: iqn.2014-07.ro.gz.ogle:backups, portal: 192.168.70.104,3260] (multiple) Login to [iface: default, target: iqn.2014-07.ro.gz.ogle:backups, portal: 192.168.70.104,3260] successful.
Now you should see the new size on multipath command and fdisk of course:
root@pluto:~# multipath -ll oglebkp (33000000019d54e80) dm-10 FreeBSD,iSCSI Disk size=[color=green]200G[/color] features='1 queue_if_no_path' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=0 status=active |- 21:0:0:0 sdg 8:96 active ready running `- 20:0:0:0 sdf 8:80 active ready running root@pluto:~# fdisk -l /dev/mapper/oglebkp Disk /dev/mapper/oglebkp: [color=green]214.7 GB[/color], 214748364800 bytes 255 heads, 63 sectors/track, 26108 cylinders, total 419430400 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 4096 bytes / 1048576 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/mapper/oglebkp1 63 209715199 104857568+ a5 FreeBSD
If you do not see the new size, you may have to rescan your multipath device:
root@pluto:~# multipathd -k'resize map oglebkp' ok