Problem with differential restore
-
Hi,
Can you describe exactly what are you doing in the UI, using what XO, which version and so on.
-
@olivierlambert
I am using XO from the sources.
commit a9b99 Master, commit 30172
When I try to restore I select the appropriate backup (I have done this with both internal NFS remote and also with s3 remote). I select the SR that the backed up VM is on and turn on "use differential restore". When I click OK it fails immediately with the following error: <VDI_INCOMPATIBLE_TYPE(OpaqueRef:6ef1574a-ffc6-412b-bf6b-6804bacc0523, CBT metadata)>
This also happens on a completely different installation (different XCP different XO different client).
It's been a while since I used differential restore. It seems odd that when turned on I can select any destination SR. My understanding is that the restore needs the same SR as the original VM - that's what I selected.
When I last used differential restore I was not using NBD/CBT.
Regular restore seems to be working.Thanks,
Frank. -
Thanks, it's a lot more clear now I don't think diff restore works with CBT as we remove the snapshot data. But it's a good question so we update the UI to reflect that and/or document it. @florent will confirm
-
So my guess is it will work if I choose not to delete the snapshot??? If that is correct it is a pity as differential restore is very fast compared to regular restore. Differential restore, for instance, would be a brilliant way to recover quickly from a ransomware attack. Also, deleting the snapshot makes coalescing much faster. Am I correct in my assumptions? Is there a way it could be made to work without the snapshot?
Thank you,
Frank. -
I have the impression it's one or another, to choose between pro and cons on the two.
-
I will backup again without deleting the snapshot and then attempt a differential restore.
I will update this thread when done. -
@frank-s said in Problem with differential restore:
So my guess is it will work if I choose not to delete the snapshot??? If that is correct it is a pity as differential restore is very fast compared to regular restore. Differential restore, for instance, would be a brilliant way to recover quickly from a ransomware attack. Also, deleting the snapshot makes coalescing much faster. Am I correct in my assumptions? Is there a way it could be made to work without the snapshot?
Thank you,
Frank.differential restore work by not transferring the data that the snapshot and the backup have in common, without reading any of those
it clone the last snapshot, an then revert the block changed between the older backup and the snapshot.In theory, if you run a delta backup without destroying the data, it should provide the anchor to have this work.
-
@florent
I just did a delta backup on a small VM but chose NOT to delete the snapshot. It completed quickly and I then tried a differential restore and it worked. I also tried to do a differential restore on a delta backup made yesterday when the snapshot was deleted - this also worked. Will it be possible in the future to make differential backups work without keeping the snapshot? Is such a thing possible?
Thanks,
Frank. -
@frank-s Soz - I meant differential restores...
-
You can't have CBT/flush snap + diff restore. In your case, our future instant restore feature might be one you seek.
-
Thank you. Is there somewhere I can read about this instant restore feature?
-
No, because it's a planned feature. In short, XOA will act as an temporary SR so you can instantly start the backup VM, then migrate it to the target storage.
-
Thank you.
-
@frank-s So- I have been thinking about this. If an NBT/CBT backup is set to destroy the snapshot, would it be possible to make differential restore work by having the restore process create the snapshot it needs, perform the differential restore and then delete the snapshot?
-
Recreating the snapshot from the CBT metadata? The problem is the CBT metadata doesn't make sense alone, only compared to the data saved by XO. So this will need to read a lot of data between XO and the host, not sure it will be faster at all (probably the opposite)
-
@olivierlambert No, not recreating the snapshot from the CBT metadata but simply creating a new temporary snapshot, perform differential restore and delete the temporary snapshot when done.
-
I'm not sure to follow. You need a point of reference in time to restore. If you start from a new snapshot, and apply the diff blocks (from XO backup) on top of it, it will be complete nonsense.
-
@olivierlambert So, earlier in this thread, florent said "differential restore work by not transferring the data that the snapshot and the backup have in common, without reading any of those
it clone the last snapshot, an then revert the block changed between the older backup and the snapshot". If this is true (and I'm sure it is) why can't the differential restore system create the missing snapshot and use that to complete the differential restore? -
That's true as long as you keep the snapshot data, which is not the case in NBD+purge data.
-
@olivierlambert Agreed, but in the case where the snapshot has been deleted, why can't the differential restore process simply create a snapshot from the vm and use that instead?