replication-manager 3.1.45 adds Plakar and Proxmox Backup Server next to restic

3 hours ago

Replication manager 3.1.45 is a backup release. Next to restic, your backups can now be archived through new archive plugins to Plakar or Proxmox Backup Server. You can also snap a backup directory back to any snapshot, keep backups in an S3 bucket, and pick up a run of reseed fixes. A few defaults changed, and those come at the end.

Ask about this presentation

Chapters

  1. 0:00Backups go to archive plugins
  2. 0:23Archive plugins
  3. 0:52Snapback
  4. 1:12Backups folder in S3
  5. 1:34Binlog budget
  6. 1:56Reseed and restore fixes
  7. 2:21Security
  8. 2:41Check before you upgrade
  9. 3:07Upgrade
Show transcript
  1. Replication manager 3.1.45 is a backup release. Next to restic, your backups can now be archived through new archive plugins to Plakar or Proxmox Backup Server. You can also snap a backup directory back to any snapshot, keep backups in an S3 bucket, and pick up a run of reseed fixes. A few defaults changed, and those come at the end.

    Slide text
    Signal18
    v3.1.45

    replication-manager 3.1.45 adds Plakar and Proxmox Backup Server next to restic

    Plus snapback to any snapshot, a backups folder in S3, and reseed fixes.

  2. Plakar and Proxmox Backup Server arrive as archive plugins, next to restic. A plugin is a separate signed program that replication manager runs once per operation. It sends one JSON request and reads one JSON answer, to push, list, restore, or purge with your retention policy. Restic covers a local folder, an SFTP server or an S3 bucket. Both plugins are enterprise tier, and new Proxmox archives are encrypted by default.

    Slide text

    Plakar and Proxmox Backup Server arrive as archive plugins, next to restic

    replication-manager
    your retention policy, sent to the archive
    JSON request on stdin
    JSON answer on stdout
    restic
    Local folder · SFTP server · S3 bucket
    Plakar enterprise
    Local folder · S3 bucket
    Proxmox Backup Server enterprise
    Encrypted by default
  3. Snapback puts a server's backup directory back the way it was in a snapshot. It snapshots the directory first, empties it, restores your pick and reads its backups again, without needing twice the space on disk. Until you snap back to the latest or release it, that server's backups and archive pushes stay locked.

    Slide text

    Snapback puts a server's backup directory back as it was in a snapshot

    the snapshot you pick
    latest
    Snapshot first the directory as it is now becomes the latest snapshot
    Empty, then restore never twice its size on disk
    Read again its backups load from the restored directory
    Backups and archive pushes stay locked until Snapback to latest or Release
  4. Turn on backup streaming in a cluster's backup settings, and its backups folder lives in an S3 bucket. Local backups already there are copied into the bucket first, and the local folder is kept aside. The mount runs on GeeseFS, and every file request gets an answer within two minutes, so a stalled S3 fails a write instead of freezing the monitor.

    Slide text

    Each cluster's backups folder can live in an S3 bucket

    On replication-manager
    <working-dir>/backups/<cluster>
    →
    In the bucket
    backup-streaming-bucket/<cluster>
    Local backups move in first Each file checked by its size. The local folder is kept as <cluster>.local-<time>.
    Every request answered within 2 minutes On GeeseFS, a stalled S3 fails a write instead of freezing the monitor.
  5. With force binlog purge on, the primary's binlog budget now follows the disk. On a provisioned cluster it is the plan's disk minus the data, divided by two, and it never drops below two binlog files. Binlog copies now feed the archive too. The rule is to lose binlogs before backups, and a lost copy shows up as a gap warning.

    Slide text

    The binlog budget now follows the disk

    (plan disk − data) ÷ 2 on a provisioned cluster; elsewhere, the binlogs plus half the free disk space. Never below 2 binlog files.
    force-binlog-purge-total-size defaults to 0 which means automatic
    Binlog copies feed the archive. A lost copy is raised as a gap warning, and backups come first.
  6. Reseed got a run of fixes. It keeps the replica's replication link, it restores MariaDB GTID backups written by 3.1.43, and on MySQL 8.0.26 and later it uses the new dump option names. A logical reseed you started can now be cancelled. One rule got stricter. A manual reseed from a registered backup needs that backup verified first.

    Slide text

    Reseed and restore fixes you may have hit

    Reseed keeps the replica's replication link
    Reseed restores MariaDB GTID backups written by v3.1.43
    MySQL 8.0.26+ dumps use --source-data
    A started logical reseed can be cancelled
    A deleted cluster gives back its global backup slots
    The API creates the scheduler when monitoring-scheduler is set
    Stricter: a manual reseed from a registered backup needs that backup verified first.
  7. On security, the SBOM attached to each release now lists the project's published advisories and its dependency vulnerabilities, with which Go vulnerabilities the code can actually reach. You can revoke an API token from the dashboard, and logs stop printing the decrypted GitLab password and client secret.

    Slide text

    Each release now lists its known vulnerabilities in the SBOM

    sbom-cyclonedx.json
    • published security advisories
    • dependency vulnerabilities (grype)
    • Go reachability (govulncheck)
    Revoke an API token from the dashboard
    Logs stop printing the decrypted GitLab password and client secret
    Archive secrets are encrypted whole
  8. Check these before you upgrade. The scheduler jobs mode now defaults to API, so replication manager writes zero job rows into your database. SQL is still available. The binlog total size defaults to zero, following the disk instead of 30 gigabytes. The default S3 endpoint moves to Cloud18's current storage. And each backup directory keeps one backup per type, with the history in snapshots.

    Slide text

    Check these four changes before you upgrade

    scheduler-jobs-mode
    sql → api: no job rows written in your database; sql still available
    force-binlog-purge-total-size
    30 GB → 0, the budget follows the disk
    backup-streaming-endpoint
    backup-restic-repository
    s3.signal18.io → minio.crm.ovh-fr-2.signal18.cloud18.io
    backup directory
    One backup of each type; the history is in the archive's snapshots
  9. Version 3.1.45 is on the GitHub release page as Linux tarballs for amd64 and arm64. Two limits to know. Plakar and Proxmox need a Cloud18 partner or support plan, and the Proxmox plugin's encrypted push and restore are still untested. That's replication manager 3.1.45, with Plakar and Proxmox Backup Server next to restic.

    Slide text

    Upgrade to 3.1.45 from the GitHub release

    Linux tarballs for amd64 and arm64, with the SBOM attached.

    Limits: Plakar and Proxmox need a Cloud18 partner or support plan. The Proxmox plugin's encrypted push and restore are not tested yet.
    github.com/signal18/replication-manager/releases/tag/v3.1.45

What happened in AI today, in your inbox

One short email each evening. Read it and you’re caught up.

Built in New York with ❤️