Hi Colin, the fix is out for rhel5.8.z in rgmanager-2.0.52-28.el5_8.2 and/or higher.
rhel6.4 fix has been built but not verified by our QA team yet. Fabio On 8/30/2012 12:39 PM, Colin Simpson wrote: > Did this fix make it as yet? > > Thanks > > Colin > > On Thu, 2012-05-17 at 11:57 +0200, Fabio M. Di Nitto wrote: >> Hi Colin, >> >> On 5/17/2012 11:47 AM, Colin Simpson wrote: >>> Thanks for all the useful information on this. >>> >>> I realise the bz is not for this issue, I just included it as it has the >>> suggestion that nfsd should actually live in user space (which seems >>> sensible). >> >> Understood. I can“t really say if userland or kernel would make any >> difference in this specific unmount issue, but for "safety reasons" I >> need to assume their design is the same and behave the same way. when/if >> there will be a switch, we will need to look more deeply into it. With >> current kernel implementation we (cluster guys) need to use this approach. >> >>> >>> Out of interest is there a bz # for this issue? >> >> Yes one for rhel5 and one for rhel6, but they are both private at the >> moment because they have customer data in it. >> >> I expect that the workaround/fix (whatever you want to label it) will be >> available via RHN in 2/3 weeks. >> >> Fabio >> >>> >>> Colin >>> >>> >>> On Thu, 2012-05-17 at 10:26 +0200, Fabio M. Di Nitto wrote: >>>> On 05/16/2012 08:19 PM, Colin Simpson wrote: >>>>> This is interesting. >>>>> >>>>> We very often see the filesystems fail to umount on busy clustered NFS >>>>> servers. >>>> >>>> Yes, I am aware the issue since I have been investigating it in details >>>> for the past couple of weeks. >>>> >>>>> >>>>> What is the nature of the "real fix"? >>>> >>>> First, the bz you mention below is unrelated to the unmount problem we >>>> are discussing. clustered nfsd locks are a slightly different story. >>>> >>>> There are two issues here: >>>> >>>> 1) cluster users expectations >>>> 2) nfsd internal design >>>> >>>> (and note I am not blaming either cluster or nfsd here) >>>> >>>> Generally cluster users expect to be able to do things like (fake meta >>>> config): >>>> >>>> <service1.. >>>> <fs1.. >>>> <nfsexport1.. >>>> <nfsclient1.. >>>> <ip1.. >>>> .... >>>> <service2 >>>> <fs2.. >>>> <nfsexport2.. >>>> <nfsclient2.. >>>> <ip2.. >>>> >>>> and be able to move services around cluster nodes without problem. Note >>>> that it is irrelevant of the fs used. It can be clustered or not. >>>> >>>> This setup does unfortunately clash with nfsd design. >>>> >>>> When shutdown of a service happens (due to stop or relocation is >>>> indifferent): >>>> >>>> ip is removed >>>> exportfs -u ..... >>>> (and that's where we hit the nfsd design limitation) >>>> umount fs.. >>>> >>>> By design (tho I can't say exactly why it is done this way without >>>> speculating), nfsd will continue to serve open sessions via rpc. >>>> exportfs -u will only stop new incoming requests. >>>> >>>> If nfsd is serving a client, it will continue to hold a lock on the >>>> filesystem (in kernel) that would prevent the fs to be unmounted. >>>> >>>> The only way to effectively close the sessions are: >>>> >>>> - drop the VIP and wait for connections timeout (nfsd would effectively >>>> also drop the lock on the fs) but it is slow and not always consistent >>>> on how long it would take >>>> >>>> - restart nfsd. >>>> >>>> >>>> The "real fix" here would be to wait for nfsd containers that do support >>>> exactly this scenario. Allowing unexport of single fs and lock drops >>>> etc. etc. This work is still in very early stages upstream, that doesn't >>>> make it suitable yet for production. >>>> >>>> The patch I am working on, is basically a way to handle the clash in the >>>> best way as possible. >>>> >>>> A new nfsrestart="" option will be added to both fs and clusterfs, that, >>>> if the filesystem cannot be unmounted, if force_unmount is set, it will >>>> perform an extremely fast restart of nfslock and nfsd. >>>> >>>> We can argue that it is not the final solution, i think we can agree >>>> that it is more of a workaround, but: >>>> >>>> 1) it will allow service migration instead of service failure >>>> 2) it will match cluster users expectations (allowing different exports >>>> and live peacefully together). >>>> >>>> The only negative impact that we have been able to evaluate so far (the >>>> patch is still under heavy testing phase), beside having to add a config >>>> option to enable it, is that there will be a small window in which all >>>> clients connect to a certain node for all nfs services, will not be >>>> served because nfsd is restarting. >>>> >>>> So if you are migrating export1 and there are clients using export2, >>>> export2 will also be affected for those few ms required to restart nfsd. >>>> (assuming export1 and 2 are running on the same node of course). >>>> >>>> Placing things in perspective for a cluster, I think that it is a lot >>>> better to be able to unmount a fs and relocate services as necessary vs >>>> a service failing completely and maybe node being fenced. >>>> >>>> >>>> >>>> >>>>> >>>>> I like the idea of NFSD fully being in user space, so killing it would >>>>> definitely free the fs. >>>>> >>>>> Alan Brown (who's on this list) recently posted to a RH BZ that he was >>>>> one of the people who moved it into kernel space for performance reasons >>>>> in the past (that are no longer relevant): >>>>> >>>>> https://bugzilla.redhat.com/show_bug.cgi?id=580863#c9 >>>>> >>>>> , but I doubt this is the fix you have in mind. >>>> >>>> No that's a totally different issue. >>>> >>>>> >>>>> Colin >>>>> >>>>> On Tue, 2012-05-15 at 20:21 +0200, Fabio M. Di Nitto wrote: >>>>>> This solves different issues at startup, relocation and recovery >>>>>> >>>>>> Also note that there is known limitation in nfsd (both rhel5/6) that >>>>>> could cause some problems in some conditions in your current >>>>>> configuration. A permanent fix is being worked on atm. >>>>>> >>>>>> Without extreme details, you might have 2 of those services running on >>>>>> the same node and attempting to relocate one of them can fail because >>>>>> the fs cannot be unmounted. This is due to nfsd holding a lock (at >>>>>> kernel level) to the FS. Changing config to the suggested one, mask the >>>>>> problem pretty well, but more testing for a real fix is in progress. >>>>>> >>>>>> Fabio >>>>>> >>>>>> -- >>>>>> Linux-cluster mailing list >>>>>> Linux-cluster@redhat.com >>>>>> https://www.redhat.com/mailman/listinfo/linux-cluster >>>>> >>>>> >>>>> ________________________________ >>>>> >>>>> >>>>> This email and any files transmitted with it are confidential and are >>>>> intended solely for the use of the individual or entity to whom they are >>>>> addressed. If you are not the original recipient or the person >>>>> responsible for delivering the email to the intended recipient, be >>>>> advised that you have received this email in error, and that any use, >>>>> dissemination, forwarding, printing, or copying of this email is strictly >>>>> prohibited. If you received this email in error, please immediately >>>>> notify the sender and delete the original. >>>>> >>>>> >>>>> -- >>>>> Linux-cluster mailing list >>>>> Linux-cluster@redhat.com >>>>> https://www.redhat.com/mailman/listinfo/linux-cluster >>>> >>> >>> >>> ________________________________ >>> >>> >>> This email and any files transmitted with it are confidential and are >>> intended solely for the use of the individual or entity to whom they are >>> addressed. If you are not the original recipient or the person responsible >>> for delivering the email to the intended recipient, be advised that you >>> have received this email in error, and that any use, dissemination, >>> forwarding, printing, or copying of this email is strictly prohibited. If >>> you received this email in error, please immediately notify the sender and >>> delete the original. >>> >> > > > ________________________________ > > > This email and any files transmitted with it are confidential and are > intended solely for the use of the individual or entity to whom they are > addressed. If you are not the original recipient or the person responsible > for delivering the email to the intended recipient, be advised that you have > received this email in error, and that any use, dissemination, forwarding, > printing, or copying of this email is strictly prohibited. If you received > this email in error, please immediately notify the sender and delete the > original. > -- Linux-cluster mailing list Linux-cluster@redhat.com https://www.redhat.com/mailman/listinfo/linux-cluster