On Wed Feb 06, 2013 at 06:52:58AM -0500, Wakko Warner wrote: > I was testing different parameters with --assume-clean to avoid the initial > rebuild. When I decided on the parameters I wanted, I forgot to create the > array without --assume-clean. I have 3 disks in the array. > > I thought that I'd run a check on it by doing > echo check > /sys/block/md0/md/sync_action > > /proc/mdstat is showing this: > Personalities : [raid1] [raid6] [raid5] [raid4] > md0 : active raid5 sda1[0] sdb1[1] sdc1[2] > 488018688 blocks super 1.1 level 5, 64k chunk, algorithm 2 [3/3] [UUU] > [============>........] check = 61.7% (150688512/244009344) finish=7.1min speed=216592K/sec > > unused devices: <none> > > The thing is, the drives can only do ~60mb/sec and there is no disk > activity. The activity lights are not lit at all. What would cause that? > What disks are they? I would expect a modern SATA disk to be able to handle 120MB/s for sequential read, so 220 across the array would be pretty normal. > I was also wondering if the raid5 did RMW on the parity with 3 disks when > the array is written to. > Not sure what the logic is on this. For a 3 disk array it'd need a single read and 2 writes for a single chunk, whether it's doing RMW or not. It will probably still do RMW though, as that avoids the complication of special-casing things. I've had a quick look at the code and I can't see any special casing (other than for a 2 disk array, where the same data is written to both). > I can rebuild the array without assume-clean if that's the only way I can > get the parity to be correct, but I'd like to avoid doing that if possible. > That's definitely the safest option. If you can verify the data then you could run a repair and a fsck before verifying/restoring the data, but that'd take far longer than a simple rebuild and restore. HTH, Robin -- ___ ( ' } | Robin Hill <robin@xxxxxxxxxxxxxxx> | / / ) | Little Jim says .... | // !! | "He fallen in de water !!" |
Attachment:
pgp55KRr3jAoF.pgp
Description: PGP signature