Network-based Filesystems

This section covers some of the filesystems that often use data provided from other machine(s) on a network.

[#nfs]: NFS (Network Filesystem)

Zimba's Performance Tuning Guidelines for Large Deployments: section about disks says “It is our experience that the world is full of poor NFS implementations (server and client)”.

At least historical versions of NFS have not provided file-based security. A specially designed client could read any inode on a disk, even if that inode did not belong to a file that the end user had access to. What this basically meant is that sharing just files, or directories, was not really possible. Whole mounted filesystems were entirely shared if even a single file was being effectively shared. Hence, NFS has earned itself the nickname of “No File Security” (referring to the fact that any existing security is not file-based). Make sure these security implications are understood before editing the /etc/exports file!

If an entire filesystem is intended to be shared to another (fully trusted) computer, then NFS may be a valid option. Otherwise, using an alternative such as CIFS may be preferable.

It has been a while since the author of this text has set up NFS. Some old documentation might be salvagable; otherwise this may need to be re-learned to be documented here. Meanwhile, some references are provided for the ambitious.

OpenBSD Manual page for the mountd command, OpenBSD Manual Page for the /etc/exports file.

NFS is implemented by having the server announce itself to Port Mapper. (See OpenBSD Manual page for the nfsd, OpenBSD Manual page for the portmap, OpenBSD Manual page for the rcpinfo

OpenBSD Manual page for the nfsd

Clients may use showmount. (See: OpenBSD Manual page for the showmount command.)

OpenBSD Manual page for the nfsstat command

Server Message Block” (“SMB”) (and “Common Internet File System” (“CIFS”))

This protocol has enough content, by itself, that it has been moved to a separate page: Server Message Block. (Information about CIFS is also available on that page.)

[#afs]: AFS

AFS, more fully known as the “Andrew File System”, has a number of interesting features. One feature it lacks is easy deployability/usability by a popular implementation. There might also be some compatibility concerns. If there is a desire to delve into this, expect this to be a research/development project that may require a fair/large amount of testing.

OpenBSD FAQ: What is included with OpenBSD (FAQ 1.8) notes that the program comes with Arla (Arla 0.35.7 with OpenBSD 5.2). However, perhaps this is a non-standard release. The arla project's web page has a section to list any platform “on which arla should work but which are untested for some reason”. There is one such platform: OpenBSD. After mentioning OpenBSD, the page notes, “for details, see their documentation”.

For additional ways to transfer files, see transfering files. Some remote access software: section on handling remote files may also be an option, as some implementations of that technology have come with built-in file transfering abilities.