Weird enbd failure while updating md superblock
Bas van Schaik <[email protected]> Tue, 13 Jun 2006 13:35:03 +0200
| Newsgroups | gmane.linux.enbd.general |
|---|---|
| Message-ID | <[email protected]> |
Hi all, 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! > Jun 13 04:00:31 localhost enbd-client: enbd-netserver 3127: # 161 > recv_reply: stream read of 131072 bytes returned -110 > Jun 13 04:00:31 localhost enbd-client: enbd-netserver 3127: # 514 > net_read: net_read (1) exits FAIL > Jun 13 04:00:31 localhost enbd-client: enbd-client 3127: #1654 > handle_server_cmd_err: (1) cmd failed Input/output error on > 10.1.0.2:1102 so clear socket > Jun 13 04:00:31 localhost enbd-client: enbd-client 3127: # 162 > unplug: requested unplug (1) Input/output error on 10.1.0.2:1102 so > clear socket > Jun 13 04:00:31 localhost enbd-client: enbd-netserver 3128: # 161 > recv_reply: stream read of 131072 bytes returned -110 > Jun 13 04:00:31 localhost enbd-client: enbd-netserver 3128: # 514 > net_read: net_read (2) exits FAIL > Jun 13 04:00:31 localhost enbd-client: enbd-client 3128: #1654 > handle_server_cmd_err: (2) cmd failed Input/output error on > 10.1.0.2:1102 so clear socket > Jun 13 04:00:31 localhost enbd-client: enbd-client 3128: # 162 > unplug: requested unplug (2) Input/output error on 10.1.0.2:1102 so > clear socket > Jun 13 04:00:31 localhost enbd-client: enbd-netserver 3126: # 161 > recv_reply: stream read of 131072 bytes returned -110 > Jun 13 04:00:31 localhost enbd-client: enbd-netserver 3126: # 514 > net_read: net_read (0) exits FAIL > Jun 13 04:00:31 localhost enbd-client: enbd-client 3126: #1654 > handle_server_cmd_err: (0) cmd failed Input/output error on > 10.1.0.2:1102 so clear socket > Jun 13 04:00:31 localhost enbd-client: enbd-client 3126: # 162 > unplug: requested unplug (0) Input/output error on 10.1.0.2:1102 so > clear socket > Jun 13 04:00:31 localhost enbd-client: enbd-netserver 3129: # 161 > recv_reply: stream read of 131072 bytes returned -110 > Jun 13 04:00:31 localhost enbd-client: enbd-netserver 3129: # 514 > net_read: net_read (3) exits FAIL > Jun 13 04:00:31 localhost enbd-client: enbd-client 3129: #1654 > handle_server_cmd_err: (3) cmd failed Input/output error on > 10.1.0.2:1102 so clear socket > Jun 13 04:00:31 localhost enbd-client: enbd-client 3129: # 162 > unplug: requested unplug (3) Input/output error on 10.1.0.2:1102 so > clear socket > Jun 13 04:00:31 localhost kernel: ENBD #3356[6]: enbd_soft_reset > DISABLE DEVICE ndb > Jun 13 04:00:31 localhost kernel: ENBD #3278[4]: > enbd_disable_and_notify disabled device ndb > Jun 13 04:00:31 localhost kernel: ENBD #3358[6]: enbd_soft_reset CLEAR > QUEUE DEVICE ndb > Jun 13 04:00:31 localhost kernel: raid5: Disk failure on ndb, > disabling device. Operation continuing on 1 devices And from the serverside logs (note that the time is not synchronized!): > Jun 13 04:01:50 localhost enbd-server: enbd-server 4334: #1962 > newproto: (ERROR) net errored (header 128 got 0) on req. Breaking off. > Jun 13 04:01:51 localhost enbd-server: enbd-server 4335: #1962 > newproto: (ERROR) net errored (header 128 got 0) on req. Breaking off. > Jun 13 04:01:51 localhost enbd-server: enbd-server 4334: #2236 > mainloop: (ERROR) Server time out waiting 30s in mainloop. Breaking off > Jun 13 04:01:51 localhost enbd-server: enbd-server 4335: #2236 > mainloop: (ERROR) Server time out waiting 30s in mainloop. Breaking off > Jun 13 04:01:51 localhost enbd-server: enbd-server 4333: #1962 > newproto: (ERROR) net errored (header 128 got 0) on req. Breaking off. > Jun 13 04:01:51 localhost enbd-server: nbd/alarm 4336: # 150 > unchain_current_ualarm: signalling ALRM for late (0.000000s) alarm > 0xbffff9e0 of 30.000000s > Jun 13 04:01:51 localhost enbd-server: enbd-server 4336: #2236 > mainloop: (ERROR) Server time out waiting 30s in mainloop. Breaking off > Jun 13 04:01:51 localhost enbd-server: enbd-server 4333: #2236 > mainloop: (ERROR) Server time out waiting 30s in mainloop. Breaking off > Jun 13 04:01:59 localhost enbd-server: enbd-server 4334: #1190 > slavesighandler: (WARNING) server (1) activates slave sighandler for > signal 15 > Jun 13 04:02:00 localhost enbd-server: enbd-server: server (1) > sighandler terminates slave 4334 safely > Jun 13 04:02:00 localhost enbd-server: enbd-server 4335: #1190 > slavesighandler: (WARNING) server (2) activates slave sighandler for > signal 15 > Jun 13 04:02:00 localhost enbd-server: enbd-server: server (2) > sighandler terminates slave 4335 safely > Jun 13 04:02:00 localhost enbd-server: enbd-server: server (-1) > session relaunches child after SIGCHLD > Jun 13 04:02:00 localhost enbd-server: enbd-server: server (-1) slave > pid 4334 is down, launching new > Jun 13 04:02:00 localhost enbd-server: enbd-server: server (1) set > default signal handlers > Jun 13 04:02:00 localhost enbd-server: enbd-server: server (-1) > launched slave pid 4361 > Jun 13 04:02:00 localhost enbd-server: enbd-server: server (-1) > session relaunches child after SIGCHLD > Jun 13 04:02:00 localhost enbd-server: enbd-server: server (-1) slave > pid 4335 is down, launching new > Jun 13 04:02:00 localhost enbd-server: enbd-server: server (2) set > default signal handlers > Jun 13 04:02:00 localhost enbd-server: enbd-server: server (-1) > launched slave pid 4362 > Jun 13 04:02:00 localhost enbd-server: enbd-server 4333: #1190 > slavesighandler: (WARNING) server (0) activates slave sighandler for > signal 15 > Jun 13 04:02:00 localhost enbd-server: enbd-server: server (0) > sighandler terminates slave 4333 safely > Jun 13 04:02:00 localhost enbd-server: enbd-server: server (-1) > session relaunches child after SIGCHLD > Jun 13 04:02:00 localhost enbd-server: enbd-server: server (-1) slave > pid 4333 is down, launching new > Jun 13 04:02:00 localhost enbd-server: enbd-server: server (0) set > default signal handlers > Jun 13 04:02:00 localhost enbd-server: enbd-server: server (-1) > launched slave pid 4363 > Jun 13 04:02:01 localhost enbd-server: enbd-server 4336: #1190 > slavesighandler: (WARNING) server (3) activates slave sighandler for > signal 15 > Jun 13 04:02:01 localhost enbd-server: enbd-server: server (3) > sighandler terminates slave 4336 safely > Jun 13 04:02:01 localhost enbd-server: enbd-server: server (-1) > session relaunches child after SIGCHLD > Jun 13 04:02:01 localhost enbd-server: enbd-server: server (-1) slave > pid 4336 is down, launching new > Jun 13 04:02:01 localhost enbd-server: enbd-server: server (3) set > default signal handlers > Jun 13 04:02:01 localhost enbd-server: enbd-server: server (-1) > launched slave pid 4364 > Jun 13 04:03:59 localhost enbd-server: enbd-server 4361: #3131 > negotiate: (ERROR) Server timed out in negotiate Time currently seems to differ about 1m10s. 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". -- Bas