Problem with differential restore
-
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?
-
Create a snapshot against which reference? The snapshot is deleted. You need a reference point to do differential. That reference is deleted when you remove the snapshot data.
Differential means differential against something, a reference. If you don't have a reference, it doesn't make sense. It's like guess a number after "minus 2" operation. What is that number? If you don't have the original number, it's impossible to apply "minus 2" on it.
-
@olivierlambert <The snapshot is deleted. You need a reference point to do differential>. So, since the snapshot is deleted, create a new one (snapshot) as part of the restore process and use that for the reference - then delete it when done.