Proxmox

TrueNAS on Proxmox Installation and Configuration Steps

Learn how to run TrueNAS on Proxmox VE server. Discover the integration of these popular solutions for virtualized storage and how this is configured.

Combining TrueNAS with Proxmox is a great way for many to access virtualized storage environments. These integrations combine TrueNAS’s reliable storage capabilities and Proxmox’s virtualization features. Both of these are hugely popular. Let’s take a look at running a TrueNAS VM on top of Proxmox server.

What is TrueNAS?

TrueNAS is an open-source solution that can be downloaded via TrueNAS CORE or TrueNAS SCALE. Each of these is a different flavor of the solution.

  • TrueNAS Core – TrueNAS Core is where the solution started. It was previously known as FreeNAS. It uses FreeBSD and the ZFS filesystem to provide data integrity and supports features like snapshots and replication.
  • TrueNAS Scale – TrueNAS Scale is a Linux-based system that many are choosing now. It supports scale-out storage and clustering for larger environments. It’s well-suited for managing extensive data across containers and virtual machines. It also incorporates Kubernetes for storage integration in containerized applications.

TrueNAS can be installed on bare metal and use physical drives connected to the system to create a ZFS pool. TrueNAS can use drives that are connected to an HBA (Host Bus Adapter) controller. With an HBA controller you can multiple drives (like HDDs or SSDs). To allow ZFS to have direct access to the drives you need to configure them in IT mode (initiator-target mode) without any RAID functionality.

What is Proxmox?

Proxmox VE is a complete virtualization management solution for servers. It has gained a lot of popularity in the home lab community and even for enterprise use cases since VMware by Broadcom price increases.

Proxmox is based on KVM and can run LXC containers, software-defined networking, software-defined storage, and has a new VMware ESXi migration wizard in Proxmox 8.2.

Why is it helpful to run TrueNAS on Proxmox?

You may wonder why we want to run TrueNAS on Proxmox when we could install it as a bare metal solution for a NAS. While you can run TrueNAS as a bare metal installation, there are advantages to running it on top of Proxmox.

These are the following:

  • Proxmox is a much better virtualization platform than TrueNAS. The virtualization tools in TrueNAS are not as good.
  • Also, abstracting your TrueNAS installation using a VM virtual disk gives you the option to back up your TrueNAS installation using native tools like Proxmox Backup Server.
  • You can still achieve great performance with your storage pool using PCI passthrough disks in Proxmox.

Proxmox Passthrough disk for TrueNAS

It is ideal for the best performance to passthrough physical disks from your Proxmox server host to your TrueNAS virtual machine. How do you configure Proxmox Passthrough disk for TrueNAS? Check out my recent blog on this topic here:

Once you have passed through a disk or set of disks to your TrueNAS VM running on Proxmox, you are ready to proceed with the setup. However, you can also use standard virtual disks provisioned normally in Proxmox for your TrueNAS storage pool.

Proxmox passthrough disk for truenas
Proxmox passthrough disk for truenas

Keep in mind, though, that using a virtual drive that has the VirtIO SCSI driver as an abstraction layer does degrade performance to some degree.

Prerequisites

  1. Hardware Compatibility:
    • CPU: 64-bit processor capable of hardware virtualization, with Intel VT-x/AMD-V support recommended.
    • Memory: At least 8 GB of RAM, but 16 GB or more is recommended for better performance, especially when running multiple services or virtual machines.
    • Storage: The TrueNAS SCALE OS installation requires a minimum of 8 GB of boot space (an SSD is recommended). Data requires additional storage, with ZFS typically needing at least one additional data drive.
  2. Network:
    • Ethernet Interface: At least one Ethernet interface is required for network connectivity. Additional interfaces are recommended for configurations such as link aggregation or separate networks for management and data.
  3. Supported Hardware Platforms:
    • Motherboards: A motherboard compatible with the installed CPU and sufficient RAM slots. Motherboards with IPMI or similar remote management capabilities provide easier administration.
    • HBA (Host Bus Adapter) Cards: HBA cards compatible with TrueNAS SCALE and supported in IT mode are ideal for attaching storage drives, especially in configurations requiring direct disk access bypassing RAID functionalities.
  4. Software Requirements:
    • Browser: A modern web browser for accessing the TrueNAS SCALE web-based user interface.
    • Boot Mode: UEFI boot mode is required for systems using TrueNAS SCALE.
  5. Filesystem:
    • ZFS: TrueNAS SCALE uses the ZFS filesystem exclusively. It is known for its data protection, snapshot, and replication features.
  6. Optional but Recommended:
    • UPS (Uninterruptible Power Supply): This is used to prevent data loss and corruption during power failures.
    • ECC (Error-Correcting Code) Memory: While not required, ECC RAM is recommended for preventing data corruption in memory, which is particularly important in ZFS environments.

TrueNAS Proxmox setup

Let’s look at the installation and configuration of TrueNAS on a Proxmox server. The process involves creating the TrueNAS virtual machine, setting up storage pools, and ensuring optimal performance through efficient hardware utilization.

Create the TrueNAS virtual machine in Proxmox

Below, we are beginning the process of creating a new Proxmox VM for the TrueNAS installation.

Creating a new vm for truenas
Creating a new vm for truenas

Select the TrueNAS ISO image you have uploaded to your Proxmox ISO datastore.

Select the os iso
Select the os iso

Here I am leaving the defaults.

System configuration settings for truenas on proxmox
System configuration settings for truenas on proxmox

The disk created below is the installation disk for TrueNAS. We will select our physical passthrough disk to house our data in a ZFS pool.

Disk configuration for truenas on proxmox
Disk configuration for truenas on proxmox

On the CPU configuration, choose the sockets and cores you want to utilize.

Cpu configuration
Cpu configuration

Configure your TrueNAS system memory.

Truenas vm memory configuration
Truenas vm memory configuration

Configure your network adapter for the TrueNAS virtual machine.

Truenas network vm configuration
Truenas network vm configuration

Finally, we get to the summary screen where we can confirm the configuration.

Confirm the new vm settings for truenas
Confirm the new vm settings for truenas

Install TrueNAS

Now that we have the virtual machine ready to go, we can install TrueNAS. The steps to install the latest version in Proxmox are no different than bare metal, in VMware vSphere, etc. Below, you will see we are selecting the virtual disk for installing the TrueNAS operating system, not our passthrough disk. We want the passthrough disk reserved for the ZFS pool in our storage pool.

Select the hard disk for truenas installation
Select the hard disk for truenas installation

Now, select the web UI authentication method. Here I am sticking with the default of admin.

Select the web ui authentication method
Select the web ui authentication method

Set the password for the admin account.

Create a password for the admin account in truenas
Create a password for the admin account in truenas

Configure the swap partition.

Configure the swap partition
Configure the swap partition

Allow EFI boot.

Allow efi boot for truenas
Allow efi boot for truenas

The installation succeeded.

Truenas installation is successful
Truenas installation is successful

Configuring Storage Pools in TrueNAS

After installation, configuring storage pools is next. Log into your TrueNAS installation by browsing to the web UI administration in a web browser (just browse to the IP address or FQDN of the new VM).

Truenas scale login
Truenas scale login

If you don’t have a storage pool yet, you will see the information box that suggests you create a storage pool. Click Create Pool.

Create a new zfs storage pool in truenas
Create a new zfs storage pool in truenas

This begins the new storage pool wizard. Name the pool and follow the wizard prompts. Only the Name and Data steps are required.

Naming your new zfs pool in truenas
Naming your new zfs pool in truenas

On the Data step, add your disk or disks to the ZFS pool configuration. Here for testing, I am only adding a single disk that I have passed through.

Configure the data settings in truenas on proxmox configuration
Configure the data settings in truenas on proxmox configuration

Save and Go To Review if you have no other configuration needed.

Save and review the zfs pool settings in truenas
Save and review the zfs pool settings in truenas

Next, select Create Pool.

Create the new storage pool in truenas
Create the new storage pool in truenas

You will see the warning that the disk will be erased.

Erase disk warning in truenas
Erase disk warning in truenas

The storage pool creation with the PCI passthrough disk worked flawlessly.

Viewing the storage dashboard after creating the zfs pool
Viewing the storage dashboard after creating the zfs pool

Troubleshooting

Note the following troubleshooting sections to help identify and work through problems with TrueNAS on Proxmox.

Installation Issues

  • Verify VM Configuration: Ensure your VM has the necessary CPU cores, memory, and disk size.
  • Check Installation Media: Confirm the integrity and compatibility of your TrueNAS installation media with Proxmox.
  • Console Logs: Use the Proxmox VM console to access error logs for more specific diagnostic information.

Network Problems

  • Network Interface Configuration: Ensure VM network settings align with Proxmox network configurations.
  • Firewall Settings: Check that the Proxmox host’s firewall permits traffic to and from the TrueNAS VM.
  • Update Network Drivers: Consider updating or configuring network drivers within Proxmox and setting up a network bridge if needed.

Performance optimization and troubleshooting

  • Resource Allocation: Monitor and adjust the VM’s resource allocation in Proxmox to meet demands.
  • ZFS Configuration: Utilize ZFS features like compression and caching appropriately to enhance performance.
  • Workload-Specific Settings: Modify ZFS settings such as enabling atime updates for environments with heavy read operations.

Data Integrity Errors

  • Regular ZFS Monitoring: Regularly check the ZFS pool status for any signs of corruption or disk failures.
  • Use ZFS Tools: Employ ZFS scrubbing and recovery tools to restore and maintain data integrity.
  • Hardware Compatibility: Ensure all storage hardware, especially HBA cards, are compatible with TrueNAS and correctly configured.

Wrapping up TrueNAS on Proxmox

Running TrueNAS on top of Proxmox has many advantages. You will reap the benefits of Proxmox’s more powerful virtualization tools. Using passthrough disks in Proxmox for your TrueNAS VMs will still allow you to have bare metal performance for your storage data.

Are you running TrueNAS on Proxmox? Let me know in the comments or a forum post how you are liking TrueNAS and if you are running it as a virtualized instance or using bare metal.

Subscribe to VirtualizationHowto via Email ๐Ÿ””

Enter your email address to subscribe to this blog and receive notifications of new posts by email.



Brandon Lee

Brandon Lee is the Senior Writer, Engineer and owner at Virtualizationhowto.com, and a 7-time VMware vExpert, with over two decades of experience in Information Technology. Having worked for numerous Fortune 500 companies as well as in various industries, He has extensive experience in various IT segments and is a strong advocate for open source technologies. Brandon holds many industry certifications, loves the outdoors and spending time with family. Also, he goes through the effort of testing and troubleshooting issues, so you don't have to.

Related Articles

2 Comments

  1. Hi great work!
    If I understand correctly, by using passthrough disks, we will lose the SMART capabilities. SO, how can we check if a disk is about to fail?
    When a disk fails, the VM will no longer boot until we remove the failed disk, so my question is: will we actually ever see the ZFS pool state as degraded?
    Or will we always see the pool as “green” until a disk fails and the VM will no longer boot?

    thanks a lot

    1. scarsaus,

      thanks for the comment and that is a great question. I have not tested that unfortunately. So I am not entirely sure of the behavior there. However, I wouldn’t rely on passthrough disks being monitored entirely correctly from a system standpoint. You can throw something like Netdata on your Proxmox host and it will monitor at the hardware level, including SMART errors. They have a free license for just a few nodes. Hope this helps!

      Brandon

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.