Skip to content
logo
Percona XtraBackup
Use the xbcloud binary with Swift
Initializing search
    percona/pxb-docs
    percona/pxb-docs
    • Home
      • Release notes index
      • Percona XtraBackup 8.0.35-30 (2023-12-04)
      • Percona XtraBackup 8.0.34-29 (2023-08-21)
      • Percona XtraBackup 8.0.33-28 (2023-07-19)
      • Percona XtraBackup 8.0.33-27 (2023-05-25)
      • Percona XtraBackup 8.0.32-26 (2023-04-04)
      • Percona XtraBackup 8.0.32-25 (2023-02-27)
      • Percona XtraBackup 8.0.31-24 (2023-02-07)
        • Percona XtraBackup 8.0.30-23 (2022-11-14)
        • Percona XtraBackup 8.0.29-22 (2022-07-19)
        • Percona XtraBackup 8.0.28-21 (2022-05-25)
        • Percona XtraBackup 8.0.28-20
        • Percona XtraBackup 8.0.27-19
        • Percona XtraBackup 8.0.26-18.0
        • Percona XtraBackup 8.0.25-17.0
        • Percona XtraBackup 8.0.23-16.0
        • Percona XtraBackup 8.0.22-15.0
        • Percona XtraBackup 8.0.14
        • Percona XtraBackup 8.0.13
        • Percona XtraBackup 8.0.12
        • Percona XtraBackup 8.0.11
        • Percona XtraBackup 8.0.10
        • Percona XtraBackup 8.0.9
        • Percona XtraBackup 8.0.8
        • Percona XtraBackup 8.0.7
        • Percona XtraBackup 8.0.6
        • Percona XtraBackup 8.0.5
        • Percona XtraBackup 8.0.4
        • Percona XtraBackup 8.0-3-rc1
      • About Percona XtraBackup
      • How Percona XtraBackup works
      • Understand version numbers
        • LRU dump backup
        • Throttling backups
        • Store backup history on the server
        • Dictionary cache
        • Point-in-time recovery
        • Restore individual tables
      • Encrypted InnoDB tablespace backups
      • FLUSH TABLES WITH READ LOCK option
      • Improved log statements
      • lock-ddl-per-table option improvements
      • Smart memory estimation
      • Work with binary logs
      • Overview
        • The xtrabackup binary overview
        • xtrabackup implementation details
        • Configure xtrabackup
        • Analyze table statistics
      • The xbcrypt binary overview
        • The xbstream binary overview
        • Take a streaming backup
        • Accelerate the backup process
        • Encrypt backups
        • The xbcloud binary overview
          • Use the xbcloud binary with Amazon S3
          • Use the xbcloud binary with an IAM instance profile
          • Use the xbcloud binary with Swift
            • Create a full backup with Swift
            • Restore with Swift
            • Command-line options
              • --storage(=[swift|s3|google])
              • --swift-auth-url()
              • --swift-storage-url()
              • --swift-user()
              • --swift-key()
              • --swift-container()
              • --parallel(=N)
              • --cacert()
              • --insecure()
              • Swift authentication options
              • --swift-auth-version()
              • --swift-tenant()
              • --swift-tenant-id()
              • --swift-region()
              • --swift-password()
              • --swift-user-id()
              • --swift-project()
              • --swift-project-id()
              • --swift-domain()
              • --swift-domain-id()
          • Use the xbcloud binary with Google Cloud Storage
          • Use the xbcloud binary with Microsoft Azure Cloud Storage
          • Use the xbcloud binary with MinIO
        • Update curl utility
        • FIFO data sink
        • Exponential backoff
      • Quickstart Guide for Percona XtraBackup
      • Install Percona XtraBackup 8.0 overview
        • Server version and backup version comparison
        • Connection and privileges needed
        • Permissions needed
        • Use APT repositories
        • Files in DEB package
        • Downloaded DEB packages
        • Apt pinning
        • Work with AppArmor
        • Uninstall
        • Use RPM repositories
        • Files in RPM package
        • Downloaded RPM packages
        • Work with SELinux
        • Uninstall
        • Install with binary tarballs
        • Binary tarballs available
        • Compile and install Percona XtraBackup 8.0 from source
        • Run Percona XtraBackup 8.0 in a Docker container
        • Create a full backup
        • Prepare a full backup
        • Create an incremental backup
        • Prepare an incremental backup
        • Take an incremental backup using page tracking
        • Create a compressed backup
        • Decompress and prepare a compressed backup
        • Create a partial backup
        • Prepare a partial backup
        • Create an individual partitions backup
        • Prepare an individual partitions backup
        • Restore full, incremental, compressed backups
        • Restore a partial backup
        • Restore an individual partitions backup
        • How to set up a replica for replication in 6 simple steps with Percona XtraBackup
        • How to create a new (or repair a broken) GTID-based replica
        • Make backups in replication environments
        • Verify backups with replication and pt-checksum
      • Error Message: Found tables with row versions due to INSTANT ADD/DROP columns
      • xtrabackup exit codes
      • Topic index
      • The xtrabackup option reference
      • Index of files created by Percona XtraBackup
      • Frequently asked questions
      • Glossary
      • Percona Toolkit version checking
      • Trademark policy
      • Copyright and licensing information

    • Create a full backup with Swift
    • Restore with Swift
    • Command-line options
      • --storage(=[swift|s3|google])
      • --swift-auth-url()
      • --swift-storage-url()
      • --swift-user()
      • --swift-key()
      • --swift-container()
      • --parallel(=N)
      • --cacert()
      • --insecure()
      • Swift authentication options
      • --swift-auth-version()
      • --swift-tenant()
      • --swift-tenant-id()
      • --swift-region()
      • --swift-password()
      • --swift-user-id()
      • --swift-project()
      • --swift-project-id()
      • --swift-domain()
      • --swift-domain-id()

    Use the xbcloud binary with Swift¶

    Create a full backup with Swift¶

    The following example shows how to make a full backup and upload it to Swift.

    $ xtrabackup --backup --stream=xbstream --extra-lsndir=/tmp --target-dir=/tmp | \
    xbcloud put --storage=swift \
    --swift-container=test \
    --swift-user=test:tester \
    --swift-auth-url=http://192.168.8.80:8080/ \
    --swift-key=testing \
    --parallel=10 \
    full_backup
    

    The following OpenStack environment variables are also recognized and mapped automatically to the corresponding swift parameters (--storage=swift):

    • OS_AUTH_URL

    • OS_TENANT_NAME

    • OS_TENANT_ID

    • OS_USERNAME

    • OS_PASSWORD

    • OS_USER_DOMAIN

    • OS_USER_DOMAIN_ID

    • OS_PROJECT_DOMAIN

    • OS_PROJECT_DOMAIN_ID

    • OS_REGION_NAME

    • OS_STORAGE_URL

    • OS_CACERT

    Restore with Swift¶

    $ xbcloud get [options] <name> [<list-of-files>] | xbstream -x
    

    The following example shows how to fetch and restore the backup from Swift:

    $ xbcloud get --storage=swift \
    --swift-container=test \
    --swift-user=test:tester \
    --swift-auth-url=http://192.168.8.80:8080/ \
    --swift-key=testing \
    full_backup | xbstream -xv -C /tmp/downloaded_full
    
    $ xbcloud delete --storage=swift --swift-user=xtrabackup \
    --swift-password=xtrabackup123! --swift-auth-version=3 \
    --swift-auth-url=http://openstack.ci.percona.com:5000/ \
    --swift-container=mybackup1 --swift-domain=Default
    

    Command-line options¶

    xbcloud has the following command line options:

    --storage(=[swift|s3|google])¶

    Cloud storage option. xbcloud supports Swift, MinIO, and AWS S3. The default value is swift.

    --swift-auth-url()¶

    The URL of the Swift cluster

    --swift-storage-url()¶

    The xbcloud tries to get the object-store URL for a given region (if any are specified) from the keystone response. You can override that URL by passing –swift-storage-url=URL argument.

    --swift-user()¶

    The Swift username (X-Auth-User, specific to Swift)

    --swift-key()¶

    The Swift key/password (X-Auth-Key, specific to Swift)

    --swift-container()¶

    The container to back up into (specific to Swift)

    --parallel(=N)¶

    The maximum number of concurrent upload/download requests. The default value is 1.

    --cacert()¶

    The path to the file with CA certificates

    --insecure()¶

    Do not verify server’s certificate

    Swift authentication options¶

    The Swift specification describes several authentication options. The xbcloud tool can authenticate against keystone with API version 2 and 3.

    --swift-auth-version()¶

    Specifies the swift authentication version. The possible values are: 1.0 - TempAuth, 2.0 - Keystone v2.0, and 3 - Keystone v3. The default value is 1.0.

    For v2 additional options are:

    --swift-tenant()¶

    Swift tenant name

    --swift-tenant-id()¶

    Swift tenant ID

    --swift-region()¶

    Swift endpoint region

    --swift-password()¶

    Swift password for the user

    For v3 additional options are:

    --swift-user-id()¶

    Swift user ID

    --swift-project()¶

    Swift project name

    --swift-project-id()¶

    Swift project ID

    --swift-domain()¶

    Swift domain name

    --swift-domain-id()¶

    Swift domain ID

    Contact us

    For free technical help, visit the Percona Community Forum.

    To report bugs or submit feature requests, open a JIRA ticket.

    For paid support and managed or consulting services , contact Percona Sales.


    Last update: 2023-06-12
    Percona LLC and/or its affiliates, © 2023
    Made with Material for MkDocs

    Cookie consent

    We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for. With your consent, you're helping us to make our documentation better. Read more about Percona Cookie Policy.