Error when creating local datastore

Matikitorch

New Member
Apr 4, 2025
5
0
1
Hi, I want to start by saying that I'm fairly new to all of this, but I do have a fully working local PVE and PBS instance working. What I am aiming for now is an offsite PBS instance and sync that to my local PBS. The chances that I will need this offsite PBS are extremely rare as my local backup is pretty redundant, so I'm not looking for large NAS, mirrored backups, etc. If this offsite PBS drive fails, I will hopefully get some notification, replace it, and re-sync it.

I am using an old computer with a 256 GB SATA SSD and 1 TB NVMe M.2. I have PVE installed on the SATA SSD, and within it I have tailscale and a PBS running as a LXC. My goal is to use the 1 TB NVMe as the datastore for the PBS.

To create the datastore I am going to the PBS GUI, Storage/Disk -> ZFS -> Create ZFS. The RAID level is "Single DIsk", since I only have 1 SSD, but every time I do this, I get this error message.

Code:
2025-06-02T11:02:29-04:00: create Single zpool 'cloud-datastore' on devices 'nvme0n1'
2025-06-02T11:02:29-04:00: # "zpool" "create" "-o" "ashift=12" "-m" "/mnt/datastore/cloud-datastore" "cloud-datastore" "nvme0n1"
2025-06-02T11:02:39-04:00: command "zpool" "create" "-o" "ashift=12" "-m" "/mnt/datastore/cloud-datastore" "cloud-datastore" "nvme0n1" failed - status code: 1 - /dev/zfs and /proc/self/mounts are required.
Try running 'udevadm trigger' and 'mount -t proc proc /proc' as root.

2025-06-02T11:02:39-04:00: TASK ERROR: Error during 'zpool create', see task log for more details

If I try to add this SSD as a datastore from PVE instance, it just works. My guess is that somehow this 1 TB SSD is "owned" by Proxmox and I can't do anything from the PBS instance, all of which are running on the same computer.

I don't know enough about this, please help me? Is the right solution here to add this datastore to Proxmox and then have the PBS LXC point at it? How would I do that? My command line knowledge of all of this is very minimal, I've been relying on the UI for everything.

Thank you
 
Hi,
the error you get is because the LXC instance has not full access to the underlying kernel interfaces. But why do you need the PVE host altogether? Why not simply install the PBS on the host itself?
 
Hi Chris, does this mean that the PBS instance should be privileged? Or is there a better way of having PBS access the local NVMe SSD?

Installing PBS on the PC itself was my first thought but then I figured why not run Proxmox in case I want to add anything in the future. It just gives me so much more flexibility. I am using Tailscale to communicate between both PBS instances but I am also using a tunnel (which is running on a LXC) to access both, Proxmox and PBS. I don't mind going solely to a PBS instance on the host if that's the suggested way. But as an exercise it may be helpful to know if there's a way to do this?
 
I ended up hosting PBS in the host itself and everything just worked. I was able to add my local PBS as a remote and create a sync job. I am still curious if there's a way for PBS to add a local storage as a datastore when PBS is an unprivileged LXC? Should the PVE host initialize, or add, the local storage to itself first? Or can PBS add this local storage without PVE ever knowing that it exists.
 
I ended up hosting PBS in the host itself and everything just worked. I was able to add my local PBS as a remote and create a sync job. I am still curious if there's a way for PBS to add a local storage as a datastore when PBS is an unprivileged LXC? Should the PVE host initialize, or add, the local storage to itself first? Or can PBS add this local storage without PVE ever knowing that it exists.
You could always give the PBS lxc a ZFS dataset as custom disk like on any other LXC container.
 
Give the PBS CT a mount point at some path like /mnt/data and then create a data store inside PBS using that same path.
Ideally that mount point is on a storage that is using a different disk than the guests you're backing up.
 
Last edited:
  • Like
Reactions: Matikitorch
This worked perfectly! Thank you! For anyone else doing this down the road, I went to the PBS LXC -> Resources -> Add -> Mount Point, and then I gave it a path like @Impact suggested /mnt/datastore-name. In the PBS LXC, I simply added the data store and used that same absolute path. The datastore size matched what I gave it from the PVE. Thank you again, this was exactly what I was looking for. It is a little clumsy that I have to specify a storage size when I want the PBS LXC to completely own that storage, but it is what it is.

Like I mentioned though, I set up PBS on the host itself and removed Proxmox from the equation, it does make setting it all up much simpler. I am now wondering if I should go back to having an offsite PVE with a PBS LXC instance. Does anyone have any insight if there are any benefits of having an offsite Proxmox server? I can't think of anything that I may want to run offsite aside from an instance of PBS.