The following procedure was tested by me, and was found to be working. The version of the XenServer I am using in this particular case is 6.1, however, I belive that this method is generic enough so that it could work for every version of XS, assuming you’re using iSCSI and LVM (aka – not NetApp, CSLG, NFS and the likes). It might act as a general guideline for fiber channel communication, but this was not tested by me, and thus – I have no idea how it will work. It should work with some modifications when using Multipath, however, regarding multipath, you can find in this particular blog some notes on increasing multipath disks. Check the comments too – they might offer some better and simplified way of doing it.
So – let’s begin.
First – increase the size of the LUN through the storage. For NetApp, it involves something like:
lun resize /vol/XenServer/luns/SR1.lun +1t
You should always make sure your storage volume, aggregate, raid group, pool or whatever is capable of holding the data, or – if using thin provisioning – that a well tested monitoring system is available to alert you when running low on storage disk space.
Now, we should identify the LUN. From now on – every action should be performed on all XS pool nodes, one after the other.
We should keep the output of this command somewhere. We will use it later on to identify the expanded LUN.
Now – let’s scan for storage changes:
iscsiadm -m node -R
Now, running the previous command again will have a slightly different output. We can not identify the modified LUN
We should increase it in size. XenServer uses LVM, so we should harness it to our needs. Let’s assume that the modified disk is /dev/sdd.
After completing this task on all pool hosts, we should run sr-scan command. Either by CLI, or through the GUI. When the scan operation completes, the new size would show.
Hope it helps!