[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-fs
Subject:    Re: MFC: graid(8) (RAID GEOM) support
From:       Jeremy Chadwick <freebsd () jdc ! parodius ! com>
Date:       2011-06-23 9:27:35
Message-ID: 20110623092735.GA2464 () icarus ! home ! lan
[Download RAW message or body]

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 |

_______________________________________________
freebsd-fs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-fs
To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic