EMC VNX5200 Unified NFSv4 hell
It was bound to happen eventually, I had to dive into how NFS4 really works, not just rely on miracles.
In NFSv4 client and server exchange user names and group names in textual form not UID/GID numbers. So they must share some database about how to map users/groups to UID/GID (this database is called /etc/passwd and /etc/group). And also they must share the nfs domain. If you run a mostly homogeneous server environment, chances are things just work.
Now in a proper setup, you’d choose NIS for this task, a network server that provides mapping to clients and servers. I did not want to introduce another moving part, so the other option are “local files” on the Data Movers.
There’s very little documentation about how to actually do this. Or shall we say, there’s so much documentation that it’s hard to find what you need to do.
I did not find a way to do this in EMC Unisphere interface. So ssh to your control station and first set the nfs domain:
$ server_param server_2 -facility nfsv4 -list
Set the domain. I just kept using “localdomain” because all servers already have this one setup and it’s now likely I’ll move to NIS.
$ server_param server_2 -facility nfsv4 -modify domain -value localdomain
No reboot required. (Nice)
Note: You can actually change the domain variable in Unisphere, but’s ridiculously hidden.
Second task is to create the needed users and groups. Remember, you need user and group entries of all used names. So if you want to use this NFS share as a backup location where you rsync things, you’re probably better off using NFSv3.
I found ways to add users, only one way to add groups. So to add a user you can do this:
server_user server_2 -list
server_user server_2 -add www-data
User ID: 33 Group ID: 33 Comment: Home directory: Shell:
server_user server_2 -list
The second way is to “download” the password and group files from DM servers, change them and put them back:
server_file server_2 -get passwd passwd
server_file server_2 -get group group
If you edit (vi) you passwd file, you’ll see something like this:
www-data:!!:33:33:::
Edit your group file to add the needed group lines:
www-data:x:33:
Now send the files back up to your DM:
server_file server_2 -put passwd passwd
server_file server_2 -put group group
There, chwon start to work instantly.
I get that this isn’t the best way, but it certainly is the most robust.












