Adaptec RAID: expand logical disk size

Day-by-day your data volume size is growing and sometime you can reach full capacity of your disks. I show how to easy and safely expand your RAID storage array.

[ ! ] Note: that this is procedure can take long time and lead to data corrupt so I strongly recommend backup your data before start.

In this article I will operate with Adaptec ASR71605. I will use arcconf Version 1.7 to make all configuration changes. You can find the latest arcconf version at an official Microsemi site.

Detect REID Logical Device

At first we should define our logical device that we want to expand -- just run arcconf. In this example I will expand Logical Device number one.

/usr/local/arcconf/arcconf GETCONFIG 1 LD

This command will show you current logical groups configurations, mine is:

Logical device number 1  
   Logical device name                      : RAID1-B
   Block Size of member drives              : 512 Bytes
   RAID level                               : 1
   Unique Identifier                        : E82D412E
   Status of logical device                 : Optimal
   Size                                     : 512000 MB
   Parity space                             : 512000 MB
   Read-cache setting                       : Enabled
   Read-cache status                        : On
   Write-cache setting                      : On when protected by battery/ZMM
   Write-cache status                       : On
   Partitioned                              : Yes
   Protected by Hot-Spare                   : No
   Bootable                                 : No
   Failed stripes                           : No
   Power settings                           : Disabled
   --------------------------------------------------------
   Logical device segment information
   --------------------------------------------------------
   Segment 0                                : Present (Controller:1,Enclosure:0,Slot:2)             A002517E
   Segment 1                                : Present (Controller:1,Enclosure:0,Slot:3)             A0024C74

Replace disks

The main strategy -- replace disks one-by-one. After each replacement you should wait unless RAID rebuilding. Also when all disks will been replaced you need wait while yours RAID finish recinfiguration procedure.

[ ! ] Note: rebuilding and RAID reconfiguration make take a long time and cause data corruption. DO NOT power reset while rebuilding or reconfiguring in progress.

Replace first disk

For this example I start from Segment 1. Lets mark this disk as failed.

/usr/local/arcconf/arcconf SETSTATE 1 DEVICE 0 3 DDD

The number 0 and 3 in this example it is the numbers of channel (enclosure) and the slot (see arcconf output above).

Now you can replace device from slot 3 by larger device. Wait while RAID rebuilding.

Replace second disk

After you finish replacement of first disk and RAID become online then you can replace second disk as the first one (but do not forget to change channel and slot ids).

Expand RAID logical array

When you replace both disks by larger disks and RAID was rebuild you can make expand.

/usr/local/arcconf/arcconf SETSTATE MODIFY 1 FROM 1 TO MAX 1 0 2 0 3

This process can take long time. Do not turn off your server while it not finish.

Resize partition

When RAID reconfiguration process will be finished you can rezise partition.

Make partition table backup.

sfdisk -d /dev/sdb > sdb.mtr.dump  

Change partition table with fdisk utility by deleting old partition and create new larger partition.

Stop all services that can write to yours partition. You can define opened files with lsof utility. Unmount old partition.

umount /mnt/mydisk  

Reread partitions table

partprobe /deb/sdb  

Resize fs

resize2fs /dev/sdb1  

And mount partition back

mount /mnt/mydisk