MFC: graid(8) (RAID GEOM) support
Jeremy Chadwick
freebsd at jdc.parodius.com
Wed Jun 22 10:37:06 UTC 2011
On Wed, Jun 22, 2011 at 12:02:50PM +0300, Alexander Motin wrote:
> Jeremy Chadwick wrote:
> > On Fri, Jun 17, 2011 at 05:51:24PM -0700, Jeremy Chadwick wrote:
> >> Sorry for the cross-post, but I thought both lists would want to know
> >> about this.
> >>
> >> Looks like mav@ just committed this ~17 hours ago:
> >> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/geom/raid/g_raid.c
> >>
> >> Those who have historically wanted to use Intel MatrixRAID (now called
> >> Intel RST (Rapid Storage Technology)), but haven't due to the severe
> >> issues/risks with ataraid(4), will probably be very interested in
> >> this commit. I know I am!
> >>
> >> I plan on stress-testing the Intel support on a 2-disk system with
> >> RAID-1 enabled, and will document my experiences, procedures, etc...
> >>
> >> Thanks, mav@ and imp@ !
> >>
> >> I'll be sending another mail momentarily asking about USB memory stick
> >> image building, since to accomplish the above, I want to do a
> >> "bare-bones" install on our test system (e.g. enable Intel RAID, set up
> >> 2 disks in a RAID-1 mirror, boot a USB memory stick that contains this
> >> latest RELENG_8 build, and do sysinstall, etc.. the normal way).
> >>
> >>
> >> =====================================================================
> >> MFC r219974, r220209, r220210, r220790:
> >> Add new RAID GEOM class, that is going to replace ataraid(4) in supporting
> >> various BIOS-based software RAIDs. Unlike ataraid(4) this implementation
> >> does not depend on legacy ata(4) subsystem and can be used with any disk
> >> drivers, including new CAM-based ones (ahci(4), siis(4), mvs(4), ata(4)
> >> with `options ATA_CAM`). To make code more readable and extensible, this
> >> implementation follows modular design, including core part and two sets
> >> of modules, implementing support for different metadata formats and RAID
> >> levels.
> >>
> >> Support for such popular metadata formats is now implemented:
> >> Intel, JMicron, NVIDIA, Promise (also used by AMD/ATI) and SiliconImage.
> >>
> >> Such RAID levels are now supported:
> >> RAID0, RAID1, RAID1E, RAID10, SINGLE, CONCAT.
> >>
> >> For all of these RAID levels and metadata formats this class supports
> >> full cycle of volume operations: reading, writing, creation, deletion,
> >> disk removal and insertion, rebuilding, dirty shutdown detection
> >> and resynchronization, bad sector recovery, faulty disks tracking,
> >> hot-spare disks. For Intel and Promise formats there is support multiple
> >> volumes per disk set.
> >>
> >> Look graid(8) manual page for additional details.
> >>
> >> Co-authored by: imp
> >> Sponsored by: Cisco Systems, Inc. and iXsystems, Inc.
> >> =====================================================================
> >
> > By the way, it doesn't look like the graid(8) man page is being brought
> > in to the base system on either of the two RELENG_8 systems I've rebuilt
> > in the past few days.
> >
> > I'm thinking /usr/src/sbin/geom/class/raid/graid.8 isn't being noticed
> > as a man page.
> >
> > /usr/src/sbin/geom/class/raid/Makefile doesn't have MAN8=graid.8 in it,
> > is that the problem?
>
> I've just rebuilt my test 8-STABLE system and it installed graid(8).
Hmm, there must be something I'm missing either in the base system or
the kernel or both. Does this kernel module and/or bits and pieces not
get built unless it's included strictly in the kernel?
Below is one of the two systems, looking for both graid* and geom_raid*.
There's the old geom_raid3 stuff there, and the source bits/pieces for
the new graid(8), but nothing seems built (including kernel module) for
the new graid(8).
If you'd like I can rm -fr /usr/src/* ; rm -fr /var/db/sup/src-all and
then re-download source from an official cvsup mirror (I've been using
cvsup9.freebsd.org for both boxes).
icarus# uname -a
FreeBSD icarus.home.lan 8.2-STABLE FreeBSD 8.2-STABLE #0: Fri Jun 17 18:01:45 PDT 2011 root at icarus.home.lan:/usr/obj/usr/src/sys/X7SBA_RELENG_8_amd64 amd64
icarus# find /usr -name "graid*" -ls
3211128 8 -r--r--r-- 1 root wheel 2521 Jun 17 18:25 /usr/share/man/man8/graid3.8.gz
169318 16 -rw-r--r-- 1 root wheel 6390 Aug 3 2009 /usr/src/sbin/geom/class/raid3/graid3.8
169624 16 -rw-r--r-- 1 root wheel 8126 Jun 16 23:59 /usr/src/sbin/geom/class/raid/graid.8
921430 8 -rw-r--r-- 1 root wheel 2521 Jun 17 17:51 /usr/obj/usr/src/sbin/geom/class/raid3/graid3.8.gz
3369372 4 drwxr-xr-x 2 root wheel 512 May 3 03:58 /usr/ports/sysutils/graid5
icarus#
icarus# find /boot -name "graid*" -ls
icarus#
icarus# find /usr -name "geom_raid*" -ls
169317 20 -rw-r--r-- 1 root wheel 9257 Jan 18 21:13 /usr/src/sbin/geom/class/raid3/geom_raid3.c
165265 8 -rw-r--r-- 1 root wheel 2992 Jun 16 23:59 /usr/src/sbin/geom/class/raid/geom_raid.c
259652 4 drwxr-xr-x 2 root wheel 512 Jun 6 06:28 /usr/src/sys/modules/geom/geom_raid3
285292 4 drwxr-xr-x 2 root wheel 512 Jun 17 17:17 /usr/src/sys/modules/geom/geom_raid
262798 4 drwxr-xr-x 2 root wheel 512 Jun 6 06:29 /usr/src/tools/regression/geom_raid3
921428 48 -rw-r--r-- 1 root wheel 22760 Jun 17 17:51 /usr/obj/usr/src/sbin/geom/class/raid3/geom_raid3.So
921431 64 -rwxr-xr-x 1 root wheel 32207 Jun 17 17:51 /usr/obj/usr/src/sbin/geom/class/raid3/geom_raid3.so
1014175 4 drwxr-xr-x 2 root wheel 512 Jun 17 18:00 /usr/obj/usr/src/sys/X7SBA_RELENG_8_amd64/modules/usr/src/sys/modules/geom/geom_raid3
1015257 736 -rw-r--r-- 1 root wheel 359456 Jun 17 18:00 /usr/obj/usr/src/sys/X7SBA_RELENG_8_amd64/modules/usr/src/sys/modules/geom/geom_raid3/geom_raid3.ko.debug
1015258 640 -rw-r--r-- 1 root wheel 304432 Jun 17 18:00 /usr/obj/usr/src/sys/X7SBA_RELENG_8_amd64/modules/usr/src/sys/modules/geom/geom_raid3/geom_raid3.ko.symbols
1015259 272 -rw-r--r-- 1 root wheel 137448 Jun 17 18:00 /usr/obj/usr/src/sys/X7SBA_RELENG_8_amd64/modules/usr/src/sys/modules/geom/geom_raid3/geom_raid3.ko
icarus#
icarus# find /boot -name "geom_raid*" -ls
94943 272 -r-xr-xr-x 1 root wheel 137448 Jun 17 18:24 /boot/kernel/geom_raid3.ko
94944 640 -r-xr-xr-x 1 root wheel 304432 Jun 17 18:24 /boot/kernel/geom_raid3.ko.symbols
71074 272 -r-xr-xr-x 1 root wheel 137448 Jun 6 05:35 /boot/kernel.old/geom_raid3.ko
71075 640 -r-xr-xr-x 1 root wheel 304432 Jun 6 05:35 /boot/kernel.old/geom_raid3.ko.symbols
--
| Jeremy Chadwick jdc at parodius.com |
| Parodius Networking http://www.parodius.com/ |
| UNIX Systems Administrator Mountain View, CA, US |
| Making life hard for others since 1977. PGP 4BD6C0CB |
More information about the freebsd-fs
mailing list