From f405fc6ae281eebf4d61abb39963a9830fe2fa2f Mon Sep 17 00:00:00 2001 From: David Steele Date: Fri, 6 May 2022 10:21:20 -0400 Subject: [PATCH] Backup file bundling documentation. Make the feature user visible and add documentation to the user guide. --- doc/xml/release.xml | 51 +++++++++++++++++++----------------- doc/xml/user-guide.xml | 44 +++++++++++++++++++++++++++++++ src/build/config/config.yaml | 2 -- 3 files changed, 71 insertions(+), 26 deletions(-) diff --git a/doc/xml/release.xml b/doc/xml/release.xml index 5fef85519..708381280 100644 --- a/doc/xml/release.xml +++ b/doc/xml/release.xml @@ -45,6 +45,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + +

Backup file bundling for improved small file support.

+
+ @@ -224,30 +251,6 @@ - - - - - - - - - - - - - - - - - - - - - -

Improve small file support.

-
- diff --git a/doc/xml/user-guide.xml b/doc/xml/user-guide.xml index f97aab208..1b9928ed0 100644 --- a/doc/xml/user-guide.xml +++ b/doc/xml/user-guide.xml @@ -1526,6 +1526,50 @@ + +
+ Backup + + + + +
+ File Bundling + +

Bundling files together in the repository saves time during the backup and some space in the repository. This is especially pronounced when the repository is stored on an object store such as S3. Per-file creation time on object stores is higher and very small files might cost as much to store as larger files.

+ +

The file bundling feature is enabled with the repo-bundle option.

+ + + Configure <br-option>repo1-bundle</br-option> + + y + + +

A full backup without file bundling will have 1000+ files in the backup path, but with bundling the total number of files is greatly reduced. An additional benefit is that zero-length files are not stored (except in the manifest), whereas in a normal backup each zero-length file is stored individually.

+ + + Perform a full backup + + + {[project-exe]} {[dash]}-stanza={[postgres-cluster-demo]} --type=full backup + + + + + Check file total + + + find {[backrest-repo-path]}/backup/demo/latest/ -type f | wc -l + + + +

The repo-bundle-size and repo-bundle-limit options can be used for tuning, though the defaults should be optimal in most cases.

+ +

While file bundling is generally more efficient, the downside is that it is more difficult to manually retrieve files from the repository. It may not be ideal for deduplicated storage since each full backup will arrange files in the bundles differently. Lastly, file bundles cannot be resumed, so be careful not to set repo-bundle-size too high.

+
+
+
Retention diff --git a/src/build/config/config.yaml b/src/build/config/config.yaml index 58a844015..0448dd7eb 100644 --- a/src/build/config/config.yaml +++ b/src/build/config/config.yaml @@ -1742,7 +1742,6 @@ option: depend: repo-azure-account repo-bundle: - internal: true section: global group: repo type: boolean @@ -1753,7 +1752,6 @@ option: main: {} repo-bundle-size: - internal: true section: global group: repo type: size