[LU-12722] exclude local client mounted on MDS/OSS from recovery Created: 02/Sep/19  Updated: 29/Oct/20  Resolved: 21/Feb/20

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.14.0

Type: Improvement Priority: Minor
Reporter: Alex Zhuravlev Assignee: Alex Zhuravlev
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Duplicate
Related
is related to LU-13379 interop b2_12/master: lustre-initiali... Resolved
is related to LU-10191 FLR2: Server Local Client (SLC) Reopened
is related to LU-10158 FLR: Define a replica choosing policy... Open
is related to LU-2605 reduce the failover time when the MDS... Resolved
Rank (Obsolete): 9223372036854775807

 Description   

In order to mount a client locally on the OSS or MDS without affecting the recovery of local targets, we need the ability to mount without inserting the client into the last_rcvd file. That avoids the problem when a client+server crashes and the local client UUID is no longer available for the recovery, causing recovery to always take the maximum time.

Any modifying RPCs to the local OST should be synchronous by default, or possibly use commit-on-share, so that they do not need to be replayed if the server restarts. This implies that it is more desirable to schedule lfs mirror resync in such a way that it is reading from the local OSS and writing to a remote OSS. It might be desirable to allow this functionality to be disabled for testing purposes (e.g. local client mount in test scripts), or if local performance is more important than waiting for recovery to time out.

It should be possible to enable this mode automatically at mount time based on the client NID, rather than having e.g. a mount option force a "local mount", since it would only apply to targets that are on the same OSS/MDS and not remote targets



 Comments   
Comment by Gerrit Updater [ 02/Sep/19 ]

Alex Zhuravlev (bzzz@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/36025
Subject: LU-12722 protocol: local client support
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: ba0236c740746607956e17a9d3e31f90a1cf305d

Comment by Alex Zhuravlev [ 04/Sep/19 ]

Andreas, currently "local" mount option doesn't enforce this mode, but makes it possible if the server finds client's NID to match own NID.
I plan to make an experiment to enable this capability by default, but currently that would break recovery testing on local setups.

Comment by Gerrit Updater [ 20/Feb/20 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36025/
Subject: LU-12722 target: disable recovery for local clients
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 8bd04b4e57663e02e9384727eca4df84d99edb3c

Comment by Joseph Gmitter (Inactive) [ 21/Feb/20 ]

Landed to master for 2.14.0

Generated at Sat Feb 10 02:55:04 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.