Truenas on Proxmox
Posted on 18-03-2025 by Siddhant Dembi
Prerequisites
A USB drive with the Proxmox VE ISO (created via tools like BalenaEtcher).
A monitor/keyboard for initial NUC setup.
Network access to download ISOs/updates.
Step 1: BIOS Configuration
Access BIOS:
Reboot the NUC and press F2/Delete during startup.
Enable Virtualization:
Under Advanced > CPU Configuration, enable:
- Intel Virtualization Technology (VT-x)
- VT-d (Intel Directed I/O for IOMMU)
Set Boot Mode:
Ensure UEFI Boot (not Legacy/CSM) is enabled.
Save changes and exit.
Step 2: Install Proxmox VE
Boot from USB:
Insert the Proxmox USB, reboot, and select the USB drive as the boot device.
Proxmox Installation:
- Select Install Proxmox VE.
- Agree to the EULA.
- Target Disk: Select the 1 TB WD NVMe.
- Filesystem: Use ext4 (simpler for single-disk setups).
- Configure hostname, network (use a static IP if possible), and password.
- Complete installation and reboot.
Step 3: Proxmox Post-Installation Setup
Web Interface:
Access Proxmox via https://[proxmox-ip]:8006 in a browser.
Update Packages:
bash
apt update && apt upgrade -y
Enable IOMMU (for PCI Passthrough):
Edit /etc/default/grub:
bash
nano /etc/default/grub
Modify the GRUB_CMDLINE_LINUX_DEFAULT line to include:
bash
intel_iommu=on
Save and exit.
Update GRUB and reboot:
bash
update-grub && reboot
Step 4: Identify the 4 TB NVMe for Passthrough
Find Disk ID:
bash
ls -l /dev/disk/by-id/
Note the ID of the 4 TB Samsung NVMe (e.g., nvme-Samsung_SSD_4TB_XXXXXX).
Step 5: Create the TrueNAS Scale VM
Download TrueNAS Scale ISO:
Download from truenas.com.
Upload ISO to Proxmox:
In the Proxmox web UI, go to local (pve) > ISO Images > Upload.
Create VM:
General:
- Name: TrueNAS-Scale
- VM ID: 100 (default)
OS:
- Use the uploaded TrueNAS ISO.
- Type: Linux.
- Version: 5.x - 2.6 Kernel.
System:
- Graphics: Default.
- Machine: q35 (UEFI-compatible).
- BIOS: OVMF (UEFI).
Disks:
- Add a 32 GB virtual disk (for TrueNAS OS) on the 1 TB NVMe.
CPU:
- Cores: 4-6 (adjust based on host needs).
- Type: Host.
Memory:
- Allocate 16-32 GB (ZFS benefits from more RAM).
Network:
- Model: VirtIO (paravirtualized for performance).
Step 6: Passthrough the 4 TB NVMe to the VM
Add Disk Passthrough:
- In the VM’s hardware tab, click Add > Hard Disk.
- Select the 4 TB NVMe by its
/dev/disk/by-id/... ID.
- Set Bus/Device to SCSI (or VirtIO if preferred).
- Check Discard and SSD Emulation (for TRIM support).
- Click Add.
Step 7: Install TrueNAS Scale
Boot the VM:
Start the VM and open the console.
Installation:
- Select Install/Upgrade.
- Choose the 32 GB virtual disk as the boot pool.
- Set a root password.
Reboot:
After installation, shut down the VM, detach the ISO, and restart.
Step 8: Configure TrueNAS Scale
Web Interface:
Access TrueNAS via http://[truenas-ip].
Create Storage Pool:
- Go to Storage > Create Pool.
- Name:
tank (or your choice).
- Select the 4 TB NVMe (ensure it’s listed under disks).
- Configure as a Stripe (single disk) or add redundancy later.
Create Datasets/Shares:
- Add datasets (e.g.,
media, backup).
- Enable SMB/NFS/iSCSI shares as needed.
Step 9: Verify and Test
Check Pool Health:
In TrueNAS, go to Storage > Pools to confirm the pool is online.
Test File Transfers:
Mount a share on another device and test read/write speeds.
Troubleshooting Tips
- PCI Passthrough Issues: If the disk isn’t detected, ensure IOMMU is enabled and the NVMe is in its own IOMMU group.
- Performance: Use VirtIO drivers for network/disk in the VM settings.
- ZFS Warnings: TrueNAS may warn about non-ECC RAM; proceed if acceptable.