This post is more than 5 years old
5 Posts
0
2335
ECS Community Ed. Single-Node NFS
Hi folks-
I set up ECS single-node community edition on a CentOS 7 kvm virtual machine and it appears to work OK - I can add users and access buckets over some S3 clients.
However NFS isn't working for me. I created a File System bucket and assigned access from the "Manage > File" screen, but the Linux host attempting to mount this NFS volume is kicking back:
root@apollo:~# mount 192.168.0.5:/ns1/nfstest3 /mnt2
mount.nfs: Protocol family not supported
root@apollo:~# mount 192.168.0.5:/ns1/nfstest3 /mnt2 -o vers=3
mount.nfs: requested NFS version or transport protocol is not supported
Any idea what I might be missing here?
ebrundick2
5 Posts
2
February 23rd, 2017 20:00
I figured out my problem- CentOS 7 was running "rpcbind" in its main scope (outside docker), but ECS's Docker container runs its own version of rpcbind and ECS appears to communicate only with that one. The giveaway was running "rpcinfo -p" in the CentOS shell (not inside the docker container) and finding no NFS services.
To disable the CentOS global rpcbind process, "systemctl disable rpcbind" seems to do the trick. I shut down the docker and rebooted the CentOS VM for good measure, then after initialization I was able to mount it up (also reinstalled the whole ECS single-node instance before figuring that out):
root@apollo:~# mount -v ecs.lan:/spir/nfstest1/ /mnt2 -o vers=3,sec=sys,proto=tcp
mount.nfs: timeout set for Thu Feb 23 23:54:42 2017
mount.nfs: trying text-based options 'vers=3,sec=sys,proto=tcp,addr=192.168.0.5'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.0.5 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=6
mount.nfs: trying 192.168.0.5 prog 100005 vers 3 prot TCP port 2049
root@apollo:~# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
...
ecs.lan:/spir/nfstest1/ 4278190080 33029632 4245160448 1% /mnt2
When you have this set up correctly, running "rpcinfo -p" on the CentOS shell throws an error:
[root@ecs ~]# rpcinfo -p
rpcinfo: can't contact portmapper: RPC: Remote system error - No such file or directory
But running rpcinfo -p inside a docker shell works, and port 111 is definitely listening:
[root@ecs ~]# docker exec -ti ecsstandalone /bin/bash
ecs:/ # rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100005 3 tcp 2049 mountd
100005 3 udp 2049 mountd
100003 3 tcp 2049 nfs
100024 1 tcp 2049 status
100021 4 tcp 10000 nlockmgr
100021 4 udp 10000 nlockmgr
ecs:/ # exit
exit
[root@ecs ~]# netstat -nap | grep ':111 '
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 9788/rpcbind
tcp6 0 0 :::111 :::* LISTEN 9788/rpcbind
udp 0 0 0.0.0.0:111 0.0.0.0:* 9788/rpcbind
udp6 0 0 :::111 :::* 9788/rpcbind
JasonCwik
281 Posts
0
February 24th, 2017 08:00
Thanks, we will update our documentation to reflect this. The other solution is to install CentOS minimal so you don't get the NFS/RPC/Portmap components in the root scope.
travis_wichert
16 Posts
0
July 21st, 2017 12:00
This issue has been accounted for in the new installer; we actively scan local open ports for potential conflicts with ECS CE, stop the deployment process if a conflict is detected, and provide a useful error message for the user.
GitHub - EMCECS/ECS-CommunityEdition: ECS Community Edition "Free & Frictionless"