You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Bug Reference

CLOUDSTACK-

Branch

master, patches will be submitted through review board

Introduction

Purpose


Currently CloudStack supports VM snapshots for VmWare. This feature will add the support for VM Snapshots in Hyper-V.

References


Document History


Author
Description
Date
Anshul GangwarInitial revision. 

Glossary


VM - virtual machine running on hypervisor

VM Snapshot - A Hyper-V snapshot is an encapsulation of a running VM’s state, data, and hardware configuration

 

Feature Specifications


Use cases

  • Create snapshot for a specified VM
  • Revert VM to a specified snapshot
  • Delete a specified snapshot
  • List snapshots for a specified VM
  • Support creating of 'VM' snapshots (“preserve the state and data of a VM at a specific point in time.“) of both a powered on and powered off VM
    • Able to provide choices for  a) if memory state is needed b) if file system needs to be quiesced if the VM is powered on
  • Remove a snapshot and delete any associated storage
  • Remove all snapshots of a VM
  • Revert to a snapshot
  • Admin can place a limit on the number of stored snapshots per user
  • Users can create snapshots manually or by setting up automatic recurring snapshot policies Snapshots can be created on an hourly, daily, weekly, or monthly interval. One snapshot policy can be set up per VM
  • With each snapshot schedule, users can also specify the number of scheduled snapshots to be retained Older snapshots that exceed the retention limit are automatically deleted. 
    • This user-defined limit must be equal to or lower than the global limit set by the CloudStack administrator. 
    • The limit applies only to those snapshots that are taken as part of an automatic recurring snapshot policy. Additional manual snapshots can be created and retained

DB changes

will add as identified

Web Services APIs

Will use the following existing APIs

API

parameter

response

createVMSnapshot

  • vmId (required)

vmSnapshot

deleteVMSnapshot

  • vmSnapshotId (required)

jobid

listVMSnapshot

  • id (optional)
  • domainid (optional)
  • state (optional)
  • accountId (optional)
  • vmId (optional)

vmSnapshot[]

revertToVMSnapshot

  • vmSnapshotId (required)

VM


UI scenarios

Will use the existing UI for VM snapshots

  • Add snapshot action and [view snaptshots] in VM detail page

      

  • Snapshots List:

      

  • VM snapshot detail

      

Important

Do not delete .avhd files directly from the storage location.

 

considerations, when using snapshots

  • The presence of a virtual machine snapshot reduces the disk performance of the virtual machine.
  • When you delete a snapshot, the .avhd files that store the snapshot data remain in the storage location until the virtual machine is shut down, turned off, or put into a saved state.
  • We do not recommend using snapshots on virtual machines that provide time-sensitive services, or when performance or the availability of storage space is critical.

Important questions:


When we stop VM from cloudstack, on Hyper-V that VM is destroyed. When VM gets destroyed all the associated VM snapshots also get destroyed.

To Overcome this we can export the VM which also contains the snapshots information.

 

When to export the VM

Exporting VM is a costly operation, we can have following set of options

  1. Export VM when we are stopping the VM.

    Pros
    1.  In this case we  have to perform the costly export operation only when it is needed(when we cannot avoid).
    2. VM snapshots will be fast as then it needs to keep only differential data.

    Cons
    1. stop will get affected, which we can make asynchronous and export VM only when the VM snapshots has been taken on that VM.
    2. What will be done if VM is started before the export operation has been completed?
    3. What will happen if primary goes down in middle of export operation or export operation has not yet started?
      1. whenever host or primary comes up first export the VM then delete it, if it has snapshots
      2. What state of that VM will be returned in hostVMstatereport for vmsync?

  2. Export VM at every snapshot

    Pros
    1. Probability of stop operation being affected will be low. Will only be affected when stop operation occurs in the process of exporting VM.

    Cons
    1. VM snapshots will be slow

 

Note: Importing VM will not be costly operation assuming that exported will be kept on primary and then will be imported as in place

 

Failover Clustering and Hyper-V VSS

The Hyper-V VSS writer does not give any consideration to VMs that are part of a failover cluster. During both the "Saved State" method backups and all restores, the VM would be put into the saved state or deleted entirely. This would be seen as a failure by the clustering service and cause the applications on those nodes to be failed over to other nodes. To avoid this during "Saved State" backups, the VM state must be saved using the clustering service. To avoid this during a restore, the resources on the VM would need to be taken offline.

 

 

 

 

 

 

 

  • No labels