Your Proxmox box has a small SSD, your NAS has ten terabytes sitting mostly idle, and right now those two things aren't talking to each other. Mounting an NFS share fixes that — it lets Proxmox use storage sitting on another machine on your network as if it were a local drive, which is exactly what you want for ISO images, backups, and templates that would otherwise eat your boot drive alive.
The setup itself is short. Most of the confusion people run into is on the NAS side, not the Proxmox side, so this guide covers both.
What You Will Learn
- What NFS actually is and why it's a good fit for Proxmox specifically
- How to export a share from a NAS or Linux server so Proxmox can reach it
- How to add that share as storage in the Proxmox web interface
- Which content types make sense to store on NFS, and which don't
- How to troubleshoot the most common "storage not available" errors
What Is This Feature?
NFS stands for Network File System. It's a protocol, originally built for Unix systems and now supported almost everywhere, that lets one machine share a folder over the network so other machines can mount it and use it like a local disk. No file copying involved — the files physically live on the NFS server, and every machine that mounts the share reads and writes to that same location directly.
Proxmox has built-in support for NFS as a storage type. Once you add an NFS share through the Datacenter storage settings, it shows up as a storage location you can select the same way you'd pick your local disk, right from the dropdown when uploading an ISO or creating a VM disk.
This is different from something like Ceph, which pools multiple nodes' local disks into one distributed storage cluster with built-in redundancy. NFS is simpler and has no built-in redundancy of its own — you're just pointing at a folder on one other machine. That simplicity is exactly why it's such a common starting point for homelabs: no cluster to set up, no complex configuration, just a shared folder.
Why Would You Use It?
The most common reason is running out of local disk space. Proxmox installs are often on a fairly small boot drive, especially on a dedicated mini PC or an old laptop repurposed as a homelab server. ISO images alone add up fast — a single Windows 11 ISO is around 5-6 GB, and if you keep a handful of Linux distro images around too, that adds up.
The second big reason is backups. Storing VM backups on the same disk as the VMs themselves defeats a good chunk of the point of backing up — if that disk fails, you lose the VMs and the backups together. Pointing your backup storage at a separate NAS over NFS means a single drive failure on the Proxmox host doesn't take your backups down with it.
It's also genuinely convenient if you're running more than one Proxmox node. Point every node at the same NFS share for ISO images and templates, and you only need to upload a Windows ISO once instead of separately to each host.
Prerequisites
- A Proxmox VE 7.x or 8.x host
- A NAS (Synology, QNAP, TrueNAS, or similar) or any Linux machine that can run an NFS server, reachable on the same network
- The IP address of that NAS or server
- Root or admin access on both the Proxmox host and the NFS server, since you'll be creating an export on one side and adding storage on the other
A quick note on hardware expectations: NFS itself doesn't require anything fancy, but the network between your Proxmox host and the NAS matters a lot more than people expect. A gigabit connection is the practical minimum if you plan to run backups over it regularly — anything slower and a full VM backup can take considerably longer than you'd want to wait.
Step-by-Step Tutorial
Step 1: Create the Export on Your NAS or Linux Server
If you're using a NAS with a web interface like Synology's DSM or TrueNAS, look for a section called "Shared Folders" or "Shares," create a new folder, and enable NFS access on it. Most NAS interfaces let you restrict access to specific IP addresses — set it to allow your Proxmox host's IP, or your whole subnet if you'd rather not manage a list.
If you're exporting from a plain Linux server instead, edit the exports file:
sudo nano /etc/exports
Add a line like this, adjusting the path and the allowed network to match your setup:
/mnt/storage/proxmox 192.168.1.0/24(rw,sync,no_subtree_check)
That line means: share the folder /mnt/storage/proxmox, allow any machine on the 192.168.1.0/24 network to connect, with read-write access (rw), writing changes to disk immediately rather than caching them (sync), and skipping an extra permission check that isn't needed for most setups (no_subtree_check).
Apply the export and start the NFS service:
sudo exportfs -ra
sudo systemctl enable --now nfs-kernel-server
Step 2: Add the NFS Storage in Proxmox
In the Proxmox web interface, click Datacenter in the left tree, then go to Storage → Add → NFS.
Fill in the fields:
- ID — a name you choose, like
nas-storage. This is just a label used inside Proxmox. - Server — the IP address of your NAS or Linux server.
- Export — once you enter the server's IP, Proxmox queries it and lists available exports in a dropdown. Pick the one you created in Step 1.
- Content — select which types of data you'll store here: ISO images, VM backups, container templates, and so on.
Click Add. Proxmox mounts the share immediately, and you should see it appear with a green checkmark in the Storage view within a few seconds.
Step 3: Upload an ISO to Confirm It Works
Select the new storage in the left tree, click ISO Images, then Upload, and pick any ISO file from your computer. If it uploads without an error, your NFS storage is working correctly and ready to use for VM creation.
Commands Explained
| Command | What It Does |
|---|---|
sudo nano /etc/exports | Opens the NFS exports config file on a Linux NFS server, where you define which folders are shared and who can access them. |
sudo exportfs -ra | Re-reads the exports file and applies any changes without needing to restart the whole NFS service. |
sudo systemctl enable --now nfs-kernel-server | Starts the NFS server service and sets it to launch automatically on every boot. |
showmount -e <server-ip> | Run from the Proxmox host, lists the NFS exports a given server is currently offering — useful for confirming the share is actually visible over the network. |
pvesm status | Shows the status of all configured Proxmox storage, including whether the NFS mount is active. |
Common Errors
mount error: access denied by server while mounting
The Proxmox host's IP isn't in the allowed list on the NFS server side. Go back to your NAS's share permissions, or the /etc/exports line, and confirm the Proxmox host's actual IP address falls within the range you've allowed.
storage 'nas-storage' is not online
This shows up in the Proxmox UI when the NFS server isn't reachable — often because the NAS was rebooted, powered off, or the network path between the two changed. Check that the NAS is actually up and reachable with a quick ping from the Proxmox host.
Permission denied when writing to the share
Usually a permissions mismatch on the NAS side, especially with Synology and QNAP devices that default to more restrictive folder permissions than a plain Linux export. Check the share's permission settings on the NAS and make sure the "everyone" or relevant user/group has read-write access, not just read.
Troubleshooting
If the storage shows a red X or "not online" in Proxmox, start by checking basic connectivity. SSH into the Proxmox host and run ping <nas-ip> — if that fails, the problem is network-level, not NFS-specific, and worth checking your switch, cabling, or VLAN configuration before anything else.
If ping succeeds but the mount still won't come up, run showmount -e <nas-ip> from the Proxmox host. This should list the exports the NAS is currently offering. If your export doesn't appear at all, the problem is on the NAS side — double check the share was actually enabled for NFS access, not just SMB/Windows file sharing, which is a separate setting on most NAS devices.
If uploads are painfully slow compared to what you'd expect from your network speed, check whether your NAS and Proxmox host are actually on the same network segment, or if traffic is routing through something slower, like a VLAN that's throttled or a switch port negotiated at 100 Mbps instead of gigabit. NFS performance is very sensitive to underlying network speed, more so than protocols with heavier local caching.
Occasionally the storage shows online in Proxmox but backup jobs still fail partway through with a generic I/O error. In that case, check the free space on the NAS itself rather than assuming it's a Proxmox problem — a share that fills up mid-write behaves exactly like a flaky connection from Proxmox's point of view, and it's an easy thing to overlook if you're used to watching disk space on the Proxmox host instead of the NAS.
Best Practices
- Use NFS storage for ISOs, templates, and backups — things read occasionally, not written to constantly.
- Avoid running your actual VM disks directly off NFS unless your network and NAS can sustain solid throughput; a slow or flaky network connection turns into a slow, flaky VM.
- Restrict NFS exports to your Proxmox host's specific IP (or a small subnet) rather than opening it to your entire network — no reason to expose more than necessary.
- If you're running a Proxmox cluster, point every node at the same NFS share for ISOs and templates so you're not duplicating uploads across nodes.
- Keep an eye on free space on the NAS side too — Proxmox will happily keep writing backups until the NFS share itself runs out of room, and that failure mode is easy to miss until a backup job fails.
Frequently Asked Questions
Can I store VM disks on NFS, not just ISOs and backups?
Yes, Proxmox supports it as a content type, but performance depends heavily on your network and NAS. For anything I/O-sensitive, a faster local disk or iSCSI usually performs better.
Do I need a dedicated NAS, or can any Linux machine work?
Any Linux machine running the NFS server package can work. A dedicated NAS is just more convenient since most come with NFS support built into their web interface already.
What's the difference between NFS and SMB/CIFS for Proxmox?
Proxmox supports both. NFS is generally the more common choice on Linux-based networks and tends to have slightly better performance for this use case, while SMB is the standard choice if your storage device is primarily set up for Windows file sharing.
Why does my NFS storage disconnect after a NAS reboot?
Proxmox usually reconnects automatically once the NAS comes back online, but it can take a minute or two. If it doesn't reconnect on its own, check Datacenter → Storage and confirm the entry, then give it a moment before assuming something's broken.
Can multiple Proxmox nodes use the same NFS share at once?
Yes, that's actually one of the most common reasons to use NFS in a multi-node setup — shared access to the same ISOs, templates, and backup storage across every node.
Conclusion
Once the export is set up correctly on the NAS side, adding NFS storage to Proxmox takes about two minutes and just works. It's one of the simplest ways to stop your boot drive from filling up with ISOs, and it gives your backups somewhere safer to live than the same disk as the VMs they're protecting.
If you only take one thing from this: get the export permissions right on the NAS first. Almost every problem people hit traces back to that step, not anything on the Proxmox side.