How to reduce LSI raid array without data loss

lsimegacliraid

I have a server with 8x SAS drives attached to hardware LSI RAID controller (MegaCli64) and all 8 drives are configured as single RAID 10 array.

I now want to remove 2 drives and replace them with bigger drives.
Result should be one RAID 10 array of 6 drives and second RAID 1 array of 2 drives.

OS : CentOS 6

How can I reduce LSI raid array and remove 2 drives without data loss so that 2 drives could be removed? Server downtime is no problem.

From Google I see that MegaCli64 -LDRecon could help but I have never used it and don't have a test server at present to experiment.

UPDATE 1

[root@n ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on  
/dev/sda2              49G  8.9G   37G  20% /  
/dev/sda5             2.1T  1.6T  457G  78% /backup  
/dev/sda1             388M   93M  275M  26% /boot

All drives are of type ext4 in Linux.

/backup is not important, I can easily copy data and copy it back but I certainly do not want to reinstall OS and all configurations and setups of various softwares. It would demand too much time.

UPDATE 2

All current disks (8 in number) are of 600GB in size type SCSI 15k RPM. I want to replace 2 drives with new 4TB drives type SATA 7K RPM.
This is an Supermicro F627R3-R72B+ server with LSI 2208 controller.

Best Answer

You can't do this. You can only remove one disk at a time using the -LDRecon Rmv switch, and given the scale of drives you're speaking about, this would probably be the most complex path you could possibly take to get where you want.

  • Do you have an option to add external storage?
  • I'd suggest a system backup and restore or rebuild to get to the desired capacity.

On the HP ProLiant Smart Array side of things, shrinking of LogicalDrives is a very new feature, and even then, it's not a recommended approach.

Shrink an array (restripe the data on an array to occupy fewer physical drives, then remove the excess drives from the array)