ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Hyper-V and deleting Snapshots

    IT Discussion
    hyperv snapshots virtualization storage
    6
    41
    8.1k
    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.
    • DustinB3403D
      DustinB3403
      last edited by scottalanmiller

      On SW an IT person had to free some space on their Hyper-V server so they deleted the snapshots of their VM's.

      I'm confused by what is actually going on in Hyper-V, can someone explain the Merging of the vhdx and avhdx files as this seems counter-intuitive.

      1 Reply Last reply Reply Quote 1
      • coliverC
        coliver
        last edited by

        In Hyper-V when you take a snapshot you are actually creating a new disk for the changes to write to. This new disk becomes the primary one and the original disk remains untouched. When you "delete" a snapshot what you are really doing is merging the snapshot into the original vhdx.

        1 Reply Last reply Reply Quote 0
        • DustinB3403D
          DustinB3403
          last edited by

          So why doesn't Hyper-V simply remove the original vhdx?

          1 Reply Last reply Reply Quote 0
          • dafyreD
            dafyre
            last edited by

            Because then it would delete everything except the changes that have been made.

            coliverC 1 Reply Last reply Reply Quote 0
            • dafyreD
              dafyre
              last edited by dafyre

              Install Windows Server 2012.... it writes to Server2012.vhdx ... Make a snapshot... it locks Server2012.vhdx and creates a new vhdx file (We'll call it Server2012-Snapshot1.vhdx for simplicity) that only has new changes... So now you install say... SQL Server 2035 Technical Preview and it completely hoses the server...

              Delete the snapshot, and BAM! You are back to a working Server 2012 blank install.

              So you try agan, but this time you install SQL Server 2014... It works. So you make a Snapshot (we'll call it Server2012-Snapshot2.vhdx, keeping in mind that we have completely deleted snapshot1). Then you configure your SQL Server and get it all happy, and then you tell the Snapshot to Merge.

              This looks at the Server2012.vhdx file and compares it with the Server2012-Snapshot2.vhdx (which has information on where these changes would have been written to on the original vhdx).... and then it will take those changes and put them where they should have gone on the original Server2012.vhdx file.

              After it finishes, then it would delete the Snapshot2.vhdx.

              Clear as mud?

              1 Reply Last reply Reply Quote 1
              • coliverC
                coliver @dafyre
                last edited by

                @dafyre said:

                Because then it would delete everything except the changes that have been made.

                This. The new snapshot file only has the changes written to it. It still references back to the original vhdx for reads.

                dafyreD 1 Reply Last reply Reply Quote 1
                • DustinB3403D
                  DustinB3403
                  last edited by

                  So Hyper-V is actually using the original vhdx file, to run the OS and each snapshot to run the changes that were made to the system at the time of the snapshot?

                  coliverC scottalanmillerS 2 Replies Last reply Reply Quote 0
                  • coliverC
                    coliver @DustinB3403
                    last edited by

                    @DustinB3403 said:

                    So Hyper-V is actually using the original vhdx file, to run the OS and each snapshot to run the changes that were made to the system at the time of the snapshot?

                    Yep. If you take one snapshot. Then a few weeks later take another it also freezes the previous snapshot and writes all changes to the most recent one. It uses the previous snapshot and the original as references.

                    1 Reply Last reply Reply Quote 0
                    • dafyreD
                      dafyre @coliver
                      last edited by

                      @coliver Exactly.

                      1 Reply Last reply Reply Quote 0
                      • scottalanmillerS
                        scottalanmiller @DustinB3403
                        last edited by

                        @DustinB3403 said:

                        So Hyper-V is actually using the original vhdx file, to run the OS and each snapshot to run the changes that were made to the system at the time of the snapshot?

                        No, the original file is the "snapshot", the new file is a "delta" file. It writes changes to the delta file and uses both or else your data wouldn't show up.

                        coliverC 1 Reply Last reply Reply Quote 0
                        • coliverC
                          coliver @scottalanmiller
                          last edited by

                          @scottalanmiller said:

                          @DustinB3403 said:

                          So Hyper-V is actually using the original vhdx file, to run the OS and each snapshot to run the changes that were made to the system at the time of the snapshot?

                          No, the original file is the "snapshot", the new file is a "delta" file. It writes changes to the delta file and uses both or else your data wouldn't show up.

                          That was the word I was looking for, "delta".

                          1 Reply Last reply Reply Quote 0
                          • DustinB3403D
                            DustinB3403
                            last edited by

                            Ok so that makes a bit more sense, now the last part.

                            Why if you went to delete a VM and it's snapshots would the system merge them into one large file before dumping the entire item?

                            StrongBadS coliverC dafyreD 3 Replies Last reply Reply Quote 0
                            • StrongBadS
                              StrongBad @DustinB3403
                              last edited by

                              @DustinB3403 said:

                              Ok so that makes a bit more sense, now the last part.

                              Why if you went to delete a VM and it's snapshots would the system merge them into one large file before dumping the entire item?

                              Because otherwise you would lose your data and users would be pretty upset if that happened.

                              1 Reply Last reply Reply Quote 0
                              • coliverC
                                coliver @DustinB3403
                                last edited by coliver

                                @DustinB3403 said:

                                Ok so that makes a bit more sense, now the last part.

                                Why if you went to delete a VM and it's snapshots would the system merge them into one large file before dumping the entire item?

                                That one I don't know.

                                My guess is that the original files and proceeding snapshots are locked for writing. So they have to merge the snapshots one at a time to release them. That is only a guess though.

                                1 Reply Last reply Reply Quote 0
                                • dafyreD
                                  dafyre @DustinB3403
                                  last edited by

                                  @DustinB3403 If you want to delete the entire VM (and its snapshots), it shouldn't try to merge. It would just delete all of the VHD's associated with that particular VM.

                                  1 Reply Last reply Reply Quote 0
                                  • DustinB3403D
                                    DustinB3403
                                    last edited by

                                    StrongBad I get the part about being upset, but if your goal is to "free space" on your hyper-v server, presumably you know what you're wanting to do, which is the topic of the SW links in the original post.

                                    If the only way to free space on your server is to delete the VM's Snapshots, you're effectively deleting the delta changes to the VM.

                                    So you're telling the server to "go back to when I first installed the VM" in effect.

                                    dafyreD StrongBadS JaredBuschJ 4 Replies Last reply Reply Quote 0
                                    • dafyreD
                                      dafyre @DustinB3403
                                      last edited by

                                      @DustinB3403 If you delete the snapshots, then yes.... But if you merge them, then that is when it will free up the space.

                                      Typically what I do is merge in the oldest snapshots to free up space...

                                      1 Reply Last reply Reply Quote 1
                                      • StrongBadS
                                        StrongBad @DustinB3403
                                        last edited by

                                        @DustinB3403 said:

                                        StrongBad I get the part about being upset, but if your goal is to "free space" on your hyper-v server, presumably you know what you're wanting to do, which is the topic of the SW links in the original post.

                                        Deleting snapshots is not an action for freeing space but for merging changes. If someone was doing snapshot deletion for the purpose of savings much space (other than the deltas) then presumably they don't know what they wanted to do.

                                        DustinB3403D 1 Reply Last reply Reply Quote 0
                                        • DustinB3403D
                                          DustinB3403
                                          last edited by

                                          @dafyre which this will initially bloat the file size on the Hyper-V server, correct?

                                          Until the merge is completed, what would happen if you attempted this merge, and didn't have enough free space on your Hyper-V server?

                                          StrongBadS dafyreD 2 Replies Last reply Reply Quote 0
                                          • StrongBadS
                                            StrongBad @DustinB3403
                                            last edited by

                                            @DustinB3403 said:

                                            If the only way to free space on your server is to delete the VM's Snapshots, you're effectively deleting the delta changes to the VM.

                                            So you're telling the server to "go back to when I first installed the VM" in effect.

                                            No, it might seem that way once you learn how each system works under the hood, but all VM platforms work the same - deletions DO remove the snapshot file but they don't kill the data, they merge it. VMware started this because it has a different kind of snapshot file and if HyperV did not keep the terminology you would have people killing their data right and left from confusion.

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 1 / 3
                                            • First post
                                              Last post