[PATCH common/proxmox{,-backup}/storage v2 0/9] establish unique instance-id for PBS nodes

Lukas Wagner
2026-04-24T08:30:34Z

In PDM we require some way to match PBS storage <-> PBS remote.

Having some kind of unique ID for each PBS instance should make it quite easy
to establish such a mapping completely automatically.

The general approach is
1.) add /nodes/localhost/server-identity route in PBS, returning a unique, per-installation ID
2.) add something like /nodes/.../storage/<id>/identity in PVE, which uses
proxmox-backup-client internally to return the instance ID for this PBS storage
3.) PDM can then use both API routes to establish the mapping

Changes since v1:
- Rebased the proxmox-backup part (@thx Chris)
- the pve-storage part is now implemented as a method in the storage plugin,
`get_identity` (thx @Thomas)
- the identity route now return the type of the plugin as well as a discriminant
- the route in PBS has been renamed to just /nodes/localhost/identity (thx @thomas)

Significant changes since the RFC:
- fixup copy-paste doc mistakes (thx @ Shannon)

- in PVE, the API is now '/nodes/<node>/storage/<id>/identity', as this is hopefully
generic enough that it could be used for other storages enough.

- in PBS, the API is now at /nodes/localhost/server-identity

- in the Perl PBSClient, the method to retrieve the identity is now "get_server_identity"

proxmox:

Fabian Grünbichler (1):
systemd: add support for machine-id generation

Lukas Wagner (1):
pbs-api-types: add ServerIdentity response type

pbs-api-types/src/node.rs | 9 +++++
proxmox-systemd/src/lib.rs | 2 +
proxmox-systemd/src/sd_id128.rs | 70 +++++++++++++++++++++++++++++++++
proxmox-systemd/src/sys.rs | 6 +++
4 files changed, 87 insertions(+)
create mode 100644 proxmox-systemd/src/sd_id128.rs

proxmox-backup:

Lukas Wagner (3):
api: add /nodes/localhost/identity
client: add 'server-identity' sub-command
manager: add 'server-identity' subcommand

proxmox-backup-client/src/main.rs | 42 ++++++++++++++++++++++++--
src/api2/node/mod.rs | 40 ++++++++++++++++++++++--
src/bin/proxmox_backup_manager/node.rs | 30 ++++++++++++++++++
3 files changed, 107 insertions(+), 5 deletions(-)

pve-common:

Lukas Wagner (1):
pbs-client: add support for the 'server-identity' command

src/PVE/PBSClient.pm | 7 +++++++
1 file changed, 7 insertions(+)

pve-storage:

Lukas Wagner (3):
plugin: add get_identity method
bump storage plugin APIVER and reset APIAGE
api: add /nodes/<node>/storage/<storage>/identity route

src/PVE/API2/Storage/Status.pm | 57 +++++++++++++++++++++++++++++++++-
src/PVE/Storage.pm | 4 +--
src/PVE/Storage/PBSPlugin.pm | 9 ++++++
src/PVE/Storage/Plugin.pm | 17 ++++++++++
4 files changed, 84 insertions(+), 3 deletions(-)

Summary over all repositories:
12 files changed, 285 insertions(+), 8 deletions(-)

--
Generated by murpp 0.12.0