Date: Tue, 7 Jan 2003 12:39:15 +0100 (CET) From: Soeren Schmidt <sos@spider.deepcore.dk> To: Soeren Schmidt <sos@spider.deepcore.dk> Cc: "Andrew P. Lentvorski, Jr." <bsder@allcaps.org>, Nate Lawson <nate@root.org>, current@FreeBSD.ORG Subject: Re: mirrored root fs? Message-ID: <200301071139.h07BdFfG003172@spider.deepcore.dk> In-Reply-To: <200301070751.h077pdhq057490@spider.deepcore.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
It seems Soeren Schmidt wrote:
>
> It should work on 4.7 forward, but its been a while since I played with it.
> Another thing is that its a pain to make a mirror on an already running
> system (which is often wanted), so I plan to add an option to atacontrol
> to tell where to get the master from, and then do an automatic rebuild
> during the create phase ie:
>
> atacontrol create RAID1 ad0 ad2 source ad0
>
> This will create a mirror using ad0 and ad2, and start a rebuild to
> build the master with data from ad0. This way you can do a normal
> install, add a second (identical or bigger) disk, and make a
> mirror out of those. You just have to change your fstab before
> rebooting (ad0 -> ar0) in order to boot...
For those that are brave enough to play with this I just created the
following small change to ata-raid.c. Now it will always rebuild the
array on creation, using the first disk as the master image. This
allows you to turn any set of ATA disks into a mirror on the fly..
Remember to rename you filesystems in fstab before booting :)
Index: ata-raid.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-raid.c,v
retrieving revision 1.50
diff -u -r1.50 ata-raid.c
--- ata-raid.c 2 Oct 2002 07:44:17 -0000 1.50
+++ ata-raid.c 7 Jan 2003 10:02:50 -0000
@@ -374,7 +374,14 @@
rdp->flags |= AR_F_READY;
ar_table[array] = rdp;
+
+ /* kick off rebuild here */
+ if (setup->type == 2) {
+ rdp->disks[1].flags &= ~AR_DF_ONLINE;
+ rdp->disks[1].flags |= AR_DF_SPARE;
+ }
ar_attach_raid(rdp, 1);
+ ata_raid_rebuild(array);
setup->unit = array;
return 0;
}
-Søren
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200301071139.h07BdFfG003172>
