Skip to content

Commit 4f2caf6

Browse files
stuggiclaude
andcommitted
[b/r] Update backup README: prerequisites, contents, and verification
- Add GaleraBackup CR prerequisite with LVM binary suffix note - Simplify backup contents: PVCs by label, resources by namespace - Add Data Mover verification section (datauploads status check) - Fix list numbering Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent f9ddf1b commit 4f2caf6

1 file changed

Lines changed: 32 additions & 34 deletions

File tree

docs/dev/backup-restore/backup/README.md

Lines changed: 32 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,14 @@ We use a two-backup strategy:
99
1. **backup-openstack-pvcs.yaml** - PVCs only (with CSI snapshots, local only)
1010
- Filters at backup time using `labelSelector`
1111
- Only includes PVCs labeled with `backup.openstack.org/backup: "true"`
12-
- Includes: Glance image storage PVCs, GaleraBackup PVCs
1312

14-
1. **backup-openstack-pvcs-datamover.yaml** - PVCs with Data Mover (uploads to S3/MinIO)
13+
2. **backup-openstack-pvcs-datamover.yaml** - PVCs with Data Mover (uploads to S3/MinIO)
1514
- Same as above but with `snapshotMoveData: true`
1615
- Uploads CSI snapshot data to BackupStorageLocation via Kopia
1716
- Enables restore even after total cluster loss
1817
- Requires OADP DPA with `nodeAgent` enabled
1918

20-
2. **backup-openstack-resources.yaml** - Everything except PVCs
19+
3. **backup-openstack-resources.yaml** - Everything except PVCs
2120
- Backs up all resources in the namespace
2221
- Excludes PVCs (backed up separately)
2322
- Includes: CRs, Secrets, ConfigMaps, NADs, etc.
@@ -34,6 +33,10 @@ We use a two-backup strategy:
3433
- Velero storage location configured (named `velero-1`)
3534
- CSI snapshot capability for PVC backups
3635
- OpenStack deployed in `openstack` namespace with backup labels applied
36+
- GaleraBackup CRs configured for each Galera database instance (main cell and
37+
any additional cells). The CRs define cronjobs that dump databases to PVCs.
38+
**Note:** When using LVM storage, specify PVC sizes with binary suffixes (e.g.,
39+
`5Gi` not `5G`) to avoid size rounding issues.
3740

3841
## Quick Start
3942

@@ -87,35 +90,16 @@ oc describe backup openstack-backup-pvcs -n openshift-adp
8790

8891
### backup-openstack-pvcs
8992

90-
- Glance local PVCs (image storage)
91-
- GaleraBackup PVCs (database backups)
92-
- Any other PVCs labeled with `backup.openstack.org/backup: "true"`
93+
All PVCs labeled with `backup.openstack.org/backup: "true"` are backed up via
94+
CSI volume snapshots. Service operators set this label automatically on PVCs
95+
they manage (e.g., Glance image storage, GaleraBackup database dumps).
9396

9497
### backup-openstack-resources
9598

96-
**Order 10 - Foundation:**
97-
- Secrets without ownerRefs (user-provided)
98-
- ConfigMaps without ownerRefs (user-provided)
99-
- NetworkAttachmentDefinitions without ownerRefs
100-
101-
**Order 20 - Infrastructure:**
102-
- OpenStackVersion
103-
- OpenStackBackupConfig
104-
- MariaDBAccount
105-
- MariaDBDatabase
106-
- NetConfig, Topology, BGPConfiguration, DNSData, InstanceHa
107-
108-
**Order 30 - ControlPlane:**
109-
- OpenStackControlPlane
110-
- Reservation
111-
112-
**Order 40 - Backup Config, IP Sets & DataPlane Services:**
113-
- GaleraBackup
114-
- IPSet
115-
- DataPlaneService (custom user-created services)
116-
117-
**Order 60 - DataPlane:**
118-
- OpenStackDataPlaneNodeSet
99+
All resources in the namespace except PVCs. This includes CRs, Secrets,
100+
ConfigMaps, NetworkAttachmentDefinitions, and any other namespace-scoped
101+
resources. Restore ordering is controlled by `backup.openstack.org/restore-order`
102+
labels on the backed-up resources (see `docs/dev/backup-restore/restore/README.md`).
119103

120104
## Customization
121105

@@ -153,19 +137,33 @@ spec:
153137
# List all backups
154138
oc get backup -n openshift-adp
155139
156-
# Check backup details
140+
# Check backup details and status
157141
oc get backup openstack-backup-resources -n openshift-adp -o yaml
158142
oc get backup openstack-backup-pvcs -n openshift-adp -o yaml
159143
160-
# Check what was backed up
161-
oc get backup openstack-backup-resources -n openshift-adp \
162-
-o jsonpath='{.status.progress}' | jq
144+
# Verify backup phase is "Completed"
145+
oc get backup -n openshift-adp -o custom-columns=NAME:.metadata.name,PHASE:.status.phase,ERRORS:.status.errors,WARNINGS:.status.warnings
163146
164-
# List volume snapshots
147+
# List volume snapshots created by backup
165148
oc get volumesnapshot -n openstack
166149
oc get volumesnapshotcontent
167150
```
168151

152+
### Data Mover Verification
153+
154+
When using `snapshotMoveData: true`, verify that all PVC data was uploaded
155+
to the BackupStorageLocation:
156+
157+
```bash
158+
# Check that DataUpload CRs completed for each PVC
159+
oc get datauploads -n openshift-adp -l velero.io/backup-name=openstack-backup-pvcs
160+
oc get datauploads -n openshift-adp -o custom-columns=NAME:.metadata.name,PHASE:.status.phase,BYTES:.status.progress.totalBytes
161+
162+
# All DataUploads should show Phase=Completed
163+
# If any show Phase=Failed, check node-agent logs:
164+
oc logs -n openshift-adp -l name=node-agent --tail=50
165+
```
166+
169167
## Scheduling Backups
170168

171169
To schedule regular backups, create a Velero Schedule CR:

0 commit comments

Comments
 (0)