Re: converting ext2 to softraid 1 or 5
On Tue, 25 Sep 2001 14:55, Alson van der Meulen wrote:
> On Tue, Sep 25, 2001 at 02:17:46PM +0200, Kai Koehler wrote:
> > hello
> > we want to install an software raid system on an existing debian server
> > the server contains his data on one partition/hd
> > whats the easiest way to initialize an software raid 1 or 5 and convert
> > the existing data with the lowest downtime
> Put the RAID disks in the server, configure software RAID with these
> disks, copy your data (dump/restore, tar, cp, whatever), then remove the
> old disk.
> You could, if you want to use the original disk in your array, temporary
> insert an extra disk, mkraid, copy data, and remove the disk and raidhotadd
> the original disk.
> For more info look at the Software-RAID-HOWTO.
In "raidtools2" (kernel 2.4.x software RAID and the patches that you can
apply to 2.2.x kernels) the RAID superblock is officially 64K (but can be as
much as 96K in some of my tests - I don't know why) and is at the end of the
So you can run "mke2fs /dev/whatever XXXX" where XXXX is the block count
Then you can install Linux on that device.
After installing Linux and installing the raidtools2 package create a
/etc/raidtab like the following:
Note that the failed-disk line is after the device you haven't installed on,
the device with your root FS should be the raid-disk (the above example
presumes you have installed to /dev/hda1).
Then go to single user mode and umount the root fs. Run mkraid to create the
RAID device. The documentation says that this will destroy all data on your
devices, but for RAID-1 this is not the case. For RAID-1 one of the disks
will be taken as master and it's contents will be copied to the other at
mkraid time. If mkraid is run when one device is in "failed" state then the
non-failed device is untouched apart from the last 64K - 96K.
Then you can mount the RAID device on /new-root and use pivot_root(8) to make
it the root FS, then umount the old /dev/hda1.
Then you can use raidhotadd to add /dev/hdb1 to /dev/md1 while the machine is
running (or switch to multi-user mode first if you like).
The above method is not something you want to do on a production machine
without testing it first. But it works, I've done it before but not with the
root FS (so I skipped the pivot_root step and didn't have to have the FS
mounted at the time mkraid was run).
The only potential problem is that mkraid might require an exclusive lock on
the device, in which case you would need to boot from another device (or use
pivot_root to change the root fs temporarily) to have it unlocked (umount'ing
the root fs only mounted read-only).
http://www.coker.com.au/bonnie++/ Bonnie++ hard drive benchmark
http://www.coker.com.au/postal/ Postal SMTP/POP benchmark
http://www.coker.com.au/projects.html Projects I am working on
http://www.coker.com.au/~russell/ My home page