Date: Thu, 23 Jun 2011 02:27:35 -0700 From: Jeremy Chadwick <freebsd@jdc.parodius.com> To: Alexander Motin <mav@FreeBSD.org> Cc: freebsd-fs@freebsd.org, freebsd-stable@freebsd.org Subject: Re: MFC: graid(8) (RAID GEOM) support Message-ID: <20110623092735.GA2464@icarus.home.lan> In-Reply-To: <20110622103703.GA14901@icarus.home.lan> References: <20110618005124.GA43568@icarus.home.lan> <20110621191626.GA99204@icarus.home.lan> <4E01AFBA.809@FreeBSD.org> <20110622103703.GA14901@icarus.home.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jun 22, 2011 at 03:37:03AM -0700, Jeremy Chadwick wrote: > 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@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 A follow-up to this issue. I went ahead with the following: rm -fr /usr/obj rm -fr /usr/src/* rm -fr /var/db/sup/src-all csup -4 -L 2 -h cvsup10.freebsd.org /usr/share/examples/cvsup/stable-supfile <...put my kernel config back into in /sys/amd64/conf...> cd /usr/src make -j4 buildworld && make -j4 buildkernel And here's what I've in /usr/obj. Note that the find statement is looking for graid* and geom_raid* while excluding raid3 stuff: icarus# find /usr/obj \( -name "graid*" -or -name "geom_raid*" \) -and \! -name "*raid3*" -ls 921216 16 -rw-r--r-- 1 root wheel 6600 Jun 23 01:10 /usr/obj/usr/src/sbin/geom/class/raid/geom_raid.So 921219 8 -rw-r--r-- 1 root wheel 2952 Jun 23 01:10 /usr/obj/usr/src/sbin/geom/class/raid/graid.8.gz 921223 44 -rwxr-xr-x 1 root wheel 20913 Jun 23 01:10 /usr/obj/usr/src/sbin/geom/class/raid/geom_raid.so 991578 4 drwxr-xr-x 2 root wheel 1024 Jun 23 02:04 /usr/obj/usr/src/sys/X7SBA_RELENG_8_amd64/modules/usr/src/sys/modules/geom/geom_raid 992668 2368 -rw-r--r-- 1 root wheel 1181256 Jun 23 02:04 /usr/obj/usr/src/sys/X7SBA_RELENG_8_amd64/modules/usr/src/sys/modules/geom/geom_raid/geom_raid.ko.debug 992669 2048 -rw-r--r-- 1 root wheel 1029944 Jun 23 02:04 /usr/obj/usr/src/sys/X7SBA_RELENG_8_amd64/modules/usr/src/sys/modules/geom/geom_raid/geom_raid.ko.symbols 992670 640 -rw-r--r-- 1 root wheel 307696 Jun 23 02:04 /usr/obj/usr/src/sys/X7SBA_RELENG_8_amd64/modules/usr/src/sys/modules/geom/geom_raid/geom_raid.ko This looks a *lot* better. Note that I went with cvsup10 instead of cvsup9; cvsup9 appears to be down right now (I've tried from other hosts), which makes me wonder if somehow that server is "out of whack" in some way. icarus# telnet cvsup9.freebsd.org 5999 Trying 208.83.20.166... ^C Sorry for the noise, Alexander! -- | 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 |
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110623092735.GA2464>