The NFS bridge is an extra daemon that translates the NFS protocol into the PlasmaFS protocol. In this document we give a quick recipe how to deploy the NFS bridges.
There can be any number of such bridges. This allows many topologies. We recommend here to install the NFS bridge on every computer that is going to mount the NFS volume. This has simply the advantage that the traffic between the NFS client and the NFS bridge (acting as NFS server) is only local and not reaching the real network. Also, it is more secure, because the NFSv3 protocol does not include any strong security features.
However, you are free to choose a different model.
Log in to the operator node, go to the clusterconfig
directory, and
add the host names to the nfsnode.hosts
file the instance, e.g.
clusterconfig/instances/pfs/nfsnode.hosts
when the instance name is "pfs".
Also check nfsnode.conf
in the same directory. By default, the NFS server
binds to 127.0.0.1, and is not reachable from the network. You can change
this by editing the two "bind" lines, e.g.
bind = "0.0.0.0:2800"
and
bind = "0.0.0.0:2801"
You can also change the port numbers. 2800 and 2801 are non-standard (but this does not matter).
Another possible change is to increase the buffer memory (by default 128M). Add a line
buffer_memory = <numberInBytes>;
to the "namenodes" section of the file. Buffer memory is needed for translating certain aspects of NFS to PlasmaFS, e.g. when a read or write only targets a fragment of a block. Especially when your blocksize is large (>1M), you should consider to spend more buffer memory.
You should first turn PlasmaFS off (if you are careful, you can avoid this, though).
$ ./rc_all stop pfs
$ ./deploy_inst.sh pfs
$ ./rc_all start pfs
On the machines where you want to mount the filesystem, enter now (as root):
mount -o intr,port=2801,mountport=2800,nolock 127.0.0.1:/pfs /mnt
The NFS bridge automatically translates user and group names to the local conventions. Remember that PlasmaFS identifies users and groups by names whereas NFS (like Unix in general) uses numeric IDs. The translation works by looking into the local /etc/passwd and /etc/group files which IDs correspond to which names.
Note that there is no privileged user (root does not have more rights than any other user).
When PlasmaFS (either the bridge or the whole system) is restarted, it is not needed to remount the NFS volume. The mount table is persistent.
Also read Cmd_nfs3d
for detailed information which features are
supported.