A NAS unit is a computer connected to a network that provides only file-based data storage services to other devices on the network. Although it may technically be possible to run other software on a NAS unit, it is usually not designed to be a general-purpose server. For example, NAS units usually do not have a keyboard or display, and are controlled and configured over the network, often using a browser. NAS is specialized for serving files either by its hardware, software, or configuration. It is often manufactured as a computer appliance – a purpose-built specialized computer.
A full-featured operating system is not needed on a NAS device, so often a stripped-down operating system is used. For example, FreeNAS or NAS4Free, both open source NAS solutions designed for commodity PC hardware, are implemented as a stripped-down version of FreeBSD. NAS systems contain one or more hard disk drives, often arranged into logical, redundant storage containers or RAID. NAS uses file-based protocols such as NFS (popular on UNIX systems), SMB (Server Message Block) (used with MS Windows systems), AFP (used with Apple Macintosh computers), or NCP (used with OES and Novell NetWare). NAS units rarely limit clients to a single protocol.
From the mid-1990s, NAS devices began gaining popularity as a convenient method of sharing files among multiple computers. Potential benefits of dedicated network-attached storage, compared to general-purpose servers also serving files, include faster data access, easier administration, and simple configuration. Open-source NAS-oriented distributions of Linux and FreeBSD are available. These are designed to be easy to set up on commodity PC hardware, and are typically configured using a web browser. They can run from a virtual machine, Live CD, bootable USB flash drive (Live USB), or from one of the mounted hard drives. They run Samba (an SMB daemon), NFS daemon, and FTP daemons which are freely available for those operating systems.
NAS units are generally available. However, NAS can get quite expensive, so one solution is the DIY solution, which is cost effective compared to a readily available solution. Recently, a Redditor named CodemanHB posted his project, which demonstrates his personal small-scale solution utilizing a Raspberry Pi and a custom 3D-printed case. His NAS unit comprises of a Raspberry Pi 4 4GB version, an Uctronics PoE HAT, a 240×320 pixel 2″ IPS LCD display module, a 500GB SK Hynix SATA III SSD, and a USB to SATA adapter cable. He also designed the SSD to serve as the main storage device, and also store the OS for running the NAS.
The enclosure He used for the NAS is a 3D-printed case, which was designed in Fusion 360 and made with a Creality3D CR-10 3D printer. He also used a carbon fiber filament which gave the NAS a beautiful finish on the printed parts. You can find more pictures and information on CodemanHB’s Thingiverse page, and on his Reddit post.