I hope this is the appropriate mailing list for this question, if not please redirect me as needed. My goal is to create a filesystem consisting of a striped raid array over 3 mirror raid arrays that would encompass the entire filesystem including the /boot and root partitions. Generally I would create a RAID10 from 6 disks as follows: gmirror label -v -b round-robin md1 da0 da1 gmirror label -v -b round-robin md2 da2 da3 gmirror label -v -b round-robin md3 da4 da5 gstripe label -v -s 131072 md0 /dev/mirror/md1 /dev/mirror/md2 /dev/mirror/md3 newfs /dev/stripe/md0 naturally the problem here is that it cannot be done on a system that booted from da0. I have seen the example of setting up a mirrored system drive (http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/geom-mirror.html ) which won't quite work for my case either. Using this method I could probably get the one mirror (md1) to work, but I know of no way of then adding the other 2 mirror sets and then redoing the system to stripe across all 3 mirrored sets. The only thing I could think of was to boot from the livecd and create the 6-disk array and then trying to install FreeBSD onto this filesystem. In order to do this the installer would have to recognize /dev/stripe/md0 as a valid "drive" -- is there any way to have this happen? Sven
On Tue, January 17, 2006 15:09, Sven Willenberger wrote:> > My goal is to create a filesystem consisting of a striped raid array > over 3 mirror raid arrays that would encompass the entire filesystem > including the /boot and root partitions. >Check out: http://www.onlamp.com/pub/a/bsd/2005/11/10/FreeBSD_Basics.html I don't see why you couldn't modify Dru's instructions to build your array. -- Regards, Doug
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Sven Willenberger wrote:> I hope this is the appropriate mailing list for this question, if not > please redirect me as needed. > > My goal is to create a filesystem consisting of a striped raid array > over 3 mirror raid arrays that would encompass the entire filesystem > including the /boot and root partitions. > > Generally I would create a RAID10 from 6 disks as follows: > > gmirror label -v -b round-robin md1 da0 da1 > gmirror label -v -b round-robin md2 da2 da3 > gmirror label -v -b round-robin md3 da4 da5 > > gstripe label -v -s 131072 > md0 /dev/mirror/md1 /dev/mirror/md2 /dev/mirror/md3 > > newfs /dev/stripe/md0 > > naturally the problem here is that it cannot be done on a system that > booted from da0. I have seen the example of setting up a mirrored system > drive > (http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/geom-mirror.html ) > > which won't quite work for my case either. Using this method I could > probably get the one mirror (md1) to work, but I know of no way of then > adding the other 2 mirror sets and then redoing the system to stripe > across all 3 mirrored sets. > > The only thing I could think of was to boot from the livecd and create > the 6-disk array and then trying to install FreeBSD onto this > filesystem. In order to do this the installer would have to > recognize /dev/stripe/md0 as a valid "drive" -- is there any way to have > this happen? > > Sven >I've done this for a server in our office. I used four disks, and did the following : Split each disk on 2 parts, one about 60M for /boot, and the other part to the end of the disk. Then i created geom_mirror from the four 60M slices. (yah, mirror from 4 devices, it wastes a little space, but so what disks are cheap) and then with the big slices i created two geom_mirrors with 2 slices each, and then mirrored them. It looks something like this : root@srv# mount /dev/mirror/gm0 on /boot_mirror (ufs, local, noatime, synchronous) /dev/stripe/gs0a on / (ufs, local, noatime, with quotas, soft-updates) root@srv# gmirror status Name Status Components mirror/gm0 COMPLETE da0s1a da1s1a da2s1a da3s1a mirror/gm1 COMPLETE da0s1d da1s1d mirror/gm2 COMPLETE da2s1d da3s1d root@srv# gstripe status Name Status Components stripe/gs0 UP mirror/gm1 mirror/gm2 root@srv# root@srv# cat /boot/loader.conf geom_mirror_load="YES" geom_stripe_load="YES" vfs.root.mountfrom="ufs:/dev/stripe/gs0a" root@srv# ls -lad /boot* lrwxr-xr-x 1 root wheel 16 Jun 25 2005 /boot -> boot_mirror/boot drwxr-xr-x 4 root wheel 512 Jun 25 2005 /boot_mirror Then i can boot a RAID-10 software array with GEOM on FreeBSD and also have the added bonus that i can boot from any of the four disks if any fails. (well, i guess i still will have to chose other disk for boot from the scsi bios) Regards, - --niki -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFDzXC+HNAJ/fLbfrkRAlKyAJ9bhXwCQe2ZuLI6KL32yRGWCrnhsACfVSrM TkQzpNM4UVy9V0OSNAk9RLY=NNNa -----END PGP SIGNATURE-----
* Sven Willenberger <sven@dmv.com> [20060117 22:06]:> over 3 mirror raid arrays that would encompass the entire filesystem > including the /boot and root partitions. > > Generally I would create a RAID10 from 6 disks as follows: > > gmirror label -v -b round-robin md1 da0 da1 > gmirror label -v -b round-robin md2 da2 da3 > gmirror label -v -b round-robin md3 da4 da5 > > gstripe label -v -s 131072 > md0 /dev/mirror/md1 /dev/mirror/md2 /dev/mirror/md3 > > newfs /dev/stripe/md0 > > naturally the problem here is that it cannot be done on a system that > booted from da0. I have seen the example of setting up a mirrored system > drive > (http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/geom-mirror.html ) > > which won't quite work for my case either. Using this method I could > probably get the one mirror (md1) to work, but I know of no way of then > adding the other 2 mirror sets and then redoing the system to stripe > across all 3 mirrored sets.Uhm. The problem is that you can't mount the root fs from a striped partition. Create an extra slice on each drive and either configure a 6-way mirror or a mirror-of-3-sripes to boot from.> The only thing I could think of was to boot from the livecd and create > the 6-disk array and then trying to install FreeBSD onto this > filesystem. In order to do this the installer would have to > recognize /dev/stripe/md0 as a valid "drive" -- is there any way to have > this happen?I don't believe sysinstall is smart enough, but you can always use the install.sh scripts on the distribution. However, the above still aplies. qvb -- pica