Last case - NFS v4 underdir, Ganesha, with ACL disabled in the config file. I expected this to fail since turning ACL off for the v3 case causes aarch64 rhel76 to fail. Strangely, it nearly worked. x86_64 fully booted. aarch64 got really far along, then BOTH NODES FROZE. I tried a 2nd time. Same result (aarch64 got lots further then both nodes froze). The ganesha nfsd server was still running, nothing bad in the non-debug logs. Restarting the ganesha NFS server relased both nodes from the hang. While x86_64 booted 100% no problems, both nodes frooze multiple times while aarch64 booted up. They came back to life each time when I restarted nfs-ganesha. I will start a fresh thread on this and collect some information. Anyway, NFS v4, ACLs disabled in ganesha, as an underdir seems to solve the overlay problems. On Sat, Aug 17, 2019 at 03:53:12PM -0500, Erik Jacobson wrote:
I have figured out the NFS v4 issue with anonymous being returned even with squash=none.
I am past this "ownership" problem with NFS v4 and overlay. I have a new problem and it isn't with Ganesha -
I am now hitting a problem where, while I can finally su to erikj and see the right permissions, both architectures fail writing to most places in the merged directory (which becomes root). This happens with a kernel nfs exported path too (so not Ganesha specific). So I'm stalled again on this overlay+nfs project, but it's not related to Ganesha.
My only issue with Ganesha is that, since it doesn't support NFS V3 ACLs, I'm sort of forced in to Gluster NFS due to this other unrelated problem.
The disclosure on what I messed up before in case others searching hit it:
The debugging we had enabled hid a parse error from me. I had to mess with some parameters related to NFS v4 to get nobody to stop showing up. It wasn't just squash.
Here is what I'm running with and now I have corrct ownership.
NFS_CORE_PARAM { Clustered = TRUE; RPC_Max_Connections = 2048; }
NFSv4 { Graceless = True; Allow_Numeric_Owners = True; Only_Numeric_Owners = True; }
EXPORT_DEFAULTS { Squash = none; }
EXPORT { # Export Id (mandatory, each EXPORT must have a unique Export_Id) Export_Id = 10;
# Exported path (mandatory) Path = "/cm_shared"; # assuming 'testvol' is the Gluster volume name
# Pseudo Path (required for NFS v4) Pseudo = "/cm_shared";
# Required for access (default is None) # Could use CLIENT blocks instead Access_Type = RW;
Squash = none;
# Security flavor supported SecType = "sys";
# Exporting FSAL FSAL { Name = "GLUSTER"; Hostname = "127.0.0.1"; # IP of one of the nodes in the trusted pool Volume = "cm_shared"; }
}
#LOG { # Components { # ALL = FULL_DEBUG; # } #}