Couchbase Backup
XLServer allows you to configure full and incremental backups for Couchbase clusters, ensuring secure and automated protection of distributed, mission-critical NoSQL data.
It supports both standalone clusters and multi-node clusters, with seamless integration for snapshot, restore, and performance management.
⚙️ Prerequisites
Before linking a Couchbase database cluster to XLServer, make sure the following conditions are met:
- Couchbase database server is reachable from XLServer.
- Valid credentials for a Couchbase user with backup privileges and catalog system views.
- XLServer has SSH access to all nodes of the cluster where Couchbase is running.
- Couchbase server version must be ≥ 6.5.
- There is enough free space in datastore to hold database backups.
- All database hosts must have NFS client installed.
Note: Couchbase user must have all privileges required for backup.
Refer to appendix “Couchbase User” for the script to create the required user.
Never link a database to the PUBLIC project, otherwise everyone will have access to it.
🔗 Link Couchbase Cluster
To link a Couchbase cluster with XLServer, follow these steps:
- 
Navigate to the Couchbase database server detail page. 
  
- 
Ensure the cluster is not yet linked. 
 Click Link Database link, or from Actions, click Link.
- 
The Linking wizard is displayed. 
- 
Enter Couchbase credentials and click CHECK CONNECTION. 
  You can only continue if the database connection is successful. 
- 
In Linking Parameters page, provide: - Mount Base: NFS mount point, e.g. /mnt/link
- Parallel Channels: number of backup threads (default: 1, max: 32)
- Project: select the project (automatically linked with the environment)
- Default Snapshot Retention: default retention policy for all snapshots
- Storage Optimization: enable compression and/or deduplication
  
- Mount Base: NFS mount point, e.g. 
- 
Click Next to review the summary of inputs. 
  
- 
Click CONNECT to validate linking. 
- 
Monitor job progress from the Jobs page. 
  
- 
Once completed, the cluster appears as a linked live database: 
  
📋 Live Database Server Detail
Once linked, the Couchbase cluster detail page has two main tabs:
- Summary
- Performances
🔎 Summary Tab
The summary tab consists of three areas:
- 
Database Parameters 
 Displays metadata such as vendor, environment, project, cluster name, version, backup path, strategy, parallel threads, quota, retention, credentials, connection mode, discovery type, linked/sync/refresh timestamps, and user who added the cluster.
- 
Buckets 
 Lists all Couchbase buckets with their sizes and metadata.
- 
Snapshots Calendar 
 A calendar showing all created snapshots. Green points = successful snapshots.
Database Settings Table
| Setting | Description | Default value | Modifiable | 
|---|---|---|---|
| Project | Project on which cluster is attached | — | No | 
| Environment | Database environment | — | No | 
| Vendor | Database vendor (always COUCHBASE) | COUCHBASE | No | 
| Database Server | Cluster name | — | No | 
| Version | Couchbase server version | — | No | 
| Backup Path | Path used for backup (Mount Base) | — | Yes | 
| Backup Strategy | Strategy attached to this cluster | — | Yes | 
| Parallel | Number of backup threads | 1 | Yes | 
| Quota | Max number of clones (0 = unlimited) | 10 | Yes | 
| Snapshot Retention | Default retention before deletion | 7 days | Yes | 
| Database Type | Always "Live Database" | Live Database | No | 
| DB User | Database credentials | — | Yes | 
| Connecting Mode | Always ONLINE (OFFLINE mode planned future) | ONLINE | No | 
| Discovery | AUTO (auto-discovered) or MANUAL | AUTO | Yes | 
| Linked On | Date/time of linking | — | No | 
| Last Sync Time | Timestamp of last synchronization | — | No | 
| Last Refresh Time | Timestamp of last refresh | — | No | 
| Created By | User who linked the cluster | — | No | 
📊 Performances Tab
The performance tab displays:
- Snapshot history
- Disk usage
- Compression & deduplication ratios
- Backup duration
- RPO (Recovery Point Objective)
- Success vs failure ratios
- Graphs for backup size, database size, compression, and duration
Examples:




⚡ Allowed Actions on Live Cluster
Actions available on a live Couchbase cluster:
- Snapshot
- Refresh
- Mount Snapshot
- Restore
- Disable
- Enable
- Delete
📷 Snapshot
- 
Go to Actions > Snapshot 
 Confirm action.
  
- 
Monitor progress from Jobs. 
  
- 
View snapshot list from calendar: 
  
- 
Open snapshot detail: 
  Detail includes: - Recovery Time
- Recovery Point
- Snapshot size
- Retention
- Buckets
 
🔄 Refresh
Click Actions > Refresh to refresh metadata without creating a snapshot.

📂 Mount Snapshot
- Mounts snapshot content on source environment.
- Used for manual recovery, inspection, or browsing backup files.
⚠️ Important:
When snapshot is mounted, backups are disabled until unmounted.
Always unmount after use to avoid blocking backups.
♻️ Restore
Restores live Couchbase cluster from the last snapshot or a specific snapshot.
Refer to Database Recovery for more details.
⏸ Disable / ▶️ Enable
- Disable: Prevents all actions and backups (e.g. maintenance mode).
- Enable: Restores full access to all actions.
🗑 Delete
Deletes live cluster.

Deleting live cluster will automatically remove the corresponding environment from XLServer!
⚙️ Edit Cluster Settings
- 
Modify individual settings like Parallel threads. 
  
- 
Bulk update via Edit Settings. 
  
📦 Backup Strategy
- 
Assign: Attach strategy from detail page. 
  
- 
Modify: Change strategy or toggle binlog purge. 
  
- 
Remove: Select No protection. 
  
🔑 Change Database Credentials
- From cluster home page, click pencil near DB User.
- Enter username and password.
  
- Click VALIDATE.
If credentials are invalid, an error message is displayed.
📝 Summary
The Couchbase integration with XLServer provides:
- Centralized management of snapshots, refresh, restore, and monitoring
- Granular performance metrics (compression, deduplication, disk usage)
- Customizable backup strategies with retention and optimization options
- Secure and efficient handling of distributed Couchbase clusters
Appendix: Couchbase User (Required Privileges)
To allow XLServer to perform backups, snapshots, and recovery operations, you should create a dedicated Couchbase cluster user with the correct privileges. This user will be used when linking and snapshot the database cluster in XLServer.
Example SQL Script
# Couchbase script to create backup user with required privileges
# This script uses couchbase-cli to create a user for full and incremental backups
# Configuration
CB_HOST="localhost"
CB_PORT="8091"
CB_ADMIN_USER="Administrator"
CB_ADMIN_PASSWORD="admin_password"
BACKUP_USER="cb_backup_user"
BACKUP_PASSWORD="strong_password"
# Creating Couchbase FULL CLUSTER backup user
echo "Creating Couchbase FULL CLUSTER backup user using couchbase-cli..."
# Create the user with full cluster backup roles
couchbase-cli user-manage \
    --cluster ${CB_HOST}:${CB_PORT} \
    --username ${CB_ADMIN_USER} \
    --password ${CB_ADMIN_PASSWORD} \
    --set \
    --rbac-username ${BACKUP_USER}_selective \
    --rbac-password ${BACKUP_PASSWORD} \
    --rbac-name "Selective Cluster Backup User" \
    --roles "backup_operator[*],data_reader[*],views_reader[*],query_system_catalog,fts_searcher[*],analytics_reader[*],eventing_manage_functions[*],ro_admin" \
    --auth-domain local
echo "Full cluster backup user created successfully!"