* growing a RAID-5 array live
@ 2005-01-28 23:15 Simon Valiquette
0 siblings, 0 replies; only message in thread
From: Simon Valiquette @ 2005-01-28 23:15 UTC (permalink / raw)
To: LinuxRaid
Hello,
I would like to add code to be able to grow a RAID-5 array while
keeping the filesystem in read/write mode. Also, I want the data to be
able to survive over a power failure and a disk failure. Actually, as far
as I know, there is no tools for doing that with Linux. The closest tools
I know for that is raidreconf, but I want more than what it can give me
and I certainly want something safer. And doing it while the FS is mounted.
I am willing to do the work, but I still don't have a deep enought
understanding of the software raid internal implementation. Do there is
any documentation about that? I did'nt find much except what is in the
./Documentation directory, so I might have to write it myself.
My intent would be to play at the bio and biovec level, so that the
filesystem can be kept online while we do the restriping. The basic trick
is to be able to use 2 superblocks for the same array at the same time.
When we access data that have not yet been converted to the new format, we
use the old superblock because the data are still there (obviously). When
we use data that have already been converted, we use the new superblock
(because we now have them on the new location). And between is the fun if
we want to minimise the risk of data lost in case of power failure or crash.
It would makes me save a lot of time if people comments on which parts
of the kernel software RAID code I should put my modifications. Note that
I will require the stripe size not to change, as it would otherwise be
very innefficient, and a real nightmare to maintain (use raidreconf instead).
Eventually, I hope this code could also be used to convert between
differents kinds of RAID (ie. conversion from RAID-5 to RAID-6, or RAID-0
to RAID-5). As long the stripe size does'nt change, that should be
possible since I already need the RAID array to support two different
superblocks.
So, I need documentation about the internal implementation of the
software RAID array and the interactions between the different parts in
the kernel, or at least a mentor to guide me. I already have an
algorithm, I just need help to know how and where to makes the changes to
have a working prototype.
Thank you,
Simon Valiquette
http://gulus.USherbrooke.ca
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-01-28 23:15 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-01-28 23:15 growing a RAID-5 array live Simon Valiquette
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).