behaviour.
For FreeBSD I could find this in the nfsv4(4) manpage:
If the file systems you are exporting are only being accessed via NFSv4
there are a couple of sysctl(8) variables that you can change, which
might improve performance.
vfs.nfsd.issue_delegations
when set non-zero, allows the server to issue Open Delegations
to
clients. These delegations permit the client to manipulate the
file locally on the client. Unfortunately, at this time,
client
use of delegations is limited, so performance gains may not be
observed. This can only be enabled when the file systems being
exported to NFSv4 clients are not being accessed locally on the
server and, if being accessed via NFS Version 2 or 3 clients,
these clients cannot be using the NLM.
vfs.nfsd.enable_locallocks
can be set to 0 to disable acquisition of local byte range
locks.
Disabling local locking can only be done if neither local
accesses to the exported file systems nor the NLM is operating
on
them.
CLIENT MOUNTS
If the NFSv4 server that is being mounted on supports delegations, you
can start the nfscbd(8) daemon to handle client side callbacks. This
will occur if
nfsuserd_enable="YES"
nfscbd_enable="YES"
are set in rc.conf(5).
I looked around on CentOS 7 - I could not find similar functionality.
That is where I would like to have it at the moment..
Regards
Peter
On Tue, Sep 22, 2015 at 9:41 AM, Peter Ross <petrosssit(a)gmail.com> wrote:
Chris Samuel wrote:
On Mon, 21 Sep 2015 07:54:55 PM Peter Ross
wrote:
I would like to export parts of the server file
systems but do not
need to share them between the clients. So I don't need all the
overhead of leases that expire, server-side locking etc.
Instead it would be good enough to do locking on the client side and
write a journal which can be send to the file server.
Isn't this basically NFSv4 delegations? If you're exporting it to just a
single client then I'd expect no other client can interfere with them.
https://www.ietf.org/rfc/rfc3530.txt
1.4.6. Client Caching and Delegation
[...]
The major addition to NFS version 4 in the area of caching is the
ability of the server to delegate certain responsibilities to the
client. When the server grants a delegation for a file to a client,
the client is guaranteed certain semantics with respect to the
sharing of that file with other clients. At OPEN, the server may
provide the client either a read or write delegation for the file.
If the client is granted a read delegation, it is assured that no
other client has the ability to write to the file for the duration of
the delegation. If the client is granted a write delegation, the
client is assured that no other client has read or write access to
the file.
Delegations can be recalled by the server. If another client
requests access to the file in such a way that the access conflicts
with the granted delegation, the server is able to notify the initial
client and recall the delegation. This requires that a callback path
exist between the server and client. If this callback path does not
exist, then delegations can not be granted. The essence of a
delegation is that it allows the client to locally service operations
such as OPEN, CLOSE, LOCK, LOCKU, READ, WRITE without immediate
interaction with the server.
Yes, that sounds like it.
I have to investigate how to configure this behaviour. I could not find it
in the nfs(5) manpage of CentOS6 servers.
Yes, Russell, I thought of iSCSI but in this case I want to make use of
the server filesystem.
Regards
Peter
On Mon, Sep 21, 2015 at 9:06 PM, Chris Samuel <chris(a)csamuel.org> wrote:
On Mon, 21 Sep 2015 07:54:55 PM Peter Ross
wrote:
I would like to export parts of the server file
systems but do not
need to share them between the clients. So I don't need all the
overhead of leases that expire, server-side locking etc.
Instead it would be good enough to do locking on the client side and
write a journal which can be send to the file server.
Isn't this basically NFSv4 delegations? If you're exporting it to just a
single client then I'd expect no other client can interfere with them.
https://www.ietf.org/rfc/rfc3530.txt
1.4.6. Client Caching and Delegation
[...]
The major addition to NFS version 4 in the area of caching is the
ability of the server to delegate certain responsibilities to the
client. When the server grants a delegation for a file to a client,
the client is guaranteed certain semantics with respect to the
sharing of that file with other clients. At OPEN, the server may
provide the client either a read or write delegation for the file.
If the client is granted a read delegation, it is assured that no
other client has the ability to write to the file for the duration of
the delegation. If the client is granted a write delegation, the
client is assured that no other client has read or write access to
the file.
Delegations can be recalled by the server. If another client
requests access to the file in such a way that the access conflicts
with the granted delegation, the server is able to notify the initial
client and recall the delegation. This requires that a callback path
exist between the server and client. If this callback path does not
exist, then delegations can not be granted. The essence of a
delegation is that it allows the client to locally service operations
such as OPEN, CLOSE, LOCK, LOCKU, READ, WRITE without immediate
interaction with the server.
>
> --
> Chris Samuel :
http://www.csamuel.org/ : Melbourne, VIC
>
> _______________________________________________
> luv-main mailing list
> luv-main(a)luv.asn.au
>
http://lists.luv.asn.au/listinfo/luv-main
>