O backup off-line falha com o erro de que o bucket não existe

Quando você tenta criar um backup off-line com o utilitário OADP , o backup falha.

Sintomas

No arquivo de log do pod do Velero, você vê uma mensagem de erro como no exemplo a seguir:

time="<timestamp>" level=error msg="Error checking repository for stale locks" 
error="error running command=restic unlock --repo=s3:http://minio-velero.xxxx.appdomain.cloud/velero2/cpdbackup/restic/zen 
--password-file=/tmp/credentials/oadp-operator/velero-restic-credentials-repository-password 
--cache-dir=/scratch/.cache/restic, stdout=, stderr=Fatal: unable to open config file: Stat: The specified bucket does not 
exist\nIs there a repository at the following location?\ns3:http://minio-velero.xxxx.appdomain.cloud/velero2/cpdbackup/restic/zen\n: 
exit status 1" error.file="/remote-source/velero/app/pkg/restic/repository_manager.go:296" error.function="github.com/vmware-tanzu/velero/pkg/restic.(*repositoryManager).exec" 
logSource="/remote-source/velero/app/pkg/controller/restic_repository_controller.go:104" resticRepo=oadp-operator/zen-dpa-sample-1-hfvzl

Causas

O compartimento em que o utilitário OADP está tentando armazenar o backup está incorreto. Por exemplo, na mensagem de erro da seção anterior, o bucket incorreto é velero2.

Resolvendo o problema

Faça as seguintes verificações:

  1. Verifique se o repositório restic tem algum erro.
    1. Obtenha a lista de pods no projeto do operador OADP :
      oc get po -n ${OADP_NAMESPACE}
    2. Faça login em qualquer pod restic ou node-agent:
      oc rsh -n ${OADP_NAMESPACE} restic-<...>
      Dentro do pod restic, o repositório restic URL se parece com o exemplo a seguir:
      s3:http://<...>/velero/cpdbackup/restic/<cpd-instance>

      Verifique se o endereço URL é semelhante ao do armazenamento de objetos URL que você configurou no DataProtectionApplication (DPA).

    3. Verifique o repositório restic:
      restic check -r <restic-repo-url> --read-data
      Observação: se for solicitada uma senha, a senha padrão é static-passw0rd.
  2. Verifique se a fase do local de armazenamento de backup é Available executando o seguinte comando:
    oc get bsl -n ${OADP_PROJECT}
    Saída de exemplo:
    NAME           PHASE       LAST VALIDATED   AGE   DEFAULT
    dpa-sample-1   Available   31s              62s   true

    Para obter mais informações, consulte Solução de problemas com o utilitário de backup e restauração IBM Software Hub OADP.

  3. No DPA, verifique se s3URL e prefix estão corretos:
    oc get dpa -n ${OADP_PROJECT} -o yaml
  4. Verifique os CRDs do repositório restic:
    oc get backuprepositories.velero.io -A -o yaml
    Saída de exemplo:
    ...
    spec:
    backupStorageLocation: dpa-sample-1
    maintenanceFrequency: 168h0m0s
    repositoryType: restic
    resticIdentifier: s3:http://minio-velero.xxxx.appdomain.cloud/velero2/cpdbackup/restic/zen\
    volumeNamespace: zen
    ...
  5. Se o resticIdentifier de um repositório restic apontar para o nome incorreto do bucket, exclua-o:
    oc delete backuprepository ${OADP_PROJECT} <resticIdentifier-name>
  6. Repetir o backup.