Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm currently running my storage server on 4x1TB disks in RAID5. There are no issues here, no lack of speed, no lack of performance.

But now these disks are getting out of free space and I have the following solutions:

  1. Buy some extra 1TB disks add them to the RAID5 array. (not future-proof, small disks)
  2. Buy 4x2TB disks, replace the current RAID5 array (and have the same 'free-space' problem next year)
  3. An unknown solution like the current RAID5 setup; where I can add bigger drives in the future without rebuilding the whole array of disks or where I shouldn't replace all disks to use the full capacity of those disks.

(I'm running a mdadm on Ubuntu)

So my question is number 3; Any ideas?

share|improve this question
Every time you try to future-proof, somebody goes and builds a better future :-P – gWaldo Oct 12 '10 at 13:04
I should have used 'wallet-proof'.. – jverdeyen Oct 12 '10 at 13:07

For Linux, your best bet is almost certainly going to involve LVM, which lets you create logical devices that you can extend at will by adding more physical devices. Since you're using software raid anyway, what I suggest is buying pairs of drives and mirroring them with mdadm (so if you have four drives you get md0 containing drive 1+2 and md1 containing drive 3+4), then adding the md devices to LVM as physical devices and creating logical volumes.

When you want to add more drives, buy them in pairs, create a new mirror (md2) and add that mirror to the physical device pool. You can then extend the logical devices into this space.

Be sure you're using a filesystem that supports resizing, otherwise you'll end up reformatting every time you do this.

share|improve this answer
RAID-5 just can't do that without rebuilding your array - Incorrect. A lot of mainstream RAID controllers support online expansion for RAID5 arrays. – Mark Henderson Oct 13 '10 at 5:08
Sorry, I'll take that out. I didn't know it was possible to grow an RAID-5 array while it was online. – DerfK Oct 13 '10 at 5:30

You currently have 4 x 1TB disks in a R5 array, giving you 3TB of usable space, in the event of losing a single disk you will have degraded performance and no second dead disk resilience until your array is rebuilt.

If you move to 2TB disks then if they're full they'll take twice as long to rebuild as the 1TB disks you're currently using - exposing you to a longer performance-degraded and second dead disk non-resilience time window.

I would advise you to move to R10 by buying a further 2 x 1TB disks, giving you initially the same 3TB usable space but improved write performance, no read performance drop while rebuilding and great second disk resilience. You can then increase capacity linearly by adding a 7th and 8th disk etc.

Whether you use hardware or software RAID is a separate question.

share|improve this answer
But still have to buy 1TB disks to expand the R10? After disks 7-8 I get a physical storage problem... – jverdeyen Oct 12 '10 at 13:42
What I didn't mentioned is that this is not a corporate server, but more like a home server. I'm a freelance webdeveloper, that's why I use this as development environment to. Storage is used for backups,videos,movies,archiving,... – jverdeyen Oct 12 '10 at 13:44
Perhaps you want our sister site then? – Chopper3 Oct 12 '10 at 14:32
Can you move it to – jverdeyen Oct 12 '10 at 20:54

ZFS may do what you want (I'm not sure about all of it's capabilities, though, especially about dynamically managing arrays), but if you're not too invested in your current box, Drobo will do pretty much exactly what you want. It's not RAID5, but a proprietary coolness that works well. It allows you to expand your storage on-the-fly, allowing you to replace an old (small) disk with a newer (larger) disk.

Also, check out FreeNAS.

share|improve this answer
I'm also using my storage server as a development/download/backup server; with some more drives in RAID1. I'm keepin' my Linux (Ubuntu) server for that reason. – jverdeyen Oct 12 '10 at 13:13

zfs maybe be a help here. look it up, and raidz. I think it can do most of what you want.

That said, in this case i'd buy 2TB disks, and a few more of them.

share|improve this answer
I'm going to read some more about ZFS and raidz. Thanks for the info! – jverdeyen Oct 12 '10 at 13:11

btrfs will let you do the nifty things of zfs (zraid, etc) but it is probably not mature enough for you yet.

Both will let you make a raid5-6 like thing, and dynamically add disks to it, which is good enough, I would think.

btrfs is in the kernel, zfs is via fuse, so slow, and you should check how the fuse version compares to the current Solaris version. Now, on Solaris/OpenSolaris/Nexenta, zfs is freaking awesome, stick a bunch of ram in your box, disk, and a mix of ssd, and get insane performance (expensive ssd for write cache, cheap for read cache). same $, Promise M610i SAN vs Nexenta watch the Nexentra box do 2-4 times the performance (Open solaris is a bit faster, but .....)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.