Azure-VM-Snapshots
-------------------------------------Powershell Functions for Creating Azure RM VM Snapshots
Usage:
Load the Functions:
C:> . .\AzureSnapFunctions.PS1
Create a New snapshot for all VHDs in a VM
C:> Snap-AzureRMVM -VMName MyVM -SnapshotName "Snap 1"
View the snapshots for all VHDs on a VM
C:> Get-AzureRMVMSnap -VMName MyVM
Delete all snapshots for all VHDs on a VM
C:> Delete-AzureRMVMSnap -VMName MyVM
Revert to a snapshot for all VHDs on a VM
C:> Revert-AzureRMVMSnap -VMName MyVM
Nice functions, going to try them out shortly. Thank you.
ReplyDeleteDave. I greatly appreciate all the work you did here, it saved me quite a bit of time. I ended up updating your revert function from the github site due to some issues I had with it reverting multi-disk vm's. I'm not much of a powershell guy, but was able to get it to revert azure vm's with multiple disks. Please let me know if you would be interested in my updates and I'll be happy to send them to you.
ReplyDeleteAbsolutely interested in any fixes or improvements you may have. Thank you.
DeleteHi JC,
DeleteReversion on multi-disk VMs should now be working.
Dave.
This comment has been removed by the author.
ReplyDeleteHi Dave,
ReplyDeleteI'm trying to use your script, and I'm coming across an error during the first call to Get-StorageTable(), where New-AzureStorageTable is called, and hoping you'd be able to help me.
The full error message is:
{{{
New-AzureStorageTable : The remote name could not be resolved: 'XXXXXXdisks389.table.core.windows.net'
At C:\Users\YYYYY\Documents\GitHub\Azure-VM-Snapshots\AzureStorageFunctions.PS1:26 char:20
+ ... SnapTable = New-AzureStorageTable -Name $TableName -Context $StorageC ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [New-AzureStorageTable], StorageException
+ FullyQualifiedErrorId : StorageException,Microsoft.WindowsAzure.Commands.Storage.Table.Cmdlet.NewAzureStorageTableCom
mand
}}}
XXXXXXdisks389 is a Premium Performance, Locally Redundant storage account that was created during the VM creation. Is there a prerequisite to what the storage account type should be to use your script?
Answering my own question here, but it looks like it has to be a Standard Performance storage account for this to work, since the Premium only supports Azure virtual machine disks. https://azure.microsoft.com/en-us/documentation/articles/storage-introduction/
DeleteHi,
DeleteI've only tested with standard RM storage accounts, the New-AzureStorageTable function creates and writes to an Azure table so I guess it's not going to work if that's not supported.
It may have actually created a snapshot of the disk, but not tracked it using the table.
If you run Get-AzureRMVMSnapBlobs on the VM does it return any snapshots?
Dave.
Hi Dave,
ReplyDeleteI just checked it and yes, it looks like the snapshot did get created!
I didn't think it did b/c of all the red error messages.
The tables would be a really nice feature to have, but I guess not absolutely essential for me at this point.
Thank you for this, by the way!
Satoru
I have a query.. My case is below :
ReplyDeletewe have a pre-prod server created in Region-1 .. now we want to create the exact copy of pre-prod server in region-2 . how can i achieve that. what they expect me is to create a new VM in region-2 using the snapshop of region-1 VM and Also keep the Pre-prod server for region-1 intact.
My advice would be to stop the VM, then use AzCopy, PowerShell or Storage Explorer to copy the VHD for the VM to the other region.
DeleteThen I would use PowerShell or JSON template to create a new VM with the copied VHD(s) attached.
I think this link should help:
https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-windows-vhd-copy
nice blog thank you for sharing this article.
ReplyDeleteMicrosoft Windows Azure Training | Online Course | Certification in chennai | Microsoft Windows Azure Training | Online Course | Certification in bangalore | Microsoft Windows Azure Training | Online Course | Certification in hyderabad | Microsoft Windows Azure Training | Online Course | Certification in pune