Re: New raid level suggestion.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 30 Dec 2010 09:23:56 +0100 Rogier Wolff <R.E.Wolff@xxxxxxxxxxxx>
wrote:

> 
> Hi,
> 
> A friend has a webserver. He has 4 drive bays and due to previous
> problems he's not content to have 3 or 4 drives in a raid5
> configuration, but he wants a "hot spare" so that when it takes him a
> week to find a new drive and some time to drive to the hosting
> company, he isn't susceptible to a second drive crashing in the
> meantime.
> 
> So in principle he'll build a 3-drive RAID5 with a hot spare.... 
> 
> Now we've been told that raid5 performs badly for the workload that is
> expected. It would be much better to run the system in RAID10. However
> if he'd switch to RAID10, after a single drive failure he has a window
> of about a week where he has a 33% chance of a second drive failure
> being "fatal".
> 
> So I was thinking.... He's resigned himself to a configuration where
> he pays for 4x the disk space and only gets 2x the available space.
> 
> So he could run his array in RAID10 mode, however when a drive fails, 
> a fallback to raid5 would be in order. In this case, after the resync 
> a single-drive-failure tolerance is again obtained. 
> 
> In practise scaling down to raid5 is not easy/possible. RAID4 however
> should be doable.
> 
> In fact this can almost be implemented entirely in userspace. Just
> remove the mirror drive from the underlying raid0, and reinitialize as
> raid4. If you do this correctly the data will still be there....
> 
> Although doing this with an active filesystem running on these drives
> is probably impossible due to "device is in use" error messages.... 
> 
> So: Has anybody tried this before?
> Can this be implemented without kernel support?
> Anybody feel like implementing this?
> 
> 	Roger. 
> 

The kernel already supports this, though only with very recent kernels.
I'm not 100% sure about mdadm support, but if it isn't there yet, it probably
will be soon.

You can convert a RAID10 to a RAID0.  You probably have to remove two devices
first, so there are just two working devices - no redundancy.

  mdadm --grow /dev/md0 --level=0

Then you can convert the RAID0 to RAID4

  mdadm --grow /dev/md0 --level=4

Then add the good device back in

  mdadm /dev/md0 --add /dev/sdXX

This should all work, though you should certainly test it before you depend
on it at all.

NeilBrown

--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux