VMware Cloud Community
matt-brewster
Enthusiast
Enthusiast
Jump to solution

Disk space for suspend / resume

I am reading the SAN Design & Deployment guide (http://www.vmware.com/pdf/vi3_san_design_deploy.pdf) and am surprised by the following section:

How big is each virtual machine operating system and its data disks? This determines the storage capacity now (that is, which storage array model to use, how much disk space to buy now, and how much disk space to buy in six months). For each virtual machine, estimate storage requirements using the following calculations:

♦ (Size of virtual machine) + (size of suspend/resume space for virtual machine)) + (size of RAM for virtual machine) + (100MB for log files per virtual machine) is the minimum space needed for each virtual machine.

NOTE: Size of suspend/resume snapshots of running virtual machines is equal to the size of the virtual machine.

♦ For example, assuming a 15GB virtual machine with 1GB virtual RAM, the calculation result is:

15GB (size of virtual machine) + 15GB (space for suspend/resume) + 1GB (virtual RAM) + 100MB

The total minimum storage requirement is approximately 31.1GB.

Does this mean that for my SQL server that needs 8GB RAM and 500GB of storage I need 500GB + 500GB + 8GB + 100MB = 1008.1GB of disk storage on my SAN? This seems rather excessive?

Can someone confirm that I need to allocate 500GB for the suspend/resume space?

Thanks

Matt

0 Kudos
1 Solution

Accepted Solutions
esiebert7625
Immortal
Immortal
Jump to solution

A suspend file (vmss) is equal in size to the amount of RAM your VM has....

• *.vmss file – This file is created when a VM is put into Suspend (pause) mode and is used to save the suspend state. It is basically a copy of the VM’s RAM and will be a few megabytes larger than the maximum RAM memory allocated to the VM. If you delete this file while the VM is in a suspend state It will start the VM from a normal boot up instead of starting the vm from the state it was when it was suspended. This file is not automatically deleted when the VM is brought out of Suspend mode. Like the Vswp file this file will only be deleted when the VM is powered off (not rebooted). If a Vmss file exists from a previous suspend and the VM is suspended again then the previous file is re-used for the subsequent suspensions. Also note that if a vswp file is present it is deleted when a VM is suspended and then re-created when the VM is powered on again. The reason for this is that the VM is essentially powered off in the suspend state, it’s RAM contents are just preserved in the vmss file so it can be quickly powered back on.

fyi...if you find this post helpful, please award points using the Helpful/Correct buttons...thanks

View solution in original post

0 Kudos
6 Replies
esiebert7625
Immortal
Immortal
Jump to solution

A suspend file (vmss) is equal in size to the amount of RAM your VM has....

• *.vmss file – This file is created when a VM is put into Suspend (pause) mode and is used to save the suspend state. It is basically a copy of the VM’s RAM and will be a few megabytes larger than the maximum RAM memory allocated to the VM. If you delete this file while the VM is in a suspend state It will start the VM from a normal boot up instead of starting the vm from the state it was when it was suspended. This file is not automatically deleted when the VM is brought out of Suspend mode. Like the Vswp file this file will only be deleted when the VM is powered off (not rebooted). If a Vmss file exists from a previous suspend and the VM is suspended again then the previous file is re-used for the subsequent suspensions. Also note that if a vswp file is present it is deleted when a VM is suspended and then re-created when the VM is powered on again. The reason for this is that the VM is essentially powered off in the suspend state, it’s RAM contents are just preserved in the vmss file so it can be quickly powered back on.

fyi...if you find this post helpful, please award points using the Helpful/Correct buttons...thanks

0 Kudos
matt-brewster
Enthusiast
Enthusiast
Jump to solution

Fantastic, thanks for the input. I thought 500GB was a little excessive..!

That must mean the guide I am reading is wrong? Shall I notify the author?

0 Kudos
esiebert7625
Immortal
Immortal
Jump to solution

Yes, it would probably help others, here's a rundown of all the files that make up a VM, besides the vmdk file, the snapshots file can potentially be the next largest, they can never exceed the size of the original VM disk though. They start small and grow based on how long the snapshot is kept an dhow many changes are made to the VM...

What are all the files that are located in my virtual machines directory on the ESX server for?

*.nvram file – This file contains the CMOS/BIOS for the VM. The BIOS is based off the PhoenixBIOS 4.0 Release 6 and is one of the most successful and widely used BIOS and is compliant with all the major standards, including USB, PCI, ACPI, 1394, WfM and PC2001. If the NVRAM file is deleted or missing it will automatically be re-created when the VM is powered on. Any changes made to the BIOS via the Setup program (F2 at boot) will be saved in this file. This file is usually less then 10K in size and is not in a text format (binary).

vmdk files – These are the disk files that are created for each virtual hard drive in your VM. There are 3 different types of files that use the vmdk extension, they are:

o *–flat.vmdk file - This is the actual raw disk file that is created for each virtual hard drive. Almost all of a .vmdk file's content is the virtual machine's data, with a small portion allotted to virtual machine overhead. This file will be roughly the same size as your virtual hard drive.

o *.vmdk file – This isn't the file containing the raw data anymore. Instead it is the disk descriptor file which describes the size and geometry of the virtual disk file. This file is in text format and contains the name of the –flat.vmdk file for which it is associated with and also the hard drive adapter type, drive sectors, heads and cylinders, etc. One of these files will exist for each virtual hard drive that is assigned to your virtual machine. You can tell which –flat.vmdk file it is associated with by opening the file and looking at the Extent Description field.

o *–delta.vmdk file - This is the differential file created when you take a snapshot of a VM (also known as REDO log). When you snapshot a VM it stops writing to the base vmdk and starts writing changes to the snapshot delta file. The snapshot delta will initially be small and then start growing as changes are made to the base vmdk file, The delta file is a bitmap of the changes to the base vmdk thus is can never grow larger than the base vmdk. A delta file will be created for each snapshot that you create for a VM. These files are automatically deleted when the snapshot is deleted or reverted in snapshot manager.

*.vmx file – This file is the primary configuration file for a virtual machine. When you create a new virtual machine and configure the hardware settings for it that information is stored in this file. This file is in text format and contains entries for the hard disk, network adapters, memory, CPU, ports, power options, etc. You can either edit these files directly if you know what to add or use the Vmware GUI (Edit Settings on the VM) which will automatically update the file.

*.vswp file – This is the VM swap file (earlier ESX versions had a per host swap file) and is created to allow for memory overcommitment on a ESX server. The file is created when a VM is powered on and deleted when it is powered off. By default when you create a VM the memory reservation is set to zero, meaning no memory is reserved for the VM and it can potentially be 100% overcommitted. As a result of this a vswp file is created equal to the amount of memory that the VM is assigned minus the memory reservation that is configured for the VM. So a VM that is configured with 2GB of memory will create a 2GB vswp file when it is powered on, if you set a memory reservation for 1GB, then it will only create a 1GB vswp file. If you specify a 2GB reservation then it creates a 0 byte file that it does not use. When you do specify a memory reservation then physical RAM from the host will be reserved for the VM and not usable by any other VM’s on that host. A VM will not use it vswp file as long as physical RAM is available on the host. Once all physical RAM is used on the host by all its VM’s and it becomes overcommitted then VM’s start to use their vswp files instead of physical memory. Since the vswp file is a disk file it will effect the performance of the VM when this happens. If you specify a reservation and the host does not have enough physical RAM when the VM is powered on then the VM will not start.

*.vmss file – This file is created when a VM is put into Suspend (pause) mode and is used to save the suspend state. It is basically a copy of the VM’s RAM and will be a few megabytes larger than the maximum RAM memory allocated to the VM. If you delete this file while the VM is in a suspend state It will start the VM from a normal boot up instead of starting the vm from the state it was when it was suspended. This file is not automatically deleted when the VM is brought out of Suspend mode. Like the Vswp file this file will only be deleted when the VM is powered off (not rebooted). If a Vmss file exists from a previous suspend and the VM is suspended again then the previous file is re-used for the subsequent suspensions. Also note that if a vswp file is present it is deleted when a VM is suspended and then re-created when the VM is powered on again. The reason for this is that the VM is essentially powered off in the suspend state, it’s RAM contents are just preserved in the vmss file so it can be quickly powered back on.

*.log file – This is the file that keeps a log of the virtual machine activity and is useful in troubleshooting virtual machine problems. Every time a VM is powered off and then back on a new log file is created. The current log file for the VM is always vmware.log. The older log files are incremented with a -# in the filename and up to 6 of them will be retained. (ie. vmware-4.log) The older .log files are always deleteable at will, the latest .log file can be deleted when the VM is powered off. As the log files do not take much disk space, most administrators let them be

*.vmxf file – This is a supplemental configuration file in text format for virtual machines that are in a team. Note that the .vmxf file remains if a virtual machine is removed from the team. Teaming virtual machines is a Vmware Workstation feature and includes the ability to designate multiple virtual machines as a team, which administrators can then power on and off, suspend and resume as a single object — making it particularly useful for testing client-server environments. This file still exists with ESX server virtual machines but only for compatibility purposes with Workstation.

*.vmsd file – This file is used to store metadata and information about snapshots. This file is in text format and will contain information such as the snapshot display name, uid, disk file name, etc. It is initially a 0 byte file until you create your first snapshot of a VM and from that point it will populate the file and continue to update it whenever new snapshots are taken. This file does not cleanup completely after snapshots are taken. Once you delete a snapshot it will still leave the fields in the file for each snapshot and just increment the uid and set the name to “Consolidate Helper” presumably to be used with Consolidated Backups

*.vmsn file - This is the snapshot state file, which stores the exact running state of a virtual machine at the time you take that snapshot. This file will either be small or large depending on if you select to preserve the VM’s memory as part of the snapshot. If you do choose to preserve the VM’s memory then this file will be a view megabytes larger then the maximum RAM memory allocated to the VM. This file is similar to the vmss (Suspend) file. A vmsn file will be created for each snapshot taken on the VM, these files are automatically deleted when the snapshot is removed.

matt-brewster
Enthusiast
Enthusiast
Jump to solution

Rather than reserving snapshot space for each VM can I create a spare LUN that can be used by any VM when it goes into snapshot mode? I'll only be using snapshots for consolidated backup so they will be deleted after they have been committed to tape.

0 Kudos
esiebert7625
Immortal
Immortal
Jump to solution

Snapshots are kept in the directory of the VM and you can not change that location. As long as the snapshot is deleted not long after it is taken they should not take up much room.

http://www.vmware.com/community/thread.jspa?messageID=554703

You can put your vswp files on a separate LUN, see this post...

http://www.vmware.com/community/thread.jspa?messageID=530426

0 Kudos
opkhanduja
Contributor
Contributor
Jump to solution

So, If I my VM needs 20 GB and 4GB of RAM, how much space should I allocate for the suspend resume space? It isnt reaelly clear if the snapshots will take up the whole amoung from what you wrote. It reads that they may actually get to be the size of the entire 20GB, but it is highly unlikely and they dont take up "much" room.. It seems to be a "it depends" answer, but I wanted to get a general rule of them that I can apply to a design I am completing. Would it just be about double the RAM then? Thanks in advance.

O.P.

0 Kudos