I recently moved my USB 3.0/Sata raid off the USB on my windows machine to Sata on my banana pi to speed things up a bit as my main back-up and fileserver drive on my home network. (In the process, I borrowed a similar sized drive so I could convert the filesystem from ntfs to ext4 as the BPi was running slow with the fuse drivers making it actually slower than it was on USB 3.0) In the process, I also discovered my current router wasn’t properly supporting 1000 baseT ethernet so I upgraded it as well.
I’ve been using it for a while with troublefree results. It’s screaming fast now and I’m very happy with the changes. But I finally had some spare time yesterday so I decided to play with it a bit.
I set up the initial shares as samba/windows shares since many of them were originally used by my windows laptop and still need to be so. But got an idea yesterday to save room on my farm of Pi machines. I have a number of programs I run on all of them that I have learned I get better results if I compile my own and/or download the latest versions directly from the sources. (things like jetbrains tools, which yes - actually run reasonably well on a RPi3 with most functions working fine, cLion specifically runs better with a hand-rolled cmake, node.js works better with the latest armv7 binaries direct from the source, the oracle jdk/jre, arduino ide, processing ide, etc)
Most of those are java based (even the arduino and processing packages - but those two also come with a handful of platform-specific tools and plugins) so the jetbrains stuff I can put all in one folder for both raspbian (armv7) and ubuntu (linux64) based usage. The jdk/jre, node, cmake and arduino + processing tools I separated into armv7 and linux64 folders respectively.
One problem I ran into right away is the samba shares wouldn’t allow them to run properly in the unix environment. Since none of them include tools I’ll be running in windows, I set the folder up as an nfs share instead. Then I just symlink all the files on the various systems and I free up a whole lotta space on all my Pis. (and I can link all of the tools on all of them even if I don’t intend to use them regularly on the older/slower versions)
Presumably, if I had a fast enough connection, I could even access the single folder using an sshfs mount when not at home using the same directory structure.
I will probably migrate my development space to nfs also to see if the jetbrains tools will complain less about not being able to track changes. But I thought I would pass along my joyous results with using the BPi not only as a sata based server front-end to my MediaSonic raid drive, but how seamlessly well it functions for nfs to share files to multiple Pis with limited storage space!