winnielinnie
MVP
- Joined
- Oct 22, 2019
- Messages
- 3,641
I was excited that TrueNAS Core 13 would ship with NFS version 4.2, which supports "server-side copy". This means that copying a file within an NFS share is done on the server's side (i.e, no "round trips" over the network just to copy a file.)
However, when I tested this out, copying a large file was in fact doing a round trip from server -> client -> server, which was substantially slower than doing the same copy operation while SSH'd into the TrueNAS server.
After much reading, the only references of using server-side copy over NFS is in regards to non-ZFS filesystems on the servers (e.g, Ext4 and XFS).
I'm having trouble wrapping my head around this, since server-side copy has been implemented elsewhere, including over SMB and NFS for a while now (with traditional filesystems on the server.)
My simple setup has all the prerequisites:
Here is how I mounted the share, which "works" for the most part, except for server-side copies.
This is the output of "nfsstat -m" from my client:
The "mount" command I issued for this test:
I lack the technical savvy to understand why this is the case or if I am overlooking something?
Is it true that for server-side copy to work over NFS 4.2, the underlying filesystem on the server must support reflinks?
Is there development in the works to support server-side copy over NFS if the server is using ZFS? (Perhaps by an alternative method?)
I believe this issue of server-side copy is its own topic, which I'm continuing from this older thread:
www.truenas.com
Has anyone else tried server-side copies over NFS with TrueNAS Core 13? Any luck?
However, when I tested this out, copying a large file was in fact doing a round trip from server -> client -> server, which was substantially slower than doing the same copy operation while SSH'd into the TrueNAS server.
After much reading, the only references of using server-side copy over NFS is in regards to non-ZFS filesystems on the servers (e.g, Ext4 and XFS).
I'm having trouble wrapping my head around this, since server-side copy has been implemented elsewhere, including over SMB and NFS for a while now (with traditional filesystems on the server.)
My simple setup has all the prerequisites:
- Server is using NFS 4.2
- Client is using NFS 4.2
- Client has coreutils 9.1 (9.0+ is required)
- TrueNAS Core 13.0-U1.1 (FreeBSD 13.1-RELEASE)
Here is how I mounted the share, which "works" for the most part, except for server-side copies.
This is the output of "nfsstat -m" from my client:
Code:
/mnt/nfs from 192.168.1.100:/mnt/test-pool/playground Flags: rw,relatime,vers=4.2,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.20,local_lock=none,addr=192.168.1.100
The "mount" command I issued for this test:
Code:
mount -t nfs 192.168.1.100:/mnt/test-pool/playground /mnt/nfs/
I lack the technical savvy to understand why this is the case or if I am overlooking something?
Is it true that for server-side copy to work over NFS 4.2, the underlying filesystem on the server must support reflinks?
Is there development in the works to support server-side copy over NFS if the server is using ZFS? (Perhaps by an alternative method?)
I believe this issue of server-side copy is its own topic, which I'm continuing from this older thread:
NFS Version 4.2 support
Will TrueNAS be getting NFS 4.2 support? NFS 4.2 would bring many performance increases especially for VM storage and HPC. Some info linked and attached. Network File System (NFS) Version 4 Minor Version 2 Protocol

Has anyone else tried server-side copies over NFS with TrueNAS Core 13? Any luck?
Last edited: