2

I have a ThinkServer RD230-4011 in hosting which initially had 4x 300Gb drives divided into 2 RAID 1 arrays using the built-in SAS 8708EM2 card, such as this:

DISK 0 (300 Gb) |  VD 0 (RAID 1, 300 Gb)
DISK 1 (300 Gb) |

DISK 2 (300 Gb) |  VD 1 (RAID 1, 300 Gb)
DISK 3 (300 Gb) |

Now eventually I needed more space so I went in and one by one replaced all the drives with 600 Gb ones and let the VDs rebuild. This went without a hitch. The next step I had planned was to put drive #2 offline and then add it to VD 0 and migrate to RAID 5, such as this:

DISK 0 (600 Gb) |  VD 0 (RAID 5, 1200 Gb)
DISK 1 (600 Gb) |
DISK 2 (600 Gb) |

DISK 3 (600 Gb) |  VD 1 (RAID 1, 300 Gb, degraded)

Then migrate the data from VD 1 to VD 0 and proceed to another expansion such as this:

DISK 0 (600 Gb) |  VD 0 (RAID 5, 1800 Gb)
DISK 1 (600 Gb) |
DISK 2 (600 Gb) |
DISK 3 (600 Gb) |

I found out a bit too late that my RAID controller does not support OCE, so although I was able to rebuild by adding the drives, I am now stuck with this:

DISK 0 (600 Gb) |  VD 0 (RAID 5, 900 Gb)
DISK 1 (600 Gb) |
DISK 2 (600 Gb) |
DISK 3 (600 Gb) |

Notice the missing capacity in the virtual drive. So how do I get to use this new capacity in the drives? Am I SOL? This is the only server in hosting I cannot easily migrate all the data off to start from a clean VD. I could plan some downtime if I need to do it from the webbios but of course a live solution maybe using megacli would be preferred.

Thanks gurus.

2 Answers2

1

Here's what LSI support suggests.

Remove one of the 600 GB disks from the RAID 5. The RAID 5 will then go into degraded state and you can use the drive you removed to create a new single disk RAID 0 VD with 600 GB capacity. Now copy all your data from the degraded RAID 5 to the newly created RAID 0. After that you can delete the RAID 5 VD and use them to migrate the single disk RAID 0 VD into a 4 disk RAID 5 VD.

I'm not too keen on copying data from 1 RAID volume to another (first will be degraded and 2nd will be a single disc) and relying on that to boot my XenServer instance. Then deleting the VD and creating a new one, again migrating all data.

No other ways, huh?

0

In your case there's no way without copying. For raid1(!!!!!) there is a way, needing downtime(!!!!) and also at least unplugging the SR, which could not be the boot volume(!!!).

If you boot off SSD, or at least have multiple luns that aren't raid0/5/6/10 or any offspring of that, you can delete the lun and create a new one without initializing it(!!!). If it's initialized you lose all data.

In your case, the sane way is to replace the controller with a up tier one that can do the expansion. That drops you to a few minutes of downtime.

XenServer's storage stack is just too messed up by devs for any sysadmin to be able to fix this. On a "normal" system one could just do other things that would work online like i.e. doing a lvm mirror between two degraded raid5 or pvmove to a temporary iSCSI volume. No love here.

If it ever comes up again, replace the controller and ebay the old one.

Florian Heigl
  • 1,440
  • 12
  • 19