* Nfsv4 referrals over bind mounted subtree, mount order problem
@ 2015-10-19 12:09 Prunk Dump
2015-10-20 8:40 ` Prunk Dump
2015-10-20 18:30 ` J. Bruce Fields
0 siblings, 2 replies; 4+ messages in thread
From: Prunk Dump @ 2015-10-19 12:09 UTC (permalink / raw)
To: linux-nfs
Hello NFS team !
I have sometimes trouble using NFSv4 referrals and I don't really
understand where the problem come from. Here the configuration steps
that expose the situation :
---------------------------------------------
1) standard nfs4 export (works)
---------------------------------------------
My server export a file tree like this :
/myexport/dirA
/myexport/dirB
To do this I have bind mounted as usual the tree root in the NFS root :
mount --bind /myexport /srv/nfs4/myexport
/srv/nfs4/myexport
172.16.0.0/16(sec=krb5,rw,async,no_subtree_check) (in /etc/exports)
Everything is OK.
-----------------------------------------------------------------
2) dirA redirection, bind mounted to itself (works)
-----------------------------------------------------------------
I now want to redirect dirA to another server "anotherserver". So I
bind mount the dirA folder to itself.
mount --bind /srv/nfs4/myexport/dirA /srv/nfs4/myexport/dirA
/srv/nfs4/myexport/dirA
172.16.0.0/16(refer=/myexport/dirA@anotherserver,sec=krb5,rw,async,no_subtree_check)
(in /etc/exports)
Now the redirection works as expected.
----------------------------------------------------------------------------------
3) mount remote dirA on the original server (first problem)
-----------------------------------------------------------------------------------
But the original server need to keep access to the "dirA" files. So I
need to mount the redirected "dirA@anotherserver" tree on "myserver".
mount -t nfs4 -o sec=krb5 anotherserver:/myexport/dirA /myexport/dirA
But as /myexport is bind mounted, this command create another mount
point on /srv/nfs4/myexport/dirA.
# mount
...
anotherserver:/myexport/dirA on /myexport/dirA ...
anotherserver:/myexport/dirA on /srv/nfs4/myexport/dirA ...
So, as this command create a mount point at the right position, where
the redirection start, I initially think that the initial self binded
mount /srv/nfs4/myexport/dirA is useless now. So I keep the only the
nfs4 mount.
But strangely the redirection does not works anymore. And I don't
understand where is the problem.
######
first solution tried : mount remote to /myexport/dirA, adding an
additional bind mount (don't works)
######
I tried to add another bind mount over the nfs mount. I now have four
mount points !
anotherserver:/myexport/dirA on /myexport/dirA ...
anotherserver:/myexport/dirA on /srv/nfs4/myexport/dirA ...
anotherserver:/myexport/dirA on /srv/nfs4/myexport/dirA ...
anotherserver:/myexport/dirA on /myexport/dirA ...
But this does not solve the problem. No redirection.
######
second solution tried : mount remote nfs directly to
/srv/nfs4/myexport/dirA (works !)
######
If a mount the remote share directly to /srv/nfs4/myexport/dirA :
mount -t nfs4 -o sec=krb5 anotherserver:/myexport/dirA /srv/nfs4/myexport/dirA
as /myexport is bind mounted, this create another mount point on
/myexport/dirA :
# mount
anotherserver:/myexport/dirA on /srv/nfs4/myexport/dirA ...
anotherserver:/myexport/dirA on /myexport/dirA ...
But the mount points are in reverse order now. And in this case it
works ! I can access the remote share in /myexport/dirA. And the other
clients are redirected to anotherserver.
But I can't understand why...
Why the mount order is so important ?
Thanks !
Baptiste.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Nfsv4 referrals over bind mounted subtree, mount order problem
2015-10-19 12:09 Nfsv4 referrals over bind mounted subtree, mount order problem Prunk Dump
@ 2015-10-20 8:40 ` Prunk Dump
2015-10-20 12:28 ` Prunk Dump
2015-10-20 18:30 ` J. Bruce Fields
1 sibling, 1 reply; 4+ messages in thread
From: Prunk Dump @ 2015-10-20 8:40 UTC (permalink / raw)
To: linux-nfs
2015-10-19 14:09 GMT+02:00 Prunk Dump <prunkdump@gmail.com>:
> Hello NFS team !
>
> I have sometimes trouble using NFSv4 referrals and I don't really
> understand where the problem come from. Here the configuration steps
> that expose the situation :
>
> ---------------------------------------------
> 1) standard nfs4 export (works)
> ---------------------------------------------
> My server export a file tree like this :
>
> /myexport/dirA
> /myexport/dirB
>
> To do this I have bind mounted as usual the tree root in the NFS root :
>
> mount --bind /myexport /srv/nfs4/myexport
> /srv/nfs4/myexport
> 172.16.0.0/16(sec=krb5,rw,async,no_subtree_check) (in /etc/exports)
>
> Everything is OK.
>
> -----------------------------------------------------------------
> 2) dirA redirection, bind mounted to itself (works)
> -----------------------------------------------------------------
>
> I now want to redirect dirA to another server "anotherserver". So I
> bind mount the dirA folder to itself.
>
> mount --bind /srv/nfs4/myexport/dirA /srv/nfs4/myexport/dirA
> /srv/nfs4/myexport/dirA
> 172.16.0.0/16(refer=/myexport/dirA@anotherserver,sec=krb5,rw,async,no_subtree_check)
> (in /etc/exports)
>
> Now the redirection works as expected.
>
> ----------------------------------------------------------------------------------
> 3) mount remote dirA on the original server (first problem)
> -----------------------------------------------------------------------------------
>
> But the original server need to keep access to the "dirA" files. So I
> need to mount the redirected "dirA@anotherserver" tree on "myserver".
>
> mount -t nfs4 -o sec=krb5 anotherserver:/myexport/dirA /myexport/dirA
>
> But as /myexport is bind mounted, this command create another mount
> point on /srv/nfs4/myexport/dirA.
>
> # mount
> ...
> anotherserver:/myexport/dirA on /myexport/dirA ...
> anotherserver:/myexport/dirA on /srv/nfs4/myexport/dirA ...
>
> So, as this command create a mount point at the right position, where
> the redirection start, I initially think that the initial self binded
> mount /srv/nfs4/myexport/dirA is useless now. So I keep the only the
> nfs4 mount.
>
> But strangely the redirection does not works anymore. And I don't
> understand where is the problem.
>
> ######
> first solution tried : mount remote to /myexport/dirA, adding an
> additional bind mount (don't works)
> ######
>
> I tried to add another bind mount over the nfs mount. I now have four
> mount points !
>
> anotherserver:/myexport/dirA on /myexport/dirA ...
> anotherserver:/myexport/dirA on /srv/nfs4/myexport/dirA ...
> anotherserver:/myexport/dirA on /srv/nfs4/myexport/dirA ...
> anotherserver:/myexport/dirA on /myexport/dirA ...
>
> But this does not solve the problem. No redirection.
>
> ######
> second solution tried : mount remote nfs directly to
> /srv/nfs4/myexport/dirA (works !)
> ######
>
> If a mount the remote share directly to /srv/nfs4/myexport/dirA :
>
> mount -t nfs4 -o sec=krb5 anotherserver:/myexport/dirA /srv/nfs4/myexport/dirA
>
> as /myexport is bind mounted, this create another mount point on
> /myexport/dirA :
>
> # mount
> anotherserver:/myexport/dirA on /srv/nfs4/myexport/dirA ...
> anotherserver:/myexport/dirA on /myexport/dirA ...
>
> But the mount points are in reverse order now. And in this case it
> works ! I can access the remote share in /myexport/dirA. And the other
> clients are redirected to anotherserver.
>
> But I can't understand why...
>
> Why the mount order is so important ?
>
> Thanks !
>
> Baptiste.
Excuse me !
In reality the solution proposed above does not work ! The NFS server
say : "/myexport/dirA does not support NFS export" as it is a NFS
mounted filesystem.
Can anyone help me !?
Is this possible to avoid duplicating mount point when mounting over
bind mount ?
/myexport and /srv/nfs4/myexport are the same mount. But I want to do
a nfs4 mount on /myexpot/dirA and a bind mount on
/srv/nfs4/myexport/dirA.
Thanks.
Baptiste.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Nfsv4 referrals over bind mounted subtree, mount order problem
2015-10-20 8:40 ` Prunk Dump
@ 2015-10-20 12:28 ` Prunk Dump
0 siblings, 0 replies; 4+ messages in thread
From: Prunk Dump @ 2015-10-20 12:28 UTC (permalink / raw)
To: linux-nfs
2015-10-20 10:40 GMT+02:00 Prunk Dump <prunkdump@gmail.com>:
> 2015-10-19 14:09 GMT+02:00 Prunk Dump <prunkdump@gmail.com>:
>> Hello NFS team !
>>
>> I have sometimes trouble using NFSv4 referrals and I don't really
>> understand where the problem come from. Here the configuration steps
>> that expose the situation :
>>
>> ---------------------------------------------
>> 1) standard nfs4 export (works)
>> ---------------------------------------------
>> My server export a file tree like this :
>>
>> /myexport/dirA
>> /myexport/dirB
>>
>> To do this I have bind mounted as usual the tree root in the NFS root :
>>
>> mount --bind /myexport /srv/nfs4/myexport
>> /srv/nfs4/myexport
>> 172.16.0.0/16(sec=krb5,rw,async,no_subtree_check) (in /etc/exports)
>>
>> Everything is OK.
>>
>> -----------------------------------------------------------------
>> 2) dirA redirection, bind mounted to itself (works)
>> -----------------------------------------------------------------
>>
>> I now want to redirect dirA to another server "anotherserver". So I
>> bind mount the dirA folder to itself.
>>
>> mount --bind /srv/nfs4/myexport/dirA /srv/nfs4/myexport/dirA
>> /srv/nfs4/myexport/dirA
>> 172.16.0.0/16(refer=/myexport/dirA@anotherserver,sec=krb5,rw,async,no_subtree_check)
>> (in /etc/exports)
>>
>> Now the redirection works as expected.
>>
>> ----------------------------------------------------------------------------------
>> 3) mount remote dirA on the original server (first problem)
>> -----------------------------------------------------------------------------------
>>
>> But the original server need to keep access to the "dirA" files. So I
>> need to mount the redirected "dirA@anotherserver" tree on "myserver".
>>
>> mount -t nfs4 -o sec=krb5 anotherserver:/myexport/dirA /myexport/dirA
>>
>> But as /myexport is bind mounted, this command create another mount
>> point on /srv/nfs4/myexport/dirA.
>>
>> # mount
>> ...
>> anotherserver:/myexport/dirA on /myexport/dirA ...
>> anotherserver:/myexport/dirA on /srv/nfs4/myexport/dirA ...
>>
>> So, as this command create a mount point at the right position, where
>> the redirection start, I initially think that the initial self binded
>> mount /srv/nfs4/myexport/dirA is useless now. So I keep the only the
>> nfs4 mount.
>>
>> But strangely the redirection does not works anymore. And I don't
>> understand where is the problem.
>>
>> ######
>> first solution tried : mount remote to /myexport/dirA, adding an
>> additional bind mount (don't works)
>> ######
>>
>> I tried to add another bind mount over the nfs mount. I now have four
>> mount points !
>>
>> anotherserver:/myexport/dirA on /myexport/dirA ...
>> anotherserver:/myexport/dirA on /srv/nfs4/myexport/dirA ...
>> anotherserver:/myexport/dirA on /srv/nfs4/myexport/dirA ...
>> anotherserver:/myexport/dirA on /myexport/dirA ...
>>
>> But this does not solve the problem. No redirection.
>>
>> ######
>> second solution tried : mount remote nfs directly to
>> /srv/nfs4/myexport/dirA (works !)
>> ######
>>
>> If a mount the remote share directly to /srv/nfs4/myexport/dirA :
>>
>> mount -t nfs4 -o sec=krb5 anotherserver:/myexport/dirA /srv/nfs4/myexport/dirA
>>
>> as /myexport is bind mounted, this create another mount point on
>> /myexport/dirA :
>>
>> # mount
>> anotherserver:/myexport/dirA on /srv/nfs4/myexport/dirA ...
>> anotherserver:/myexport/dirA on /myexport/dirA ...
>>
>> But the mount points are in reverse order now. And in this case it
>> works ! I can access the remote share in /myexport/dirA. And the other
>> clients are redirected to anotherserver.
>>
>> But I can't understand why...
>>
>> Why the mount order is so important ?
>>
>> Thanks !
>>
>> Baptiste.
>
> Excuse me !
>
> In reality the solution proposed above does not work ! The NFS server
> say : "/myexport/dirA does not support NFS export" as it is a NFS
> mounted filesystem.
>
> Can anyone help me !?
>
> Is this possible to avoid duplicating mount point when mounting over
> bind mount ?
>
> /myexport and /srv/nfs4/myexport are the same mount. But I want to do
> a nfs4 mount on /myexpot/dirA and a bind mount on
> /srv/nfs4/myexport/dirA.
>
> Thanks.
>
> Baptiste.
I finally found a working solution.
I have added the "private" option on the initial /srv/nfs4/myexport
bind mount. So now the subtree mounts are not duplicated.
I can bind mount /srv/nfs4/myexport/dirA to itself
I can mount the remote nfs4 share on /myexport/dirA
But I would be nice if the redirection can works with an nfs4 mount
point even if an nfs4 filesystem can't be exported by an nfs4 server.
Baptiste.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Nfsv4 referrals over bind mounted subtree, mount order problem
2015-10-19 12:09 Nfsv4 referrals over bind mounted subtree, mount order problem Prunk Dump
2015-10-20 8:40 ` Prunk Dump
@ 2015-10-20 18:30 ` J. Bruce Fields
1 sibling, 0 replies; 4+ messages in thread
From: J. Bruce Fields @ 2015-10-20 18:30 UTC (permalink / raw)
To: Prunk Dump; +Cc: linux-nfs
On Mon, Oct 19, 2015 at 02:09:21PM +0200, Prunk Dump wrote:
> Hello NFS team !
>
> I have sometimes trouble using NFSv4 referrals and I don't really
> understand where the problem come from. Here the configuration steps
> that expose the situation :
>
> ---------------------------------------------
> 1) standard nfs4 export (works)
> ---------------------------------------------
> My server export a file tree like this :
>
> /myexport/dirA
> /myexport/dirB
>
> To do this I have bind mounted as usual the tree root in the NFS root :
>
> mount --bind /myexport /srv/nfs4/myexport
> /srv/nfs4/myexport
> 172.16.0.0/16(sec=krb5,rw,async,no_subtree_check) (in /etc/exports)
I'm not sure why you're doing this.
(It used to be necessary to do something like this (with the addition of
an fsid=0 option on the root export) for NFSv4 exports, but that hasn't
been necessary for a while. You can skip this step and just mount
server:/myexport/dirA from the client.
> Everything is OK.
>
> -----------------------------------------------------------------
> 2) dirA redirection, bind mounted to itself (works)
> -----------------------------------------------------------------
>
> I now want to redirect dirA to another server "anotherserver". So I
> bind mount the dirA folder to itself.
>
> mount --bind /srv/nfs4/myexport/dirA /srv/nfs4/myexport/dirA
> /srv/nfs4/myexport/dirA
> 172.16.0.0/16(refer=/myexport/dirA@anotherserver,sec=krb5,rw,async,no_subtree_check)
> (in /etc/exports)
>
> Now the redirection works as expected.
>
> ----------------------------------------------------------------------------------
> 3) mount remote dirA on the original server (first problem)
> -----------------------------------------------------------------------------------
>
> But the original server need to keep access to the "dirA" files. So I
> need to mount the redirected "dirA@anotherserver" tree on "myserver".
>
> mount -t nfs4 -o sec=krb5 anotherserver:/myexport/dirA /myexport/dirA
I'd recommend mounting it someplace that isn't under an export,
otherwise this will get a bit complicated.
--b.
>
> But as /myexport is bind mounted, this command create another mount
> point on /srv/nfs4/myexport/dirA.
>
> # mount
> ...
> anotherserver:/myexport/dirA on /myexport/dirA ...
> anotherserver:/myexport/dirA on /srv/nfs4/myexport/dirA ...
>
> So, as this command create a mount point at the right position, where
> the redirection start, I initially think that the initial self binded
> mount /srv/nfs4/myexport/dirA is useless now. So I keep the only the
> nfs4 mount.
>
> But strangely the redirection does not works anymore. And I don't
> understand where is the problem.
>
> ######
> first solution tried : mount remote to /myexport/dirA, adding an
> additional bind mount (don't works)
> ######
>
> I tried to add another bind mount over the nfs mount. I now have four
> mount points !
>
> anotherserver:/myexport/dirA on /myexport/dirA ...
> anotherserver:/myexport/dirA on /srv/nfs4/myexport/dirA ...
> anotherserver:/myexport/dirA on /srv/nfs4/myexport/dirA ...
> anotherserver:/myexport/dirA on /myexport/dirA ...
>
> But this does not solve the problem. No redirection.
>
> ######
> second solution tried : mount remote nfs directly to
> /srv/nfs4/myexport/dirA (works !)
> ######
>
> If a mount the remote share directly to /srv/nfs4/myexport/dirA :
>
> mount -t nfs4 -o sec=krb5 anotherserver:/myexport/dirA /srv/nfs4/myexport/dirA
>
> as /myexport is bind mounted, this create another mount point on
> /myexport/dirA :
>
> # mount
> anotherserver:/myexport/dirA on /srv/nfs4/myexport/dirA ...
> anotherserver:/myexport/dirA on /myexport/dirA ...
>
> But the mount points are in reverse order now. And in this case it
> works ! I can access the remote share in /myexport/dirA. And the other
> clients are redirected to anotherserver.
>
> But I can't understand why...
>
> Why the mount order is so important ?
>
> Thanks !
>
> Baptiste.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-10-20 18:30 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-19 12:09 Nfsv4 referrals over bind mounted subtree, mount order problem Prunk Dump
2015-10-20 8:40 ` Prunk Dump
2015-10-20 12:28 ` Prunk Dump
2015-10-20 18:30 ` J. Bruce Fields
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox