Beyond the NSLU2
So it is now 2020. I still have one NSLU2 doing service as a NAS, and two others with "stock" firmware not currently in use. The most obvious alternative would be a Raspberry PI, though repurposing an old Desktop PC may be an option.
One such "Repurposed" PC is an ACER Extensa, exact model unknown. The process involved:
The loss of the drive was a nuisance initially, but the install was carried out via a USB-connected drive and after that it is being used as a "headless" server.
The RAM is twice the published maximum, but 64 bit operating systems can utilize it
The on-board Ethernet became unusable when the memory was increased beyond 2Gb, it appears as if there may have been a hardware "bug" or the stock device driver attempted to use forbidden memory space? Either way the add-on card bypassed the problem. It appears that just upgrading to the "official" 4Gb limit would have triggered this fault, though using Windows XP with 3Gb the machine continued to function with a severe drop in performance
Oddly enough the performance drop at 3Gb was probably what prompted me to replace the PC. I'll put up with a lot but things being worse after an upgrade is especially annoying.
Disabled ports are often a source of confusion and I'm tempted to block it with hot-glue to prevent it getting used by mistake.
The machine is on the lower limits for installing a recent Debian release but it worked, and subsequent updates have succeeded.
Mounting NAS-box volumes
This configuration mounts a folder from the NAS in the server's file system. Some details may not be 100% accurate as I'm cutting some corners for convenience
CIFS vs SMBFS
The module that allows mounting of SMB volumes is called CIFS, or cifs-utils. An older module called smbfs existed, and I used it in my NSLU2 configuration, but it is considered obsolete now. The protocol is called SMB.
Setting the mount point
When I first tried this the required module was already present, later I found I had to install it, I believe the command was apt-get install cifs-utils (note I'm convinced this was already present the first time I tried this)
I created an empty folder called cifs in /mnt
I created a folder on the NAS
I created a user account on the NAS. I'm not sure if this was strictly necessary but I wasn't succeeding using "guest" access
I added a line to /etc/fstab:
//<NAS IP>/<share>/<folder> /mnt/cifs cifs username=<username>,password=<password>,noperm
<NAS IP>: The IP address of the NAS box, I could have used the name instead
<share>: the NAS "share", which actually was the default called share
<folder>: the path to the specific folder written with forward slashes
<username>: a username created on the NAS just for this purpose
<password>: the password for the above username
I configured the service I was running to use the /mnt/cifs folder. Alternatively I could have looked up the specific folder the service used and mounted the NAS folder there instead.
Important note: the above has a SECURITY weakness in that the password is readable by any process able to access /etc/fstab. In the case of small one-service boxes this isn't too important as anyone with access to fstab is probably already "root", but good security practice says to put the password into a separate file and reference that file in fstab, that way the password can only be seen by the administrator and "root".
Another important note: the above assumes there are no spaces in the folder names. If the names do contain spaces you'll want to look up the quoting rules, but IMO you'll save a lot of trouble by avoiding spaces in any path that will be exposed over a network.
It should also be noted that this does not create a "mirror" of the data, the data is ONLY stored on the NAS, however on the plus side if you are running Linux off of a memory card this should prolong the lifespan of the card.