3

Is it possible, in theory, increase the size of the RAID-array of any level just by adding new drive(s)? Variant like "backup whole data -> delete old array -> add/replace disks -> create new array -> restore data" is obvious so what are the other options?

Does it depend on the RAID-level only or on the implementation of RAID-controller only, or on both?

Adding new disks to a striped array necessarily leads to a rebuilding of the array with the redistribution of the strips to the new drives?
What steps should be done to increase size of RAID-array in online/offline scenarios?
Especially interesting RAID-5 and RAID-10.
I would like to see the big picture.

gapsf
  • 641
  • 1
  • 5
  • 12
  • 3
    What sort of RAID? Software (which software?) or hardware (which controller?)? What file system? Please try to refine the question a bit! – MadHatter Dec 13 '12 at 15:17
  • I would like answer in general, but if you ask... IBM x3650 M4 with ServeRAID 5110e. – gapsf Dec 13 '12 at 15:28
  • 1
    I think this is an important question. Yes, it may be too broad, but the answers so far are indeed helpful for anyone who hasn't done this before. – Ernie Dec 13 '12 at 15:53

2 Answers2

4

This depends on the specific implementation. HP and Dell controllers will let you grow most RAID levels by just adding disks. You can even convert between certain RAID levels. All online without downtime.

Some implementations of software RAID do this in one form or another, some do not.

All modern filesystems that I can think of support online growing of partitions, so that's not that big of a deal - though, in Windows, the drive to be extended and the free space must be contiguous in many cases.

So, in general, yes - it is technically possible. Are you able to do it? It depends on what specific RAID implementation you're using. Consult your manual or manpage.

MDMarra
  • 100,183
  • 32
  • 195
  • 326
4

The standard solution afforded by server-class hardware RAID controllers is to allow the growth of logical drives via:

  • The addition of like-size (or larger) physical disks. This involves a rebalancing or redistribution of the data across the drives.

  • Replacing individual drives in the array with larger disks, one-by-one, allowing rebuild time in between each replacement. The result array would then need to be expanded at the controller and OS level to recognize the new space.

Array transformation is a different topic entirely, but a subset of these controllers can migrate between RAID levels (e.g. RAID 5 -> RAID 1+0). This type of move typically requires the presence of a battery-backed or flash-backed cache unit.

I typically always do this work online, rarely going with the rebuild and restore approach. But much of this relates to planning.

ewwhite
  • 194,921
  • 91
  • 434
  • 799
  • Nice. Replacing individual drives in the array with larger disks is the "official/documented" approach to increase the size or is it a *hack*, since the array is in a degraded mode during replacement/rebuilding? – gapsf Dec 14 '12 at 03:57