Running a NAS on top of Proxmox lets you turn a single physical machine into both a virtualisation host and a dedicated storage server, without buying separate hardware for each job. This guide walks through how to set up NAS on Proxmox using a virtual machine, from preparing the host through to sharing folders on your network. It suits anyone who already runs Proxmox for other virtual machines and wants to add reliable file storage alongside it.
Table of Contents
What you’ll need
- A Proxmox VE host with enough spare CPU, RAM, and storage capacity for a NAS virtual machine
- A motherboard and CPU that support IOMMU (Intel VT-d or AMD-Vi) if you plan to pass through a storage controller
- One or more physical hard drives or SSDs dedicated to storage, separate from the Proxmox boot drive
- An installer image for your chosen NAS operating system, such as TrueNAS or OpenMediaVault
- A stable network connection and, ideally, a UPS to protect against unexpected power loss
Choosing how to run NAS software on Proxmox
There are two common approaches. The first is to install a dedicated NAS operating system inside a virtual machine and give it direct access to physical disks. The second is to let Proxmox manage the storage pool itself and share folders using its own tools. Most home users get better results with the first option, because purpose-built NAS software includes proven storage management, snapshotting, and sharing features that are simpler to configure than doing everything manually on the host.
| Option | Best for | Complexity |
|---|---|---|
| TrueNAS as a VM with disk passthrough | ZFS storage pools, snapshots, data integrity checks | Moderate, requires passthrough setup |
| OpenMediaVault as a VM | Simpler file sharing on ext4 or other filesystems | Lower, more flexible with virtual disks |
| Proxmox host manages storage directly | Advanced users comfortable with the command line | Higher, less beginner friendly |
Preparing the Proxmox host
- Confirm your CPU and motherboard support hardware virtualisation and IOMMU, then enable these options in the system BIOS or UEFI settings.
- On the Proxmox host, edit the boot configuration to enable IOMMU support, then reboot so the change takes effect.
- Check that the storage controller or individual disks you intend to dedicate to the NAS appear as separate devices, ready for passthrough.
- Make sure the disks meant for NAS storage are not formatted or used by Proxmox itself, since they need to be handed over untouched to the NAS virtual machine.
Passing through a storage controller or disks
- Identify the PCI address of the disk controller (such as a SATA or HBA card) you want to dedicate to the NAS VM, using the Proxmox shell.
- Blacklist the controller’s driver on the host so Proxmox does not mount or interfere with it at boot.
- In the virtual machine’s hardware settings, add the PCI device and select the identified controller for passthrough.
- If you do not have a spare controller to pass through, individual disks can instead be passed through directly as raw devices, though a dedicated HBA generally gives more reliable results for larger storage pools.
Creating and installing the NAS virtual machine
- Create a new virtual machine in Proxmox, allocating enough CPU cores and RAM based on your chosen NAS software’s recommended minimums.
- Attach the NAS operating system’s installer image as a virtual CD-ROM.
- Set the boot order so the VM starts from the installer, then boot the virtual machine and follow the on-screen installation prompts.
- Install the NAS operating system onto a small virtual disk kept separate from the passed-through storage disks, since the boot drive and data drives should not share the same disk.
- Once installation finishes, remove the installer image and reboot the VM into the new NAS operating system.
Configuring storage pools and network shares
- Log in to the NAS operating system’s web interface from another device on your network.
- Create a storage pool using the passed-through disks, choosing a redundancy level appropriate to how many drives you have.
- Set up one or more shared folders inside the pool for the type of data you plan to store, such as media, documents, or backups.
- Enable the relevant sharing protocol, typically SMB for Windows-style network shares or NFS for Linux and other NAS-aware devices.
- Create user accounts and assign permissions so only the right people and devices can access each share.
Once shares are working, it is worth reviewing how to go about configuring NAS RAID for data protection so your storage pool can survive a drive failure without losing data.
Tips and troubleshooting
- Avoid using virtual disks for your main storage pool if you plan to run ZFS inside the VM, since ZFS performs best with direct access to physical disks rather than an abstracted virtual disk layer.
- If passthrough devices do not appear inside the VM, double check that IOMMU is enabled correctly and that the host driver has been blacklisted.
- Give the NAS VM a fixed amount of RAM rather than a dynamic allocation, since many NAS operating systems expect consistent memory for caching.
- Back up the NAS VM’s configuration regularly, separate from the data pool itself, so a VM failure does not leave you without settings to restore.
- Test your setup by writing and reading a large file over the network share before relying on it for anything important.
If you are new to NAS concepts generally, the beginner’s guide to setting up a NAS at home covers the basics that apply whether you run dedicated hardware or a virtual machine like this one. Once the NAS is reachable on your local network, you can also look at accessing your NAS remotely over the internet for safe off-site access, and setting up NAS user accounts and permissions to keep shared folders properly secured.
Frequently asked questions
Do I need a dedicated storage controller to run NAS on Proxmox?
Not strictly, but it is recommended for anything beyond light use. A dedicated HBA or SATA controller passed through to the VM gives the NAS software direct, unfiltered access to the disks, which matters for filesystems like ZFS that expect to manage drives themselves.
Can I use virtual disks instead of physical disk passthrough?
Yes, and it is simpler to set up, but it adds a layer of abstraction between the NAS software and the actual hardware. This works fine for less demanding setups or filesystems that do not rely on raw disk access, but is generally not recommended for large ZFS pools.
Will running a NAS as a VM affect performance compared to dedicated NAS hardware?
With proper passthrough and enough allocated CPU and RAM, performance is usually very close to running the same software on dedicated hardware. The main overhead comes from misconfigured storage, such as using virtual disks where passthrough would suit better.
What happens to my NAS storage if the Proxmox host reboots?
The NAS virtual machine will restart along with the host unless configured otherwise, and the storage pool should reassemble automatically once the VM boots, provided the passed-through disks are detected correctly. Setting the VM to start automatically on host boot avoids needing to manually power it on each time.




