


raidreconf(8)					    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.




								1





raidreconf(8)					    raidreconf(8)


       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



								2





raidreconf(8)					    raidreconf(8)


       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>


SEE ALSO
       mkraid(8), raidtab(5), raidstart(8), raidhotadd(8),  raid-
       hotremove(8), raidstop(8)



















								3


