Skip to content
Dan Mons edited this page Jan 11, 2022 · 3 revisions

NFS

About

NFS is the Network File System, one of the earliest complete "network file system" sharing technologies (as opposed to simple upload/download tools to remove systems) that was originally used in UNIX based computers, originally developed by Sun Microsystems in 1984 for use with the Solaris UNIX-based operating system.

NFS version 2 was the first publicly available version, released in 1985 and as a full RFC in 1989 as an open standard available to AT&T UNIX System V and variants including Sun Solaris, IBM AIX, HP-UX, SGI IRIX, DEC Digital UNIX, Amiga UNIX, Microsoft Xenix, SCO UNIX, and many more.

Many open source alternatives quickly offered support for the open standard protocol, including Berkeley Software Distribution (BSD) and Minix.

Non-UNIX operating systems would also support it, such as VAX OpenVMS, Bell Labs Plan 9, BeOS and others.

Many years later, a small hobby OS named Linux would also offer support.

Early versions of Mac OS X would support it well (breaking that support from mid Mac OS X 10.6 Snow Leopard onward where the file cache assumed a case insensitive server, and broke POSIX compatibility with many locking errors not fixed since, and has been largely ignored by Apple since as they pushed towards (AFP)[Netatalk] and (SMB/CIFS)[Samba] instead).

For more information on the protocol and its history, see this link:

RetroNAS implements versions 2, 3, 4, 4.1 and 4.2 of NFS.

Installation

Run sudo /opt/retronas/retronas.sh and navigate to "Install things" -> "NFS".

Take note of your RetroNAS IP address and top level directory, as you'll need them later.

Currently RetroNAS installs NFS with protocol support as low as version 2 (NFSv2) and as high as NFSv4.2.

Currently RetroNAS squashes all NFS permissions to the numerical UID "1000" (typically the first user on a Debian 11 install, which is also the Raspberry Pi OS default user "pi"). In future updates there will be an option to configure this.

Client side usage

It's recommended to use NFSv3 if possible, as it's a mature version of NFS but without the complexity or overhead of NFSv4.

If the client is quite old and can only support NFSv2, RetroNAS can support that for older clients.

Due to the huge variety of systems that can support NFS, mounting it will depend entirely on the OS. A relatively modern Linux system can mount it with a command like the following (assuming the default RetroNAS server side storage of /data/retronas, and a local client-side mount point of /mnt):

mount -t nfs -o vers=3 ipaddress:/data/retronas /mnt

Other operating systems and older UNIX systems may vary in their syntax. Consult the documentation supplied (tools like apropos can search for manuals, and the man command can read the in-OS manuals).

Home

Getting started:

Contributing

Multi-system protocols:

Specific system configurations:

Services:

Tools:

Physical Media:

On-Device Management:

Advanced storage options:

  • BtrFS RAID, Snapshots, Compression, Deduplication
  • FAT Advanced guide to using FAT loopback mounts for EtherDFS
  • TBA
    • SMR Shingled Magnetic Recording hard drives (TBA)
    • NTFS Advanced guide for NTFS formatted disks
    • SMB Loopback Mounting an existing SMB NAS
    • NFS Loopback Mounting an existing NFS NAS
    • MDRAID (TBA)
    • LVM (TBA)
    • iSCSI Configuring iSCSI

Other:

Clone this wiki locally