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;
# }
#}