install PBS in a VM or along a PVE installation?

benoitc

Member
Dec 21, 2019
173
9
23
I am thinking to use a machine where I could launch a set of service (backup, stats, ...). I was thinking to launch them in separate VMS but I am unsure how to do it for PBS. Is this better to install it on the node using the debian packages instead alnong the PVE installation?Has anyone already tried that?
 
  • Like
Reactions: World Tech and greg
I am thinking to use a machine where I could launch a set of service (backup, stats, ...). I was thinking to launch them in separate VMS but I am unsure how to do it for PBS. Is this better to install it on the node using the debian packages instead alnong the PVE installation?Has anyone already tried that?
Hi,
I am running my PBS instance on the same physical host as my PVE install, the datastore residing on a dedicated zfs pool. Running PVE and PBS on the same host is no issue at all, as long as you don't expect to be protected against a host failure.
Please do note that I use this in a homelab setup and for serious use cases you probably want to have a dedicated machine for PBS plus offsite syncs.
 
I have it installed directly on one Proxmox-VE host and installed as an unprivileged container (with a host mountpoint) on another. Both work fine! Few things I noticed:
1. If you have either a Proxmox-VE or a PBS subscription but not the other, you might have strange updates because one uses the enterprise repository while the other uses the no-subscription repository, which will be out of sync about which kernel version to use etc. (this is why I used a container).
2. If PBS is running in a container (on ZFS), it can do snapshot backups of itself without problems. This surprised me in a positive way. I can just backup all VMs and containers, without having to make a special exception for the PBS-container. (I sync the backups to the other PBS, in case the host or container breaks.)
3. Making snapshot backups of running VMs is faster than non-running ones, because QEMU keeps track of changed disk blocks while it keeps running.
 
that would be kind of separate machine... just want to max out its usage waiting a proper machine.

That's good to know about the kernel. the plan is indeed to test it until the machine arrive so a vm would do the trick and be safer probably
 
  • Like
Reactions: World Tech
I have it installed directly on one Proxmox-VE host and installed as an unprivileged container (with a host mountpoint) on another. Both work fine! Few things I noticed:
1. If you have either a Proxmox-VE or a PBS subscription but not the other, you might have strange updates because one uses the enterprise repository while the other uses the no-subscription repository, which will be out of sync about which kernel version to use etc. (this is why I used a container).
2. If PBS is running in a container (on ZFS), it can do snapshot backups of itself without problems. This surprised me in a positive way. I can just backup all VMs and containers, without having to make a special exception for the PBS-container. (I sync the backups to the other PBS, in case the host or container breaks.)
3. Making snapshot backups of running VMs is faster than non-running ones, because QEMU keeps track of changed disk blocks while it keeps running.

Hi, I'd like to install PBS inside a container as well.

I did
Code:
apt-get install proxmox-backup-server
and it seems that it installed many packages that are irrelevant for an installation inside container, like: zfs, lvm, smartmontools. They are dependencies of pbs so I guess they cannot be removed, but perhaps I should consider disabling the relevant services?
 
I think there is a way to make apt not install recommended packages but install only required packages. Maybe that helps you? I don't really have an opinion on whether you should disable services, but the Debian container template already have serveral services that are not applicable to a container. Maybe just do the things you would do with an installation of PBS on physical hardware?
 
  • Like
Reactions: Tony
I think there is a way to make apt not install recommended packages but install only required packages. Maybe that helps you? I don't really have an opinion on whether you should disable services, but the Debian container template already have serveral services that are not applicable to a container. Maybe just do the things you would do with an installation of PBS on physical hardware?
thanks for the reply. I just leave things as they are for now, the container seems to work as expected.
I did however some inspection: list all services and group them to some categories. This info may come useful if later we want to disable some services in a pbs container.

Note: I installed atop, which installed some extra services with prefix atop

Bash:
root@ct-pbs:/# systemctl list-units |cat
  UNIT                                LOAD   ACTIVE SUB       DESCRIPTION
  systemd-ask-password-console.path   loaded active waiting   Dispatch Password Requests to Console Directory Watch
  systemd-ask-password-wall.path      loaded active waiting   Forward Password Requests to Wall Directory Watch
  blk-availability.service            loaded active exited    Availability of block devices
  ifupdown2-pre.service               loaded active exited    Helper to synchronize boot up for ifupdown
  networking.service                  loaded active exited    Network initialization
  postfix.service                     loaded active exited    Postfix Mail Transport Agent
  proxmox-backup-banner.service       loaded active exited    Proxmox Backup Server Login Banner
  systemd-journal-flush.service       loaded active exited    Flush Journal to Persistent Storage
  systemd-remount-fs.service          loaded active exited    Remount Root and Kernel File Systems
  systemd-sysctl.service              loaded active exited    Apply Kernel Variables
  systemd-sysusers.service            loaded active exited    Create System Users
  systemd-tmpfiles-setup-dev.service  loaded active exited    Create Static Device Nodes in /dev
  systemd-tmpfiles-setup.service      loaded active exited    Create Volatile Files and Directories
  systemd-update-utmp.service         loaded active exited    Update UTMP about System Boot/Shutdown
  systemd-user-sessions.service       loaded active exited    Permit User Sessions
  dm-event.socket                     loaded active listening Device-mapper event daemon FIFOs
  systemd-initctl.socket              loaded active listening initctl Compatibility Named Pipe
  apt-daily-upgrade.timer             loaded active waiting   Daily apt upgrade and clean activities
  apt-daily.timer                     loaded active waiting   Daily apt download activities
  atop-rotate.timer                   loaded active waiting   Daily atop restart
  logrotate.timer                     loaded active waiting   Daily rotation of log files
  man-db.timer                        loaded active waiting   Daily man-db regeneration
  proxmox-backup-daily-update.timer   loaded active waiting   Daily Proxmox Backup Server update and maintenance activities
  systemd-tmpfiles-clean.timer        loaded active waiting   Daily Cleanup of Temporary Directories

# default:
  sys-kernel-config.mount             loaded failed failed    Kernel Configuration File System
  logrotate.service                   loaded failed failed    Rotate log files
  systemd-logind.service              loaded failed failed    User Login Management
  systemd-modules-load.service        loaded failed failed    Load Kernel Modules
  systemd-journald-audit.socket       loaded failed failed    Journal Audit Socket

# deps of pbs
  lvm2-monitor.service                loaded active exited    Monitoring of LVM2 mirrors, snapshots etc. using dmeventd or progress polling
  zfs-volume-wait.service             loaded active exited    Wait for ZFS Volume (zvol) links in /dev
  lvm2-lvmpolld.socket                loaded active listening LVM2 poll daemon socket
  zfs-mount.service                   loaded failed failed    Mount ZFS filesystems
  zfs-share.service                   loaded failed failed    ZFS file system shares
  zfs-zed.service                     loaded failed failed    ZFS Event Daemon (zed)

# other
  e2scrub_all.timer                   loaded active waiting   Periodic ext4 Online Metadata Check for All Filesystems
  atopacct.service                    loaded failed failed    Atop process accounting daemon