Cause #1: Permissions on the Storage Path
This is the one I see most often — probably 7 out of 10 times. Proxmox can't access the storage directory because the permissions are wrong. Usually happens after a manual mount or when you create a directory yourself instead of using the Proxmox UI.
Here's the quick check. SSH into your Proxmox host and run:
ls -la /mnt/pve/If you see something like drwx------ 2 root root on your storage folder, that's your problem. Proxmox's storage services run as www-data user, not root. They need read and write access.
The fix is simple:
chown -R www-data:www-data /mnt/pve/your-storage-name
chmod -R 755 /mnt/pve/your-storage-nameThen restart the services:
systemctl restart pvedaemon
systemctl restart pvestatdCheck the storage status again in the web UI. If it still shows unknown, move to cause #2.
Cause #2: Zombie Mount from a Failed NFS/CIFS Connection
This happens when your NFS or CIFS share drops out, but the mount point still exists in /etc/fstab or in the Proxmox storage config. The system thinks the storage is there, but it can't actually reach it. So it shows unknown.
First, check if the mount is alive:
mount | grep /mnt/pve/your-storageIf you see nothing, the mount failed. If you see something but it's stale, you might need to force unmount it. Try this:
umount -f /mnt/pve/your-storageIf that doesn't work (it sometimes doesn't with NFS), use lazy unmount:
umount -l /mnt/pve/your-storageThen check the storage config in Proxmox. Go to Datacenter -> Storage, find your storage, click Edit. Look at the path. If it's a network share, make sure the server is reachable:
ping your-nfs-serverIf the ping fails, fix the network first. If it works, try remounting manually:
mount -t nfs your-nfs-server:/export/path /mnt/pve/your-storageNow check the status again. If it still shows unknown, the problem is probably in the Proxmox config itself.
Cause #3: Corrupt or Mismatched Storage Config in /etc/pve/storage.cfg
This one's rarer but nasty. The storage.cfg file gets out of sync with the actual mount setup. Maybe you moved the storage, changed the server IP, or the file got partially corrupted during a power loss.
First, back up the current config:
cp /etc/pve/storage.cfg /etc/pve/storage.cfg.backupNow view the problematic entry:
cat /etc/pve/storage.cfgLook for the section that matches your unknown storage. For example, an NFS entry looks like this:
nfs: my-storage
path /mnt/pve/my-storage
server 192.168.1.100
export /srv/nfs
options vers=4.2Check that the server IP, export path, and options all match your actual NFS setup. If you changed the server IP and didn't update this file, edit it:
nano /etc/pve/storage.cfgFix the wrong values, save, then run:
pvesm statusThis reloads the storage config without needing a reboot. If the status still shows unknown, check the file for any duplicate entries. Sometimes you get two lines with the same storage ID, which confuses Proxmox. Delete the duplicate and rerun pvesm status.
If you're using ZFS, the issue is often a missing or wrong pool name. In that case, check with:
zpool listMake sure the pool name in storage.cfg matches exactly what you see there. ZFS is case-sensitive.
Quick-Reference Summary Table
| Cause | Symptom | Fix Command |
|---|---|---|
| Permissions | Storage shows unknown, ls shows root ownership | chown -R www-data:www-data /path |
| Zombie mount | NFS/CIFS not reachable, stale mount | umount -l /path, then remount |
| Config mismatch | storage.cfg has wrong IP or path | Edit /etc/pve/storage.cfg, run pvesm status |
These three fixes cover about 95% of the unknown storage issues I've seen in Proxmox. Start with cause #1, it's the quickest to check and the most common. Move to cause #2 if permissions look fine. Only dig into cause #3 if the first two didn't help. Don't waste time rebooting the whole node — that rarely fixes storage config problems.