Redundant NAS & SMB Share Configuration

A NAS, or network attached storage, is a large storage pool that can be accessed by anyone on a local network. Many companies will use a NAS for shared storage amongst the company or to store backups in a centralized server.

Creating a proper NAS with large amounts of storage and a raid configuration has been a goal of mine for a while now. I finally pulled the trigger on three 4TB hard drives from Seagate. This will allow me to have 8TB of usable storage, with the third drive acting as a backup for the other two. In the case of a drive failure I can simply replace the dead hard drive with a new 4TB hard drive, keeping all of my data intact.

At the time of building I didn’t have an available physical server. To solve this problem I decided to install the operating system(TrueNAS Scale) onto my existing Proxmox virtualization server. While it is not Ideal to run my NAS through Proxmox, I wanted to get my NAS up and running now rather than waiting until I build another server.

In order to make TrueNAS work through a virtual machine I had to enable hard drive passthrough. This involved going into my Proxmox terminal and executing a number of commands. The commands allowed the three hard drives to be passed from the host OS straight into my TrueNAS virtual machine. I then successfully launched the virtual machine.

With the hardware side of things all set up, I configured a static IP address and accessed the web graphical user interface. Here is where I set up the admin credentials and got started with the configuration of my storage. I started by creating an encrypted pool consisting of the 3 drives. I then set up two datasets inside the pool, one for encrypted private backups of my PC and one as a shared storage pool for the entire house.

My goal was to successfully set up and configure a storage share for my network. Both shares were set up using SMB, as I would be using primarily Windows systems to access the shares. I started on my encrypted backup share which I needed to be private and only accessible by me. First up I created a user account for myself and a group I could be a part of.

I then edited the access control list for my share and gave my group full read, write, and execute privileges. With this configured I could access the share from my Windows PC. From the Windows file explorer I navigated to the Network tab and my TrueNAS share had successfully appeared. I then logged in with my user credentials and started making my backups.

For the second share I wanted to create a storage pool that anyone on my local network could have read and write access to. To achieve this, I created my new network share and in the access control list rules, I added a rule that gave “everyone” read and write access, meaning anyone on my network could see and add to this share.

With this I completed my basic setup of the storage pools. While it will continually grow and evolve, this is a great starting point.