Hi all, just to repeat my question without further surrounding facts and doubts; How can I find out which client is currently being recovered? (If the MDS is in recovery at that moment) How to find out which client is not recoverable (if recovery gets stuck)? The MDS seems to know, because during it is waiting for such a client - I''d like to know, too. Thanks, Thomas
On Feb 27, 2009 14:16 +0100, Thomas Roth wrote:> just to repeat my question without further surrounding facts and doubts; > > How can I find out which client is currently being recovered? (If the > MDS is in recovery at that moment) > How to find out which client is not recoverable (if recovery gets stuck)? > > The MDS seems to know, because during it is waiting for such a client - > I''d like to know, too.Good question, and I don''t think there is a good answer. There is a patch developed recently to put the recovery state of each client into /proc, but I''m not sure where it landed yet. I _think_ this would allow you to do "grep RECOVERING /proc/fs/lustre/mds/*/exports/*/import_state" or similar. Robert, do you recall the bug and/or state of the per-client export stats? Cheers, Andreas -- Andreas Dilger Sr. Staff Engineer, Lustre Group Sun Microsystems of Canada, Inc.
On Feb 27, 2009, at 09:54 , Andreas Dilger wrote:> On Feb 27, 2009 14:16 +0100, Thomas Roth wrote: >> just to repeat my question without further surrounding facts and >> doubts; >> >> How can I find out which client is currently being recovered? (If the >> MDS is in recovery at that moment) >> How to find out which client is not recoverable (if recovery gets >> stuck)? >> >> The MDS seems to know, because during it is waiting for such a >> client - >> I''d like to know, too. > > Good question, and I don''t think there is a good answer. There is a > patch > developed recently to put the recovery state of each client into / > proc, > but I''m not sure where it landed yet. I _think_ this would allow > you to > do "grep RECOVERING /proc/fs/lustre/mds/*/exports/*/import_state" or > similar. > > Robert, do you recall the bug and/or state of the per-client export > stats?I don''t recall any bug for per-client export stats. As of 1.6.6 there is now a file in proc for per-import stats, but those are on the client, eg: [root at client1 tests]# cat /proc/fs/lustre/mdc/*/import import: lustre-MDT0000-mdc-cf4f3e00 target: lustre-MDT0000_UUID at 10.0.1.180@tcp state: FULL inflight: 0 unregistering: 0 conn_cnt: 2 generation: 1 inval_cnt: 0 last_replay_transno: 0 peer_committed_transno: 0 last_trasno_checked: 0 flags: replayable pingable robert> > > Cheers, Andreas > -- > Andreas Dilger > Sr. Staff Engineer, Lustre Group > Sun Microsystems of Canada, Inc. >
On Mar 02, 2009 09:26 -0800, Robert Read wrote:> I don''t recall any bug for per-client export stats. As of 1.6.6 there is > now a file in proc for per-import stats, but those are on the client, eg: > > [root at client1 tests]# cat /proc/fs/lustre/mdc/*/import > import: lustre-MDT0000-mdc-cf4f3e00 > target: lustre-MDT0000_UUID at 10.0.1.180@tcp > state: FULL > inflight: 0 > unregistering: 0 > conn_cnt: 2 > generation: 1 > inval_cnt: 0 > last_replay_transno: 0 > peer_committed_transno: 0 > last_trasno_checked: 0 > flags: replayable pingableAh, that is what I was thinking about. Having something similar for each export on the server reporting the recovery state information (e.g. flags, conn_cnt, last_replay_transno, last_request_time, connect_flags, etc) would be quite useful for a number of debugging reasons. Cheers, Andreas -- Andreas Dilger Sr. Staff Engineer, Lustre Group Sun Microsystems of Canada, Inc.