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.

2 Answers
2

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.

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.

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?
–
user149509Dec 14 '12 at 3:57