geom_raid5 livelock?

CyberLeo Kitsana cyberleo at cyberleo.net
Fri Jan 12 20:29:18 UTC 2007


R. B. Riddick wrote:
> --- CyberLeo Kitsana <cyberleo at cyberleo.net> wrote:
>> I've been making use of the geom_raid5 class for FreeBSD 6.2-PRERELEASE. 
>> I've noticed an odd behavior lately, with the latest sources provided 
>> (as of 2006-01-10) in which, with 'safeop' enabled, the raid5 will stop 
>> responding.
>>
> Ohoh...
> 
>> All works beautifully, until several dozen gigabytes are transferred to 
>> or from the filesystem with safeop enabled, at which point the 
>> filesystem will grow quickly less responsive, and eventually cease 
>> responding entirely (processes stuck in diskwait) CPU usage is at 0%, 
>> and all four members of the raid5 are being read at around 160kB/sec 
>> (16kB/t, 10tps) constantly. It does not naturally recover within 72 
>> hours. The mirror is unaffected by this behavior.
>>
> Strange... :-)
> SAFEOP means, that a failed disk leads to an IO error for every request, and
> that every read request reads all corresponding disk areas (if possible) and
> checks parity. SAFEOP mode is surely useful, if u want to be sure, that neither
> ur disks nor ur operating system provide bogus data... SAFEOP mode causes a lot
> of disk activity (e. g. in case of sequential read, it reads n-1 times (where n
> is the disk count of the RAID5) the whole stripe (n blocks)...).
> This special form of a read request is used by the rebuild-procedure, so that
> it should work fine...
> 
> What does "graid5 list" say in those times?
> Are there any special messages logged via syslog in those times?
> 
>> When this occurs, the moment safeop is disabled on the raid5, all the 
>> problems cease, the filesystem begins responding and the programs resume.
>>
> So the kernel does not panic or so...? :-)
> 
>> Is this intentional, an artifact of the hardware or layout I'm using, or 
>> could this be indicative of an obscure bug somewhere? Can I provide any 
>> additional information which would assist in tracking this down?
>>
> I would guess: An obscure bug in graid5...
> 
> You could try to put gcache between the disks and graid5...
> And the syslog messages (if there r any) would be very interesting (like
> messages about read error or disk failure or so)...

Hence the testing. I wish to ensure there are as few problems as 
possible when this is put into production.

The kernel does not panic, and everything resumes just fine as soon as 
safeop is disabled. There are no new messages in the kernel log, nor in 
syslog, and all disks are operating properly, if slowly (around 40 
kilobytes per second each, with dd bs=4096).

Also, gcache doesn't seem to exist in the base system. Is this easier to 
build than gjournal? (patching for that caused a whole ton of kernel and 
world problems I'd rather not revisit)

The attached list was taken during the most recent lockup.

----
[cyberleo at mikayla ~]$ graid5 list
Geom name: raid5
State: COMPLETE CALM (safeop)
Status: Total=4, Online=4
Type: AUTOMATIC
Pending: (wqp 0 // 0)
Stripesize: 32768
MemUse: 147456 (msl 7)
Newest: -1
ID: 3906282509
Providers:
1. Name: raid5/raid5
    Mediasize: 1193822846976 (1.1T)
    Sectorsize: 512
    Mode: r1w1e1
Consumers:
1. Name: ad6s2
    Mediasize: 397940981760 (371G)
    Sectorsize: 512
    Mode: r2w2e2
    DiskNo: 3
    Error: No
2. Name: ad4s2
    Mediasize: 397940981760 (371G)
    Sectorsize: 512
    Mode: r2w2e2
    DiskNo: 2
    Error: No
3. Name: ad2s2
    Mediasize: 397940981760 (371G)
    Sectorsize: 512
    Mode: r2w2e2
    DiskNo: 1
    Error: No
4. Name: ad0s2
    Mediasize: 397940981760 (371G)
    Sectorsize: 512
    Mode: r2w2e2
    DiskNo: 0
    Error: No
----

--
Fuzzy love,
-CyberLeo
Technical Administrator
CyberLeo.Net Webhosting
http://www.CyberLeo.Net
<CyberLeo at CyberLeo.Net>

Furry Peace! - http://www.fur.com/peace/


More information about the freebsd-geom mailing list