microsoft/service-fabric-issues

Backup fails to restore to remote collection

qmatto opened this issue · 4 comments

Hi,

I am trying to migrate our on prem workloads to Azure. I have a Reliable Collection backup set in a BlobStorage account, and have deployed the necessary services to Azure.

I am using the following REST command.

{
  "BackupId": "23aa0ace-2cc4-49e2-90bd-08db2df3d39a",
  "BackupStorage":  {
	"StorageKind": "AzureBlobStore",
    "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=",
    "ContainerName": "asf-backup"
  },
  "BackupLocation": "d9ae2849-50c6-4214-8d3f-aff388f560a9\\2019-08-02 06.14.52.zip"
}

The backup ID I have used from the most recent backup of that service - the Cloud service, not the on prem.

The following URL

https:///Partitions/d9ae2849-50c6-4214-8d3f-aff388f560a9/$/Restore?RestoreTimeout=60&api-version=6.4

yields

{"Error":{"Code":"FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH","Message":"BackupId and Backup Locations are mismatch."}}

Can someone explain the process to restore a reliable collection to a different service location - which backupId should be used?

Cheers

You should pick the backupId and backupLocation from the output of the backup for on prem. Hopefully you were able to resolve that.

Hi @raunakpandya thanks for your response,

I have changed my method to the following:

  • copying all the backup sets to Azure Blob Storage
  • retreiving a backup ID from a call to the following URL
    https://:19080/Applications//$/GetBackups?api-version=6.4&MaxResults=100&StartDateTimeFilter=2019-08-02&Latest=true
  • Invoking the Azure endpoint with https://:19080/Partitions/d9ae2849-50c6-4214-8d3f-aff388f560a9/$/Restore?RestoreTimeout=60&api-version=6.4
    BODY
    {
    "BackupId": "b957bbe5-fc39-4941-a906-b83dcf118373",
    "BackupChainId": "25cb58cf-023c-4a7b-b0a3-57f150283912",
    "BackupStorage": {
    "StorageKind": "AzureBlobStore",
    "ConnectionString": "DefaultEndpointsProtocol=https;AccountName=;AccountKey=;EndpointSuffix=core.windows.net",
    "ContainerName": "asf-backup"
    },
    "BackupLocation": "381c90d5-d729-4011-a261-522cd885d75a\2019-08-02 07.15.08.zip"
    }

This yields the following error:

{"Error":{"Code":"E_UNEXPECTED","Message":"Unable to get backup locations in chain."}}

This means that the service while trying to walk through the backuplocation either couldnt find the same in the container or one or more of its preceding backups in chain. I am assuming you copied the backup ID, backup chain ID and backup location as is from the output of get backups. Is that correct?

Hi there @qmatto hopefully you were able to resolve this? I'm going to close down this issue since we haven't heard back from you. If you still are having issues, please reopen and answer Raunak's questions and hopefully we can sort it out for you.

Thanks
-Matt