Re: Weird enbd failure while updating md superblock

Bas van Schaik <[email protected]> Tue, 13 Jun 2006 23:40:15 +0200
Newsgroups gmane.linux.enbd.general
Message-ID <[email protected]>
Hi Peter,

>>Lately, one of my RAID5-arrays on top of ENBD ran out of sync, causing
>>it to run in degraded mode (2 of 3 disks available). No problem, of
>>course, I just hotadded the third device (ndc) again and a resync was
>>initiated. However, this resync failed while updating the md superblock
>>on one of the up-and-running devices. From the clientside syslog:
>>
>>
>>>Jun 13 04:00:12 localhost kernel: ENBD #1163[0]: enbd_rollback (0):
>>>rollback req c3bc7b8c!
>>>Jun 13 04:00:12 localhost kernel: ENBD #1163[1]: enbd_rollback (1):
>>>rollback req c41f65ec!
>>>Jun 13 04:00:12 localhost kernel: ENBD #1163[2]: enbd_rollback (2):
>>>rollback req ced2404c!
>>>Jun 13 04:00:12 localhost kernel: ENBD #1163[3]: enbd_rollback (3):
>>>rollback req c419f04c!
> 
> 
> Timeout (I'm a little surprised the device was in that mode, rather
> than erroring on timeouts - it indicates you're not using the fr1 patch
> part that alters md to talk to the enbd driver about what mode they
> think each other should be in; it works for raid5 too).
True, I didn't take the time to patch my kernel with it (for kernel 2.6
there's only a kernel patch available, for 2.4 also a module, if I'm right)


>> (...)
>>Time currently seems to differ about 1m10s.
> Are you saying these are simultaneous, despite the apparent time
> difference in the logs.
If I compare the two times, correcting them with the given difference, I
would say the client saw a problem exactly 10 seconds before the server
did. However, the given time difference was computed after two non-clean
reboots, so I cannot guarantee it's accurate at all...


>>Currently I'm running a new resync (hdc and ndb are in-sync, ndc
>>out-of-sync), I'll report any problems back to the list. Does anyone
>>have any idea what could be the cause of this? Currently, this setup is
>>just a "backup of a backup", but it should be stable... By the way: I'm
>>using the semi-latest 2.4.33pre, which is stable on another "cluster".
> 
> 
> It looks as though one side or the other lost the network connection.
> There's no actual "error" logged here, just reactions to network
> outages. Without knowing the exact time difference (is it exactly 70s)
> it's hard to say what happened first. I suppose the client saw the net
> disappear first in the middle of some transaction and shut down. The
> server also saw the same transaction fail and shut down on timeout.
Knowing that there's no actual enbd error gives me confidence and hope :)


> If you were doing a rsync, I would suspect that it filled memory
> somehow, leaving nothing for the tcp buffers, leading to timeouts (I
> run rsync every night on many machines for many gigabytes of backups,
> and it can get stuck on its own, so I do rsync on each subdir on its
> own, and set a timeout - the "stuckness" is cured by a STOP CONT signal
> pair, but I can't be bothered to do anything about programming it). If
> you were doing a raid5 resync on its own, well, I dunno.
Hmmm... The filling memory-thing would be almost impossible: I'm
resyncing now and both machines have at least 750MB free (some RAM, and
a bunch of swap), which should be enough! I'll wait for the result of
the current resync, maybe it was just a stupidity of me which I can't
recall. Anyhow, thanks for your feedback, it's really appreciated!

-- Bas