From ec8c9a67d01f8886d7085821ed08a63e6c6f07e8 Mon Sep 17 00:00:00 2001 From: Anastasia Alexandrova Date: Tue, 18 Apr 2023 13:37:38 +0200 Subject: [PATCH] PBM-1082 Release notes 2.1.0 (#99) --- docs/details/backup-types.md | 31 +++++++++++++++++++++ docs/index.md | 1 + docs/release-notes.md | 1 + docs/release-notes/2.1.0.md | 53 ++++++++++++++++++++++++++++++++++++ mkdocs-base.yml | 3 +- variables.yml | 6 ++-- 6 files changed, 91 insertions(+), 4 deletions(-) create mode 100644 docs/details/backup-types.md create mode 100644 docs/release-notes/2.1.0.md diff --git a/docs/details/backup-types.md b/docs/details/backup-types.md new file mode 100644 index 00000000..64af8726 --- /dev/null +++ b/docs/details/backup-types.md @@ -0,0 +1,31 @@ +# Backup and restore types + +!!! admonition "Version added: 1.7.0" + +Percona Backup for MongoDB supports physical and logical backups and restores. This document describes each type. + +*Physical* backup is copying of physical files from the Percona Server for MongoDB `dbPath` data directory to the remote backup storage. These files include data files, journal, index files, etc. Starting with version 2.0, Percona backup for MongoDB also copies the WiredTiger storage options to the backup’s metadata. + +Physical restore is the reverse process: `pbm-agents` shut down the `mongod` nodes, clean up the `dbPath` data directory and copy the physical files from the storage to it. During this process, the ``pbm-agents`` temporarily start the ``mongod`` nodes using the the WiredTiger storage options retrieved from the backup’s metadata. The logs for these starts are saved to the ``pbm.restore.log`` file inside the ``dbPath``. Upon successful restore this file is deleted. However, it remains for debugging if the restore failed. + +During physical backups and restores, ``pbm-agents`` don’t export / import data from / to the database. This significantly reduces the backup / restore time compared to logical ones and is the recommended backup method for big (multi-terabyte) databases. + +Physical backups and restores are available for Percona Server for MongoDB starting from versions 4.2.15-16, 4.4.6-8, 5.0 and higher. Since physical backups heavily rely on the WiredTiger `$backupCursor` functionality, they are available only for WiredTiger storage engine. + +!!! admonition "See also" + + Percona Blog + + * [Physical Backup Support in Percona Backup for MongoDB](https://www.percona.com/blog/physical-backup-support-in-percona-backup-for-mongodb/) + * [$backupCursorExtend in Percona Server for MongoDB](https://www.percona.com/blog/2021/06/07/experimental-feature-backupcursorextend-in-percona-server-for-mongodb/) + +*Logical* backup is the copying of the actual database data. A `pbm-agent` connects to the database, retrieves the data and writes it to the remote backup storage. During the restore, the reverse process occurs: the ``pbm-agent`` retrieves the backup data from the storage and inserts it to the ``dbPath`` data directory on every primary node in the cluster. The remaining nodes receive the data during the replication process. + +Logical backups allow for point in time recovery. + +| **Type** | **Advantages** | **Disadvantages** | **Supported deployments**| +| : ---------- | ------------------- | ----------------- | --------------- | +| **Physical** | - Faster backup and restore speed
- Recommended for big, multi-terabyte datasets
- No database overhead | - The backup size is bigger than for logical backups due to data fragmentation extra cost of keeping data and indexes in appropriate data structures
- Extra manual operations are required after the restore
- Point in time recovery requires manual operations | Sharded clusters and non-sharded replica sets | +| **Logical** | - Easy to operate with, using a single command
- Support for point-in-time recovery
- The backup size is smaller as it includes only the data | - Much slower than physical backup / restore
- Adds database overhead on reading and inserting the data| Sharded clusters and non-sharded replica sets | + + diff --git a/docs/index.md b/docs/index.md index 9bd0d103..ff636e58 100644 --- a/docs/index.md +++ b/docs/index.md @@ -5,6 +5,7 @@ Percona Backup for MongoDB (PBM) is an open source and distributed solution for With Percona Backup for MongoDB, you can make backups on a running server and restore your database to a specific point in time using the command line. To do these tasks from a user interface, [use PBM with Percona Monitoring and Management](https://docs.percona.com/percona-monitoring-and-management/get-started/backup/index.html). + !!! note "" This is the documentation for the latest release, **PBM {{release}}** ([Release Notes](release-notes/{{release}}.md)). diff --git a/docs/release-notes.md b/docs/release-notes.md index 6550a039..80056bb3 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -1,5 +1,6 @@ # Percona Backup for MongoDB release notes +* [Percona Backup for MongoDB 2.1.0](release-notes/2.1.0.md) * [Percona Backup for MongoDB 2.0.5](release-notes/2.0.5.md) * [Percona Backup for MongoDB 2.0.4](release-notes/2.0.4.md) * [Percona Backup for MongoDB 2.0.3](release-notes/2.0.3.md) diff --git a/docs/release-notes/2.1.0.md b/docs/release-notes/2.1.0.md new file mode 100644 index 00000000..fa248164 --- /dev/null +++ b/docs/release-notes/2.1.0.md @@ -0,0 +1,53 @@ +# Percona Backup for MongoDB 2.1.0 (2023-04-18) + +| Release date | April 18, 2023 | +|------------- | ---------------| +| Installation | [Installing Percona Backup for MongoDB](../installation.md) | + + +Percona Backup for MongoDB is a distributed, low-impact solution for consistent backups of MongoDB sharded clusters and replica sets. This is a tool for creating consistent backups across a MongoDB sharded cluster (or a non-sharded replica set), and for restoring those backups to a specific point in time. + +## Release Highlights + +* [Incremental physical backups](../features/incremental-backup.md) are now generally available enabling you to use them in production environments. Note that due to the changes in metadata files required for the restore, backups made with previous PBM versions are incompatible for the restore with PBM 2.0.1. +* You can now [selectively back up and restore sharded collections](../features/selective-backup.md#sharded-collections). This improves the management of a desired subset of data in sharded clusters and saves you extra costs on data storage and transfer. This is the tech preview feature due to some [known limitations](../features/selective-backup.md#known-limitations). +* Benefit from up to 7.5 times faster physical restore performance with the support of parallel download of data chunks from the S3 storage. +* Improved deletion of old backups and point-in-time recovery oplog chunks simplifies the automation of backup storage cleanup. +* The improved handling of master keys for data at rest encryption in Percona Server for MongoDB and the retrieval of the key ID/secret path by PBM from a backup simplifies the environment preparation for the physical restore and improves the restore flow. +* The support of AWS tokens for the access to the S3 storage improves the security of your infrastructure and the integration with applications that interact with AWS resources via tokens. + +## New Features + +* [PBM-1007](https://jira.percona.com/browse/PBM-1007) - Selective backup/restore for sharded collections + +## Improvements + +* [PBM-850](https://jira.percona.com/browse/PBM-850) - Add ability to delete older backups +* [PBM-875](https://jira.percona.com/browse/PBM-875) - Concurrent download from S3 compatible storages +* [PBM-778](https://jira.percona.com/browse/PBM-778) - Save physical restore logs on storage +* [PBM-951](https://jira.percona.com/browse/PBM-951) - Get rid of redundant `pbm*.old` collections to improve resync speed +* [PBM-955](https://jira.percona.com/browse/PBM-955) - Improve physical restore of data encrypted at rest +* [PBM-1033](https://jira.percona.com/browse/PBM-1033) - Flush previous incremental backup history after a new base backup is made +* [PBM-1034](https://jira.percona.com/browse/PBM-1034) - Restore only files listed in a target backup and remove unneeded files for incremental backups +* [PBM-1035](https://jira.percona.com/browse/PBM-1035) - Indicate a base incremental backup in `pbm status` output +* [PBM-1046](https://jira.percona.com/browse/PBM-1046) - Handle changes with an offset beyond the current file size for incremental backups +* [PBM-1053](https://jira.percona.com/browse/PBM-1053) - Stop mongod on shards before config servers during physical restore +* [PBM-1060](https://jira.percona.com/browse/PBM-1060) - Add support of AWS session tokens to access S3 storage +* [PBM-1066](https://jira.percona.com/browse/PBM-1066) - Restore from logical backup made on previous major PSMDB version +* [PBM-1070](https://jira.percona.com/browse/PBM-1070) - Improve handling of failed physical/incremental restores when running pbm restore with the `--wait` option +* [PBM-1078](https://jira.percona.com/browse/PBM-1078) - Preserve vault options during intermediate restarts +* [PBM-1085](https://jira.percona.com/browse/PBM-1085) - Add the `--yes` flag for commands where `--force` is used + +## Bugs Fixed + +* [PBM-979](https://jira.percona.com/browse/PBM-979) - Add support for delayed/arbiter nodes on physical restore +* [PBM-1012](https://jira.percona.com/browse/PBM-1012) - Drop a collection during selective oplog replay on the create collection stage +* [PBM-1030](https://jira.percona.com/browse/PBM-1030) - Fixed the restore from incremental backup for database with data-at-rest encryption if the data were added/removed during backup +* [PBM-1052](https://jira.percona.com/browse/PBM-1052) - Fixed PBM misbehavior during physical restore on a cluster that has more shards than in a backup +* [PBM-1061](https://jira.percona.com/browse/PBM-1061) - Fixed the restore with the replica set name remapping on PSMDB 4.2 +* [PBM-1063](https://jira.percona.com/browse/PBM-1063) - Fixed the incremental restore failure if the `directoryPerDb` is configured in PSMDB +* [PBM-1069](https://jira.percona.com/browse/PBM-1069) - Check for incompatible incremental backups and notify accordingly in `pbm status` output +* [PBM-1073](https://jira.percona.com/browse/PBM-1073) - Improve performance of `pbm status` command on environments with large datasets and many backups +* [PBM-1077](https://jira.percona.com/browse/PBM-1077) - Save the `storage.bson` to ensure incremental backups and restores for database with data-at-rest encryption + + \ No newline at end of file diff --git a/mkdocs-base.yml b/mkdocs-base.yml index 58038d9b..302c9d84 100644 --- a/mkdocs-base.yml +++ b/mkdocs-base.yml @@ -94,7 +94,7 @@ plugins: with-pdf: # https://github.com/orzih/mkdocs-with-pdf output_path: '_pdf/PerconaBackupforMongoDB.pdf' cover_title: 'Backup for MongoDB Documentation' - cover_subtitle: 2.0.5 (March 23, 2023) + cover_subtitle: 2.1.0 (April 18, 2023) author: 'Percona Technical Documentation Team' cover_logo: docs/_images/Percona_Logo_Color.png debug_html: false @@ -185,6 +185,7 @@ nav: - reference/glossary.md - Release notes: - "Release notes index": "release-notes.md" + - release-notes/2.1.0.md - release-notes/2.0.5.md - release-notes/2.0.4.md - release-notes/2.0.3.md diff --git a/variables.yml b/variables.yml index 9ed77b27..7629964d 100644 --- a/variables.yml +++ b/variables.yml @@ -1,6 +1,6 @@ # PBM Variables set for HTML output # See also mkdocs.yml plugins.with-pdf.cover_subtitle and output_path -release: '2.0.5' -version: '2.0' -release_date: 2023-03-23 +release: '2.1.0' +version: '2.1' +release_date: 2023-04-18