[Linux-PowerEdge] Replacing the disks in a RAID-5, one after the other..

vincent at cojot.name vincent at cojot.name
Wed Sep 11 14:58:02 CDT 2013


Hi everyone,

I have a Dell T410 with hot-swap bays that hold the following config:

# megaclisas-status
-- Controller information --
-- ID | Model
c0 | LSI MegaRAID SAS 9271-8i

-- Arrays informations --
-- ID | Type | Size | Status | InProgress
c0u0 | RAID-1 | 1817G | Optimal | None
c0u1 | RAID-5 | 8184G | Optimal | None

-- Disks informations
-- ID | Model | Status | Speed | Temperature
c0u0p0 | WD-WMC300422505WDC WD20EFRX-68AX9N0 80.00A80 | Online, Spun Up | 6.0Gb/s | 31C | ID: '[252:4]'
c0u0p1 | WD-WMC300421817WDC WD20EFRX-68AX9N0 80.00A80 | Online, Spun Up | 6.0Gb/s | 32C | ID: '[252:5]'
c0u1p0 | WD-WMC1T0534822WDC WD30EFRX-68AX9N0 80.00A80 | Online, Spun Up | 6.0Gb/s | 30C | ID: '[252:0]'
c0u1p1 | WD-WMC1T0613679WDC WD30EFRX-68AX9N0 80.00A80 | Online, Spun Up | 6.0Gb/s | 30C | ID: '[252:1]'
c0u1p2 | WD-WMC1T0600303WDC WD30EFRX-68AX9N0 80.00A80 | Online, Spun Up | 6.0Gb/s | 30C | ID: '[252:7]'
c0u1p3 | WD-WMC1T0534827WDC WD30EFRX-68AX9N0 80.00A80 | Online, Spun Up | 6.0Gb/s | 30C | ID: '[252:6]'

The 4x3Tb RAID-5 is running out of space and I'd like to replace all of 
those 3Tb disks with 4Tb disks (Yes, I know it's not economical). I 
considered rebuilding the array from scratch and restoring the data but 
the restore window would be too lengthy. I don't have any hot spares, btw, 
nor empty slots..

I'm currently wondering if I could just swap the disks one after the other 
(waiting for the resync to finish in-between swaps) and then extend the 
Logical Drive.

Is this doable with such a config? Has someone done this before? What 
would the procedure look like? I was thinking about something like this 
(Array #0, LD #1).

a) for each of the old drives, do this:

1) Set the drive offline
# MegaCli -PDOffline -PhysDrv [E:S] -a0
2) Mark the drive as missing
# MegaCli -PDMarkMissing -PhysDrv [E:S] -a0
3) Prepare drive for removal
# MegaCli -PDPrpRmv -PhysDrv [E:S] -a0
4) Change/replace the drive
5) re-add the new drive to my RAID virtual drive and start the rebuilding
# MegaCli -PdReplaceMissing -physdrv[E0:S0] -arrayA, -rowB -a0
# MegaCli -PDRbld -Start -PhysDrv [E:S] -a0

b) When all the drives have been replaced, expand the LD:
1) Check if expansion is possible:
# MegaCli -getLdExpansionInfo -L1 -a0

2) Expand the array.
# MegaCli -LdExpansion -p100 -L1 -a0

What do you people think of that? Would that work? Anyone been there 
before? I found some hints that some people did 
(http://trac.camsentry.com/wordpress/2013-03/expanding-resizing-an-array-with-larger-drives) 
but I thought I'd ask here.. :)

c) Do the usual parted, pvresize/vxresize stuff...

System is running latest RHEL6.x, btw...

Thanks for reading,

Vincent



More information about the Linux-PowerEdge mailing list