dmraid lockup in Samba

Ok, honestly, it’s my first post here, and there are so many moving parts that I’m not entirely sure this is the best first forum to post in, but here goes:

I just built a server using an Nvidia hardware RAID chipset on an HP machine putting a terabyte available with three disks for LVM to divvy up and offer on the network as shares using Samba.

It’s all working just fine except that the kraid45d device just seems to hang forever sometimes (well over ten seconds, and pretty regularly).

One can browse the disk w/o error via the network (that’s all we’re really talking here is browsing since it’s just set up) until the daemon hangs, and then the client hangs until Samba’s gotten the info from the rest of the system.

They really need this machine to be offering disks asap, and the working plan is to ‘un-RAID’ it and do something else if the RAID drivers can’t actually drive (or drive poorly). If you ask it, it’s not reporting errors.

dmraid -r
/dev/sdd: nvidia, “nvidia_gdifbbfg”, raid5_ls, ok, 976773166 sectors, data@ 0
/dev/sdc: nvidia, “nvidia_gdifbbfg”, raid5_ls, ok, 976773166 sectors, data@ 0
/dev/sdb: nvidia, “nvidia_gdifbbfg”, raid5_ls, ok, 976773166 sectors, data@ 0

lvdisplay
— Logical volume —
LV Name /dev/raid_array/vol_one
VG Name raid_array
LV UUID IGlDbM-CGSR-PbkN-0GTe-arbo-UzvN-9JvnUz
LV Write Access read/write
LV Status available

open 1

LV Size 100.00 MB
Current LE 25
Segments 1
Allocation inherit
Read ahead sectors auto

  • currently set to 256
    Block device 253:1

— Logical volume —
LV Name /dev/raid_array/Primary_share
VG Name raid_array
LV UUID UrO3rE-foRE-X16m-B3Q2-Yql1-Q8S4-SYChj8
LV Write Access read/write
LV Status available

open 1

LV Size 300.00 GB
Current LE 76800
Segments 1
Allocation inherit
Read ahead sectors auto

  • currently set to 256
    Block device 253:2

— Logical volume —
LV Name /dev/raid_array/scans
VG Name raid_array
LV UUID Gy0RLP-WJel-rf9t-jt26-WgYO-P1FM-0nfxFX
LV Write Access read/write
LV Status available

open 1

LV Size 100.00 GB
Current LE 25600
Segments 1
Allocation inherit
Read ahead sectors auto

  • currently set to 256
    Block device 253:3

Hmm, viewing the other bits in this forum, I see that 256 is an absurd number for read-ahead sectors in such a splendid device.

I set it to 65536 using the blockdev fix mentioned.

It seems much happier now.

One would think that kind of non-brain-dead setting would be a default, but then, one would be thinking then, and not operating.

I’m guessing there’s a discovery aspect missing in the setup which users would find most pleasant.

If anyone would care to clue me in on how to participate in the ‘fix’ process here I’d be happy to work on that level. I’ve not yet done this kind of work, but in twenty years of ‘doing this kind of work’, I’ve never done the kind of work that the current level of work required, yano?

It’s kind of like a doctor who works on patients that evolve before their eyes, if you think about it.>:)