cPFence v4 public beta is here.

Explore v4
Enhance CP Tutorials

How to Install the Backup Role on an Enhance Server

Backup Role conceptual feature illustration

Note: This guide is now outdated as Enhance v12 has been released. For the updated method to transition your backup server, follow this new guide: From BTRFS to Ext4 – A Smooth Backup Server Transition Without the Pain.

Historical walkthrough: The steps below preserve the original Btrfs setup. Since Enhance v12, the Backup role uses a directory on a local filesystem that supports hard links; Ext4 is suitable. New installs do not need the old raw-device formatting flow. See Enhance’s current installation instructions before preparing storage. Keep an existing backup copy until you have checked your replacement.

Work as an Enhance administrator on the selected backup server. For current installs, see Enhance’s backup requirements: allow its SSH transport and, at your provider firewall, TCP 22 and 50000 from your cluster servers. These are Enhance requirements, independent of cPFence. Choose separate backup storage with enough room for retained history.

Enhance Backup gives you a useful way to keep incremental website backups on your own storage. If you’re not using the backup role with Enhance, it’s worth a look! S3 backups can also run alongside it. This walkthrough preserves the original Btrfs setup, with current differences called out beside the old steps.

Recommended: How Do You Prepare Your VPS Drive for Enhance Backups?

Step 1: Attach a Raw Block Device

Historical Btrfs step: A new Ext4 setup uses a backup directory, so skip this old raw-device flow. For an existing Btrfs server, identify the device carefully and retain a separate recovery copy before making storage changes.

The original setup started with a raw block device attached to the server receiving the Backup role. That device could be:

  • A RAID array, a single disk, an SSD, a SAN, an iSCSI volume, or a partition of any of these
  • Unmounted (the old installer formatted it with Btrfs, deleting all existing data on that device)

For the sake of this guide, we’re using a Hetzner cloud VPS with a 40GB attached volume.

root@test2:~# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1 ext4 1.0 ff4a7d92-27c0-4050-8b5d-2e08b8d2501e 28.4G 20% /
├─sda14
└─sda15 vfat FAT32 081A-297F 251.9M 0% /boot/efi
sdb ext4 1.0 2b530395-e33b-4c46-bbce-a22234945bd4 37.1G 0% /mnt/HC_Volume_101554213
sr0

Step 2: Unmount the Volume

In the historical flow, we unmounted the attached volume before the role formatted it. The mount path below is the original example, not a command to paste onto another server. Verify your own device with lsblk -f, stop anything using it, and never unmount the running system disk. A current Ext4 backup directory should remain on its intended mounted filesystem.

root@test2:~# umount /mnt/HC_Volume_101554213
root@test2:~# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1 ext4 1.0 ff4a7d92-27c0-4050-8b5d-2e08b8d2501e 28.4G 20% /
├─sda14
└─sda15 vfat FAT32 081A-297F 251.9M 0% /boot/efi
sdb ext4 1.0 2b530395-e33b-4c46-bbce-a22234945bd4
sr0

Step 3: Add the Backup Role in Enhance Control Panel

  1. Log into your Enhance control panel.
  2. Select Servers from the sidebar.
  3. Choose the server you want to add the backup role to.
  4. Click Add role and check the Backup box. Current Enhance asks for a directory with enough space. The device details below apply only to the old Btrfs form; review the selected server and storage before confirming Add role.

Historical tip: The old form used these details for our example:

  • Device path: /dev/sdb    ( replace this with your own path, you can use the command lsblk -f to check it )
  • Mount point: /backups

Data-loss warning: In that old flow, Enhance formatted the selected device, not just a folder. Both the device and mount point had to be unused. The resulting Btrfs output below belongs to the original example; a current Ext4 installation should show its own filesystem and mount point.

root@test2:~# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1 ext4 1.0 ff4a7d92-27c0-4050-8b5d-2e08b8d2501e 28G 21% /
├─sda14
└─sda15 vfat FAT32 081A-297F 251.9M 0% /boot/efi
sdb btrfs 4708fead-bc65-4e02-94cc-b8b6e29ff221 39.5G 0% /backups
sr0

Historical note: The old raw-device form rejected a mounted device. This is why step 2 was needed; it is not a reason to unmount the filesystem serving a current backup directory.

Step 4: Resizing Storage (if needed)

Choose capacity from your actual data, backup retention and growth; the original 10GB suggestion was only a small example. For an existing Btrfs filesystem mounted at /backups, the original flow expanded the provider volume first and then grew the filesystem:

btrfs filesystem resize max /backups

Btrfs only: Do not run that command on Ext4. It grows the Btrfs filesystem into already available device space; it does not enlarge the provider volume or a containing partition. Check your storage layout, the Btrfs resize reference and your provider’s expansion instructions before resizing.

Step 5: Assign the Backup Role to Sites

Once the backup role is set up:

  1. Go to Manage Websites in the Enhance control panel.
  2. Select only the sites you intend to assign to this backup server.
  3. Click Move Server and choose your new backup server under Select role location.

Check that those sites now point to the intended backup server, then review the backup schedule and wait for completed backups. Adding a role or submitting a move does not prove a backup succeeded. Keep the previous recovery copy until you have verified the replacement and a suitable restore test.

Need More Space for Multiple Sites? Consider AlphaVPS!

If you’re managing more sites and require additional storage, a storage VPS such as the AlphaVPS example below is one option. Our November 2024 article quoted a 1TB plan from €5; check current pricing and capacity yourself. The old 400-site estimate did not account for retained changes, growth or filesystem overhead, so measure your data rather than buying by site count.

Once you get your AlphaVPS VM, follow these steps:

  1. Go to your AlphaVPS client area and use the tools provided to install Ubuntu 24.04.
  2. The original example reserved 50GB for the root / partition; choose a suitable size for your system.
  3. Allocate the remaining planned capacity for backups. For a new Ext4 setup, mount that filesystem and use its backup directory in the current role form.

The original AlphaVPS walkthrough used these tools:

  • noVNC Console for direct access
  • Boot Order configuration
  • ISO options for custom installations
  • Rescue Mode and more!

Those were the provider tools used in the original walkthrough. See our VPS preparation guide for the full illustrated sequence and its current-storage notes.

Protect Your Enhance Servers with cPFence

Add cPFence v4+ server protection alongside your Enhance backup plan. Explore the Pay-Per-Website option and choose what fits your setup.

Start free trial
← Back to all articles
KEEP EXPLORING
All articles