Introduction
So you've got a Windows PC sharing a folder, or maybe a Synology or QNAP NAS sitting on your network, and you want your Proxmox VE host to use it. Not as a Windows file share you browse to from your laptop — as actual storage that Proxmox can put ISO files, backups, or container templates on.
That's what SMB/CIFS storage does. It's one of the easier storage types to set up in Proxmox VE, and honestly, it's the one most homelab users reach for first because almost everyone already has a NAS or a Windows machine with a shared folder sitting around. No extra software to install, no export files to edit by hand.
By the end of this guide you'll have a working SMB share mounted in Proxmox VE, you'll understand what each setting actually does, and you'll know how to fix the two or three errors that trip up almost everyone the first time.
What You Will Learn
- What SMB and CIFS actually mean, and why Proxmox VE treats them as one storage type
- When SMB storage is the right call — and when it isn't
- How to add an SMB/CIFS share through the Proxmox web interface
- How to do the same thing from the command line with
pvesm - What every field and option in the configuration actually controls
- The specific errors people hit most often, and how to fix each one
- A few practical habits that will save you a support forum thread later
What Is This Feature?
SMB (Server Message Block) and CIFS (Common Internet File System) are really the same protocol family — CIFS is an older dialect of SMB, and in practice almost nobody runs the ancient CIFS version anymore. Proxmox VE just labels the storage type "CIFS" for historical reasons, but under the hood it uses the modern SMB2 or SMB3 protocol. If you've ever mapped a network drive on Windows, or connected to a "Shared Folder" on a NAS from your Mac, you've already used SMB.
In Proxmox VE, adding an SMB/CIFS storage means the Proxmox host mounts that remote folder locally (usually under /mnt/pve/<storage-name>) and then treats it like local disk space. You can then tell Proxmox to store specific things there — ISO images, backup files, container templates, and in some cases virtual disk images.
It's worth contrasting this with NFS, the other common network storage option in Proxmox. NFS is more of a Linux/Unix-native protocol and doesn't use username/password authentication by default — it relies on IP-based export rules instead. SMB, on the other hand, almost always requires a username and password, which makes it the natural fit if your share lives on a Windows machine, a domain-joined server, or a consumer NAS that's already set up with SMB users.
Why Would You Use It?
The most common reason is simple: you already have SMB storage available and you don't want to set up anything new. Every consumer NAS supports it out of the box, and if you're coming from a Windows-heavy environment, SMB shares are probably already part of your daily routine.
A few concrete use cases:
- Central ISO storage. Drop your Windows, Ubuntu, and Debian ISOs on a NAS share once, then mount it as SMB storage on every Proxmox node in your cluster instead of copying files to each host separately.
- Off-host backups. Point Proxmox's backup jobs at an SMB share so your VM and container backups live on a different physical device than the one you're backing up. If your Proxmox host dies, your backups don't die with it.
- Container templates. Keep your LXC templates in one shared location that every node in a cluster can pull from.
What I wouldn't do is put your actual running VM disk images on an SMB share for anything performance-sensitive. It works — Proxmox does support it — but SMB adds network latency and overhead that NFS or iSCSI generally handle better, and CIFS doesn't support storage-level snapshots the way ZFS or an LVM-thin pool does. For ISOs, templates, and backups, none of that matters. For a database VM you're running 24/7, it does.
Prerequisites
Before you start, make sure you've got these in place:
- A working Proxmox VE 9.x installation (this also applies to Proxmox VE 8.x — the CIFS storage type hasn't changed much between the two)
- Root or an account with storage admin permissions on the Proxmox host
- A share already created on your NAS or Windows machine, with SMB/file sharing enabled
- A username and password with read (and write, if you want backups to work) access to that share
- The IP address of the device hosting the share — using the IP instead of a hostname avoids DNS lookup delays every time Proxmox talks to the storage
- Network connectivity between the Proxmox host and the share on TCP port 445 (that's the port SMB uses; if there's a firewall between them, this port needs to be open)
If you're not sure your share is reachable yet, it's worth testing from the Proxmox shell before touching the GUI. A quick smbclient -L //10.0.0.20 -U yourusername will list the shares that server is offering, which tells you two things at once: that the network path works, and that your credentials are accepted.
Step-by-Step Tutorial
There are two ways to add SMB/CIFS storage in Proxmox VE — through the web GUI, or through the command line with pvesm. Both end up in the same place, since the GUI is really just writing to the same configuration file the CLI does. Pick whichever fits how you work.
Method 1: Using the Web Interface
- Log into the Proxmox VE web interface at
https://your-node-ip:8006. - In the left-hand tree, click Datacenter.
- Go to Storage, then click Add, and choose SMB/CIFS from the dropdown.
- Fill in the ID field. This is just a name for the storage inside Proxmox — something like
nas-mediaorbackup-share. Keep it short, no spaces. - Enter the Server address. Use the IP address of your NAS or Windows machine.
- Enter the Username and Password for an account that has access to the share.
- Click into the Share dropdown. If your credentials and server address are correct, Proxmox will scan the server and list the available shares automatically — pick the one you want.
- If your share requires it, set the Domain field (this matters for Active Directory environments; skip it for a typical home NAS).
- Under Content, tick the box for what you plan to store here — ISO image, VZDump backup file, Container template, and so on. Only select what you'll actually use; every content type you enable shows up as a folder option elsewhere in the UI, and an SMB share ticked for everything gets cluttered fast.
- Leave SMB version on its default unless you know your NAS only supports an older dialect — Proxmox negotiates the best version automatically.
- Click Add.
Within a few seconds you should see the new storage appear under Datacenter → Storage, and its status should show as active in the storage summary on the left.
Method 2: Using the Command Line
If you'd rather script this or you're managing several nodes, the CLI route is faster once you know the syntax. SSH into your Proxmox host and start by checking what shares are actually available:
pvesm scan cifs 10.0.0.20 --username backupuser
You'll be prompted for the password, and Proxmox will print back the list of share names it found on that server. Once you know the exact share name, add the storage:
pvesm add cifs nas-media --server 10.0.0.20 --share Media --username backupuser --password
You'll be prompted to enter the password interactively (this keeps it out of your shell history). Once that command finishes, the storage is live — you don't need to reboot or restart any services.
If you want to restrict what gets stored there, add the --content flag:
pvesm add cifs nas-media --server 10.0.0.20 --share Media --username backupuser --password --content iso,backup
You can always double check what got written by looking at /etc/pve/storage.cfg on the host. Your new entry will look something like this:
cifs: nas-media
path /mnt/pve/nas-media
server 10.0.0.20
share Media
content iso,backup
username backupuser
smbversion 3
Notice the password isn't in this file — it's stored separately at /etc/pve/priv/storage/nas-media.pw, readable only by root. That's a deliberate design choice so the main config file, which is replicated across every node in a cluster, doesn't carry credentials in plain sight.
Commands Explained
| Command | What it does |
|---|---|
pvesm scan cifs <server> | Connects to the server and lists every share it's exporting. Useful for confirming the exact share name and that your credentials work before you commit to adding storage. |
pvesm add cifs <id> --server <ip> --share <name> | Creates a new SMB/CIFS storage entry with the given ID, pointing at the specified server and share. |
pvesm status | Shows every configured storage on the host, including whether it's currently reachable ("active") and how much space is used. |
pvesm remove <id> | Removes a storage entry from Proxmox's configuration. This does not touch the actual files on the share — it just tells Proxmox to stop using it. |
smbclient -L //<server> -U <user> | A standalone Samba client tool (not a Proxmox command) that lists shares on a server. Handy for testing connectivity and credentials independent of Proxmox. |
mount -t cifs | The underlying Linux command Proxmox uses behind the scenes to actually mount the share. You'll mostly only touch this directly when troubleshooting a mount that Proxmox itself can't get working. |
Common Errors
These are the errors that show up most often when people set this up for the first time.
| Error | What's actually going on |
|---|---|
mount error(13): Permission denied | Wrong username or password, or the account doesn't have access to that particular share. Double check both — and remember that on a NAS, share-level permissions and the user account's own permissions are often configured separately. |
mount error(112): Host is down | Proxmox can't reach the server at all. Usually a wrong IP address, the NAS being offline, or a firewall blocking port 445. |
No such share found (in the GUI's Share dropdown) | The credentials connected fine, but the share name doesn't exist, or the account can't see it. Case matters on some NAS systems — check the exact spelling in your NAS's sharing settings. |
protocol negotiation failed | Your NAS only supports an old SMB1 dialect. Proxmox VE doesn't support SMB1 for security reasons, so you'll need to enable SMB2 or SMB3 on the NAS itself. |
| Storage shows as inactive/greyed out in the GUI | The share was reachable when you added it but isn't right now — often because the NAS rebooted, changed IP, or went to sleep. Consumer NAS boxes with aggressive power saving are notorious for this. |
Troubleshooting
When the GUI just shows a vague failure, drop to the shell — it's almost always faster than clicking around.
Start with a manual mount test. This bypasses Proxmox entirely and tells you whether the problem is your credentials/network, or something specific to how Proxmox is calling the mount:
mkdir /mnt/test
mount -t cifs //10.0.0.20/Media /mnt/test -o username=backupuser,password=yourpassword,vers=3.0
If that command fails, the error it gives you is more detailed than what the GUI shows, and it points you straight at whether it's a credentials problem, a network problem, or a version mismatch.
If the manual mount works but Proxmox still won't cooperate, check the system log for the actual mount.cifs error:
journalctl -xe | grep -i cifs
Also worth checking: can the Proxmox host even reach the server on the right port? A one-line test rules out a firewall issue fast:
nc -zv 10.0.0.20 445
If that times out, the problem isn't Proxmox or your credentials at all — it's the network path between the two devices. Check the NAS's firewall settings, your router, or any VLAN segmentation that might be blocking the traffic.
One more thing that catches people out: if you change the share's password on the NAS side, Proxmox has no idea. The old password stays cached in that .pw file until you update the storage entry, so the fix is to edit the storage in the GUI and re-enter the new password, or run pvesm set nas-media --password from the CLI.
Best Practices
A handful of things I'd genuinely recommend after setting these up more times than I can count:
- Use a dedicated service account on your NAS or Windows share instead of your own personal login. If you ever change your password, you won't break every Proxmox node that depends on it.
- Stick to IP addresses over hostnames. The official documentation calls this out specifically — using a hostname means every storage operation has to wait on a DNS lookup first, and if your DNS server is briefly unavailable, your storage looks broken even though nothing's actually wrong with it.
- Only enable the content types you need. If a share is just for backups, don't also enable ISO storage on it. Fewer options means fewer places to accidentally point a VM disk you didn't mean to.
- Don't run production VM disks from SMB storage unless you've tested the performance and you're fine with it. Backups, ISOs, and templates are the sweet spot.
- Set a static IP or a DHCP reservation on your NAS. If its address changes, every Proxmox node with that storage configured goes offline until you update it manually.
Frequently Asked Questions
Is CIFS the same as SMB?
Functionally, yes, for anything you'll do in Proxmox. CIFS was an early dialect of SMB from the 1990s. Proxmox VE's "CIFS" storage type actually negotiates modern SMB2 or SMB3 with your server — it doesn't force the old CIFS protocol.
Can I use SMB storage for a Proxmox cluster?
Yes, and it's a common approach for shared ISO and template storage across nodes. Just add the same SMB storage on each node (or add it once at the datacenter level so it applies cluster-wide), pointing at the same server and share.
Why can't I select "Disk image" as a content type?
You can — CIFS supports the images content type for raw, qcow2, and VMDK formats. It's just not recommended for anything performance-sensitive, and CIFS storage doesn't support Proxmox's storage-level snapshots the way ZFS does. qcow2 files can still use their own internal snapshot format, though.
Do I need a Windows Server to use SMB storage?
No. Any device that can host an SMB share works — a Synology or QNAP NAS, a Windows 10 or 11 PC with a shared folder, a Samba server running on Linux, or a TrueNAS box.
What port does Proxmox use to connect to the share?
TCP port 445. Older SMB setups sometimes also used port 139, but modern SMB2/SMB3 connections only need 445 open.
My NAS only supports SMB1. Can I still connect?
Not directly — Proxmox VE doesn't support SMB1. Most NAS software from the last several years supports SMB2 or SMB3; check your NAS's network or file sharing settings and enable it there.
Conclusion
Adding SMB/CIFS storage to Proxmox VE takes maybe five minutes once you've got the share and credentials ready — the whole thing really comes down to filling in a server address, a share name, and a login. Where people actually lose time is troubleshooting a bad connection after the fact, which is exactly why testing with smbclient or a manual mount command before touching the GUI saves you from guessing.
Use it for what it's good at — ISOs, backups, templates — and you'll get a reliable, low-maintenance piece of shared storage that doesn't need anything more exotic than a NAS you probably already own.