Life without a NAS is a pain. Having to drag and drop files through Google Drive, forgetting your class notes on the laptop and you’re too lazy to turn it on, upload the file, redownload the file onto your desktop, and so on… If you want to say goodbye to all those pain, TrueNAS is for you!
In this guide, I’ll walk you through the process of installing TrueNAS Scale as a dedicated NAS Operating System in Proxmox VE. With this storage system you can manage and share files effectively without having to drag-drop files through Google Drive, some casual gaming, video editing, media station, etc.
Though It might sound intimidating but don’t be! I’ll guide you step-by-step on how to install TrueNAS, configure storage, and setup SMB Share.
Why?
TrueNAS is purpose-built for managing storage. It can setup storage configurations such as RAID0, RAID1, RAID-Z which will help protecting your data in case of failure. TrueNAS is also fairly easy to use and setup, including setting up SMB Share.
Secondly, TrueNAS is free and open-source. Of course you can use either TrueNAS Core or other software such as DSM from Synology or UnRAID but it’s propriatery and some you have to pay for it, which if you’re willing to, go ahead. I certainly would give those a try later on if I can but for now, TrueNAS Scale does the job.
DISCLAIMER: if you specifically want to use your server for file sharing only, installing TrueNAS barebone instead of running as a VM is a better choice. Plus, TrueNAS can also run containers so you’re not losing out anything.
One downside of installing TrueNAS in Proxmox as a VM is the hard drive temperature is not shown but besides that, I haven’t found any more downsides. For me personally and for these guides, I will be installing other services and VM such as Ubunto or Docker a lot so Proxmox is a must.
Prerequisites
- Proxmox VE installed. Don’t have Proxmox? Click here.
- At least dual core CPU.
- 8GB RAM.
Installation
Here we will download TrueNAS ISO, upload it to Proxmox and install it as a Virtual Machine.
Pre-setup
You can download the TrueNAS ISO on their homepage.
When you finish downloading the ISO, go to your Proxmox VE and upload the ISO:
- Go to
Local > ISO Images > Upload
. - Select File > choose your TrueNAS ISO download. Once the upload is done, close the window.
Install TrueNAS
Now we’ll create a TrueNAS Virtual Machine:
- Click
Create VM
button. - Create VM Page:
- VM ID: 100 (or other number if taken).
- Name: TrueNAS.
- OS: choose ISO image TrueNAS.
- System: leave on default.
- Disks: default.
- CPU: I recommend 1 socket, at least 2 cores.
- Memory: at least 8GB (8192MB).
- Network: default (VirtIO).
- Finish.
Now that it’s booting up, go to the TrueNAS VM > Console
.
In the console, the setup process should be straightforward. Be sure to choose the correct drive for booting. If you’re stuck somewhere, consult this official TrueNAS CORE guide.
SATA Storage Passthrough
Here I have two 2TB Western Digital Red NAS hard drives of which I’ve already used in another old server. The storage passthrough progress should be the same up until the Pool creation in TrueNAS, which I’ll specify more below.
Storage Passthrough
Now, connect to the Proxmox VE terminal via SSH:
|
|
Update and install lshw
:
|
|
Identify installed disks:
|
|
The following drive names should show up:
|
|
Map the identified disks to TrueNAS VM:
|
|
Restart TrueNAS. You can check if the drives are configured correctly with the following command in Proxmox SSH:
|
|
Configuration
Congratulations! Now that all the hard stuff is done, go to the TrueNAS web interface via your TrueNAS IP Address. If you don’t know what yours is, try finding it through your router’s settings.
Here if you have completely new drives, go to Storage > Create Pool
.
Here you should probably check out other people’s guides on how to configure drive pool. But tl;dr if you have 2 drives, go for RAID-1 or mirroring for redundancy in case one drive fails. In my case, since I’m not storing any sensitive data and I am cheaping on it (which you probably shouldn’t do), I have set up 2 drives as RAID 0…
Since I am migrating from an existing server, I’ll be using the Import Pool option.
SMB Share Setup
Add new dataset
Add new dataset to the pool that you’ve just created. Mine is WDRed\prox-share
. If you are also importing from an existing pool, you can skip this step.
First, add a new group. The reason why we’re adding group first is to ensure both the Group ID and User ID is the same. Below are the steps to add group and then user.
Add new group
- Go to
Credentials > Local Groups > Add
- GID: 1000
- Name: [GROUP NAME]
- Allow all sudo commands: check ☑️
- Samba auth: check ☑️
New user
- Enter your Username and Password.
- UID: 1000
- Primary Group: [GROUP NAME]
- (the one you just created above, should be at the end of the list)
Allow all sudo commands
: check ☑️Samba Authentication
: check ☑️
Remember to take note of the local user ID and local group ID which will be used for sharing and accessing the storage.
Setup SMB share
- Go to:
Shares > Windows (SMB) Shares > Add > /mnt/WDRed/smbshare
- Enter name and leave everything else on default.
- Select
View all
>press the 3 dots >Edit Filesystem ACL
- Add Item
- Who*: set as “Group”
- User*: your username
- Permissions: Full Control. (IMPORTANT)
Remember to configure everything correctly as the screen above. Save access control list when you’re done.
Done! Now you can go to your Windows computer on the same local network and add the network storage on your machine with the following path:
|
|
Conclusion
We’ve gone through the process of installing TrueNAS Scale, configured storage pool, added a user and setup SMB Share successfully. If you followed the guide correctly, you should have a fully functioning network server that you can use on any of your computer in your local server. Congratulations! Now go enjoy your newly created NAS server. Take your time.
If you want to configure SMB storage for Linux computers, I’ll be writing a guide on how to setup Debian VM for docker containers soon. Or, go check out Hardware Haven Home Server setup Tutorial here:
Leave a comment if you have any suggestions and in the meanwhile, take care!