Hi,
I’m trying to restore a backup from Azure Blob Storage to a Percona XtraDB Cluster using the PerconaXtraDBClusterRestore CR.
My CR looks like this:
apiVersion: pxc.percona.com/v1
kind: PerconaXtraDBClusterRestore
metadata:
name: restore-from-prod-v1
spec:
pxcCluster: pxc-local-pxc-db
backupSource:
destination: azure://percona-backup/my-db-pxc-db-2025-08-14-02:00:36-full
azure:
container: percona-backup
credentialsSecret: azure-blob-secret
The backup was taken successfully and is stored in Azure.
However, during the restore, xtrabackup --prepare fails:
[ERROR] [Xtrabackup] cannot open ./xtrabackup_checkpoints
[ERROR] [Xtrabackup] failed to read metadata from './xtrabackup_checkpoints'
On inspection, files like xtrabackup_checkpoints, xtrabackup_info, and xtrabackup_binlog_info don’t exist as single files in the restore dir. Instead, they are split into chunk parts such as:
xtrabackup_checkpoints.00000000000000000000
xtrabackup_checkpoints.00000000000000000001
Same for xtrabackup_info and others.
It seems the restore process downloads the blob chunks but doesn’t reassemble them before running xtrabackup. If I run xbcloud get manually without piping to xbstream -x, I see the same behavior.
Questions:
-
Is this expected when restoring from Azure with PerconaXtraDBClusterRestore?
-
Should the operator automatically pipe the xbcloud get output into xbstream -x to reassemble chunks before running prepare?
-
Is there a recommended workaround—either by fixing the operator config or manually merging these chunk files—so that xtrabackup --prepare can run successfully?
Thanks!