raidreconf(8)
NAME
raidreconf - reconfigure RAID arrays
SYNOPSIS
raidreconf -h {--help}
- or raidreconf -V {--version}
- or raidreconf -o oldraidtab -n newraidtab -m /dev/md?
- or raidreconf -i /dev/sd?? -n newraidtab -m /dev/md?
- or raidreconf -n newraidtab -m /dev/md? -e /dev/sd??
WARNING
You should back up all data BEFORE any attempt is made to reconfigure a RAID device. YOU HAVE BEEN WARNED.
The author will give you no guarantee whatsoever, that
this program works in any specific way at all. It may well
destroy all data on any device connected directly, indi
rectly, or not at all, to any system this software is used
on. Please use this stuff with care, if you decide to use
it at all.
Ok, that said, let's see how to actually use it :-)
DESCRIPTION
raidreconf will read two raidtab files, an old one, and a
new one. It will then re-build your old array to match
the configuration for the new array, while retaining all
data possible.
It can also be used to import a single block-device into a
RAID array (using more block devices), or export a RAID
array to a single block-device.
raidreconf can, of course, only retain your original data
if you grow the configuration. If you shrink the configu
ration from say, P bytes to Q bytes, raidreconf will
retain the first Q bytes of your original data, but every
thing from Q bytes to the end of the old array (to P
bytes) will be lost.
Currently raidreconf can grow and shrink RAID-0 and RAID-5
arrays, and import non-RAID devices into a new RAID-0 or
RAID-5.
The whole purpose of raidreconf is to be able to add disks
to an existing array, or convert it to a new type (eg.
RAID-0 to RAID-5) without losing data. raidreconf will
move the existing data around on your array, to match the
layout of the new array.
OPTIONS
- -h {--help}
- Raidreconf will print a short help message, and
exit. - -V {--verbose}
- Raidreconf will print it's version information, and
exit. - -o {--old} oldraidtab
- Specifies the path name of the old (current)
raidtab. NOTE: raidreconf performs some tests to ensure that this configuration file matches the
raid superblocks stored on the disk, but there may
be scenarios where the two are in conflict, but
aren't detected as such. Be very careful to spec
ify this file properly. - -n {--new} newraidtab
- Specifies the path name of the new raidtab. After
raidreconf finishes, copy the newraidtab to the oldraidtab location, as raidreconf doesn't perform
this (potentially dangerous) operation. - -m {--mddev} /dev/md?
- Specifies the name of the raid array to modify.
- -i {--import} /dev/sd??
- Specifies the name of the device to import from.
- -e {--export} /dev/sd??
- Specifies the name of the device to export to.
BUGS
Perhaps many. Well, the basic RAID-0 growth, shrink and
import algorithms seem to work, but there are lots and
lots of consistency checks and graceful error handling
missing.
The RAID-5 algorithms are simplistic, with little opti
mization other than that provided by the buffer layer.
Conversions between non-RAID, RAID-0, and RAID-5 all
*seem* to work, but there may be some bugs left yet.
If an error occurs during reconfiguration, a power failure
for example, restore from backup (you DID make a backup,
right?), and try again.
Although RAID-4 is not supported, and almost no one uses
it, it would be almost trivial to add.
REPORTING BUGS
Since this is highly experimental software, there are a
number of known bugs already. The author would of course
like to know about bugs, but at this stage in development
you shouldn't waste too much of your time trying to hunt
them down. They're probably known, and maybe already
fixed in the author's tree.
Report bugs to <bugs@oss.connex.com>. ?????
AUTHOR
raidreconf was written in 1999 by Jakob Oestergaard
<jakob@ostenfeld.dk>
The RAID-5 routines were written by Daniel S. Cox in 2001
<dcox@connex.com>