Question

I don't quite get to which extent Azure IaaS virtual machines (not VM roles) can persist state. Clearly files on local disks are preserved.

Is memory state also preserved? Can I "suspend" a VM like in VMWare and then resume it with all programs running?

Was it helpful?

Solution

There is no suspension option. You can start/shutdown the machines, and capture (image) them.

Capturing makes a copy of the disks only, and not the memory. Windows servers should be sysprepped beforehand. The machine must be powered off to capture.

enter image description here

OTHER TIPS

The closest thing would be to snapshot the VM, however that only snapshots the disks, not anything in memory.

This Snapshot overview provides a bit more information; just remember that snapshots are being taken at the blob (vhd) level, not the VM level.

As Azure VM have only 2 states i.e. start and stop but you can certainly tweak this by using extension mechanism while VM creation. We can do this hibernation as below steps.

1. Create an standalone application, which will do following things. a. Read your system "Recent File". b. Scan all the running process. c. Now based on process name and recently opened file from recent directory get their absolute path and store into some temp file.

b. Make sure that file creation should overwrite old file, every time it execute. e. If file exist then during startup this application should opened all the listed file and launch process too.

2. Now, Store your above created executable file into some publicly access Storage account.

3. Write one power shell scripts where you can access above mentioned storage account and it will download step 1 created executable application into that VM, which will keep scanning and reading and storing all the recently opened applications into one temp file and during startup it should open too.

4. For getting download that executable into respective VM, you can use "Extension" mechanism while VM creation where you will attach power shell scripts.

5. So from next time, after deallocating your VM, whenever you will start that old VM again it will read that temp file where all the file name and process name was listed and opened that.

This way, you can achieve your hibernation process.

Hope you are clear with this hibernation steps else update me so i can guide you better ways.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top