XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Problem with differential restore

    Scheduled Pinned Locked Moved Backup
    26 Posts 5 Posters 2.2k Views 5 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • F Offline
      frank-s @olivierlambert
      last edited by

      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.

      20ae3ebd-3801-485c-8b59-9193e06c2c56-image.png

      Thanks,
      Frank.

      1 Reply Last reply Reply Quote 0
      • olivierlambertO Offline
        olivierlambert Vates 🪐 Co-Founder CEO
        last edited by

        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

        1 Reply Last reply Reply Quote 0
        • F Offline
          frank-s
          last edited by

          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.

          florentF 1 Reply Last reply Reply Quote 0
          • olivierlambertO Offline
            olivierlambert Vates 🪐 Co-Founder CEO
            last edited by

            I have the impression it's one or another, to choose between pro and cons on the two.

            1 Reply Last reply Reply Quote 0
            • F Offline
              frank-s
              last edited by

              I will backup again without deleting the snapshot and then attempt a differential restore.
              I will update this thread when done.

              1 Reply Last reply Reply Quote 1
              • florentF Offline
                florent Vates 🪐 XO Team @frank-s
                last edited by

                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.

                F 1 Reply Last reply Reply Quote 0
                • F Offline
                  frank-s @florent
                  last edited by

                  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.

                  F 1 Reply Last reply Reply Quote 0
                  • F Offline
                    frank-s @frank-s
                    last edited by

                    frank-s Soz - I meant differential restores...

                    1 Reply Last reply Reply Quote 0
                    • olivierlambertO Offline
                      olivierlambert Vates 🪐 Co-Founder CEO
                      last edited by

                      You can't have CBT/flush snap + diff restore. In your case, our future instant restore feature might be one you seek.

                      1 Reply Last reply Reply Quote 0
                      • F Offline
                        frank-s
                        last edited by

                        Thank you. Is there somewhere I can read about this instant restore feature?

                        1 Reply Last reply Reply Quote 0
                        • olivierlambertO Offline
                          olivierlambert Vates 🪐 Co-Founder CEO
                          last edited by

                          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.

                          K 1 Reply Last reply Reply Quote 0
                          • F Offline
                            frank-s
                            last edited by

                            Thank you.

                            F 1 Reply Last reply Reply Quote 0
                            • F Offline
                              frank-s @frank-s
                              last edited by

                              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?

                              1 Reply Last reply Reply Quote 0
                              • olivierlambertO Offline
                                olivierlambert Vates 🪐 Co-Founder CEO
                                last edited by

                                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)

                                F 1 Reply Last reply Reply Quote 0
                                • F Offline
                                  frank-s @olivierlambert
                                  last edited by

                                  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.

                                  1 Reply Last reply Reply Quote 0
                                  • olivierlambertO Offline
                                    olivierlambert Vates 🪐 Co-Founder CEO
                                    last edited by olivierlambert

                                    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.

                                    F 1 Reply Last reply Reply Quote 0
                                    • F Offline
                                      frank-s @olivierlambert
                                      last edited by

                                      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?

                                      1 Reply Last reply Reply Quote 0
                                      • olivierlambertO Offline
                                        olivierlambert Vates 🪐 Co-Founder CEO
                                        last edited by olivierlambert

                                        That's true as long as you keep the snapshot data, which is not the case in NBD+purge data.

                                        F 1 Reply Last reply Reply Quote 0
                                        • F Offline
                                          frank-s @olivierlambert
                                          last edited by

                                          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?

                                          1 Reply Last reply Reply Quote 0
                                          • olivierlambertO Offline
                                            olivierlambert Vates 🪐 Co-Founder CEO
                                            last edited by olivierlambert

                                            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.

                                            F 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post