Fully Automated Storage Tiering (FAST)

EMC fully automated storage tiering (FAST) automatically moves active data to high-performance storage tiers and inactive data to low-cost, high-capacity storage tiers. The result is higher performance, lower costs, and a denser footprint than conventional systems. With FAST, enterprise flash drives increase application performance by up to 800 percent, and serial advanced technology attachment (SATA) disk drives lower costs by up to 80 percent.

Who uses FAST, and why

FAST optimizes performance, cost, and floor space, allowing IT organizations to manage more information more efficiently in a smaller footprint while lowering power and cooling, capital, and operational costs. Any organization can use FAST with systems that store and process active and inactive data that’s difficult to identify and move manually to different tiers.

How FAST works

FAST continuously monitors and identifies the activity level of data and automatically moves active data and inactive data to the most appropriate storage tier based on policy. Active data goes to the highest performance tier, and inactive data to the lowest-cost, highest-capacity tier. Policy settings enable administrators to control and manage automated activity.

Benefits of FAST

FAST makes a storage system both faster and lower-cost because it only uses high-performance tiers when needed and low-cost, high-capacity tiers when possible. Policies provide control for how performance and cost are optimized, and the automation of FAST means that the storage system has no added management burden compared to slower, more costly systems.

Shrink Virtual Machine VMDK

Shrink Virtual Machine VMDK

We got a request to reduce the allocated size of Thick provisioned Virtual machines hard disk. Increasing the VMDK size can be done in GUI but decreasing the size of VMDK is not allowed. In most cases, For virtual machine hard disk shrink can be performed via v2v. It is the safest method to reduce the virtual machine VMDK size but there is an another simple approach which saves lot of efforts rather than performing v2v. The below approach is tested in Windows 2008 Operating systems but it may corrupt your data so i would strongly suggest prepare a back out plan before perform the disk shrink. One more note to perform the disk shrink is perform a shrink operation from the OS side using shrink feature in windows 2008 and then follow the below procedure.


1. Navigate to Virtual Machine path from your ESX SSH session

            cd /vmfs/volumes/Datastore_name/VM_Name

2. Edit the VM_Name.vmdk file using Nano or vi editor,

      Below is the content of  .vmdk file.

Let us understand what it is and how do we understand disk size. In the above screenshot, Size of the disk shows 83886080. How it is calculated. It is nothing but 40 GB.

40 GB = 40*1024*1024*1024/512  =  83886080

The below GUI snap confirms that VM has 40 GB assigned vmdk..

Lets say for 50 GB = 50*1024*1024*1024/512 = 104857600

To shrink the disk , Edit the descriptor file by vi VM_Name.vmdk ie. vi test.vmdk



Under extent description replace value between RW _ _ _ _ _ VMFS *-flat.vmdk. In my case it was 40GB disk assigned and hence the value was 83886080. I want to reduce the vmdk by 10 GB so after the shrink vmdk size should be 30GB.

So for 30 GB, use the below mentioned calculation

30(1024*1024*1024)/512 = 62914560  and save the file. svmotion the vm to forth and back then VM properties now reflect the new size of the disk 30 GB



I hope the above steps are helpful for you. Thanks for reading !!!


Top 10 Articles from Previous Years

Post source kendrickcoleman

Top 10 Free VMware vSphere Tools and Utilities for 2011

The Top 10 Free vSphere ESX Tools and Utilities post has been released. (2010 Article)


If you want to dive into performance, take a look at VM Advanced ISO. Free Tools for Advanced Tasks


vSphere Utilities & Programs

RVTools – uses the VI SDK 2.5 to display information about your virtual machines and ESX hosts.

VMVision Manager – A new way to view the virtual machines in your environment

CPUID System Information – shows the VMHost CPU Info by NTPRO

VMware CPU Host Info 2.01 – allow you to read out all CPU information from all your ESX Servers by querying your VC server. It will show what features are available on your CPUs and if they are compatible to vmotion VMs and if FT is supported.

Vizioncore vOptimizer WasteFinder – 3.0 – scans vCenter and can shrink VMDKs to reclaim storage and can also realign VMDKs to 64k on 2 VMs for free.

PHD Virtual Patch Downloader – simplifies the task of downloading patches for various ESX and ESXi versions (including vSphere) by automating the task.

Loadstorm – utility to generate CPU and/or memory load within a virtual machine. Great for testing out DRS

vmClient – a lightweight tool which enables you to control the power of your virtual machines, it’s also capable of presenting the MKS console of your virtual machines (Read More)


vDisk Informer – demonstrates which virtual disks have potentially wasted space on them and which virtual disks are misaligned causing a performance impact

VMware Scanner 1.4 –  scan for VMware Servers (ESX, ESXi, VirtualCenter and VMware Server). It uses the VMware API to identify a VMware server and query the product name, version and build number.

ESXi Customizer – automates the process of customizing the ESXi install-ISO with drivers that are not originally included

UBERAlign – free and powerful tool to resolve alignment of VMs

SolarWinds VM-to-Cloud Calculator – Discovers Virtual Machines & Estimates the Cost to Move to the Cloud

Documentation Downloader by Xtravirt – A practical and intelligent tool for offline access to VMware product documentation

sfvAlarms – A windows utility to allow the export and import of VMware vCenter Alarms

DoubleCloud Client – a wrapper around a Web browser so that the vSphere Web Client user experience is similar to a standalone C# application.

Foglight for Virtualization, Free Edition – virtualization freeware suite is comprised of six utilities that provide virtualization administrators with 360-degree visibility into heterogeneous virtualized environments (Snapshot Explorer, Storage Explorer, Change Explorer, Environment Explorer, vScope Explorer, SearchMyVM Explorer)

vOptimizer WasteFinder – quickly locate and reclaim over-allocated VM storage and dramatically reduce unnecessary storage costs

Virtual Mac Address management – Virtual Mac management tool that allows you easily to manage the MAC addresses of your virtual machine’s NICs. (not tested on latest vSphere releases)

JAM HeavyLoad – freeware stress test tool HeavyLoad. HeavyLoad puts your workstation or server PC under a heavy load and lets you test whether they will still run reliably.

PowerCLI GUI to edit VM hardware version 10 – A .NET like graphical user interface (GUI) in PowerCLI from which perform all operations for VM editing without using the vSphere Web Client


Operations and Monitoring

Xangati Free – VMs, networks, storage, apps, end-user devices in one pane of glass. Real-time continuous UI with ability to DVR record anything. Rich historical reporting on VM and application activity

Solarwinds SAN Monitor – Gain Visibility into Storage Performance & Stay Ahead of SAN Slowdowns

VKernel Capacity View – provides quick visibility and alerting to the storage and server capacity issues in your VMware virtualized infrastructure.

  • Take a look at my Home Lab w/ Capacity View. Be sure to include the referral from kendrickcoleman [@] gmail [dot] com for validation(without the brackets of course).

vSphere Mini Monitor 2.0 – VMM will now monitor a large number of changes to multiple objects within the vCenter environment

vAlarm – Windows based application which monitors alarms generated by VMware vCenter.

Vdisk Waste Finder – report which disks are over-allocated

VMTurbo Virtual Health Monitor – a complete suite of Virtual Infrastructure Monitoring capabilities that also includes reporting. Seen many times on the top 10 Free Tools edition.

IgniteFreeVM – pinpoints the root cause of database performance issues in the query, virtual server, or physical host

Veeam Extended Generic Report Library – gives you the ability to analyze the health and performance of infrastructure objects without being limited to physical or virtual environments, or specific management packs for Microsoft System Center reporting

Veeam ONE Free Edition – Free powerful and easy-to-use monitoring and reporting. Combination of the previous Monitor and Business View products

SolarWinds Storage Response Time Monitor – Identifies VMs With High Storage Latency

MindArray Monitoring – free vSphere monitoring for up to 5 hosts

ManageEngine Free VM Configuration Tool – Configure VMware Virtual server (VM) resources such as CPU, RAM, execute Power operations and change the name of the VM’s using the free VMware Configuration Tool. Monitor CPU usage and view memory, provisioned storage, and network adapter details of VMware host server and its VMs. (not tested with latest vSphere releases)

ManageEngine VM Health Monitor Free Tool – Monitor VMware Esx and Esxi servers using VM Health Monitor Tool. This tool helps monitor disk read/write and network Rx/ Tx for virtual servers along with CPU and memory utilization for each guest OS. You can monitor two VMware servers simultaneously. (not tested with latest vSphere releases)


Backup & Recovery

Thinware vBackup – an actual FREE backup solution for virtual infrastructure that can be easily implemented in any environment.

Veeam Backup & Replication (2 socket license) – If you are a VMware vExpert, VMware Certified Professional (VCP), VMware Certified Instructor (VCI) or VMware User Group (VMUG) member, you can get a FREE 2-socket NFR license for your home or work lab.

Unitrends Enterprise Backup™ Free Edition – Free Edition to protect 4 VMs for free

VeeamZIP – Backup, archive or copy a VM—without pausing or powering it off. Restore data from inside a VM. Migrate and manage VMs and files

Trilead VM Explorer – Backup & Restore & Browse for ESX virtual machines

33Hops XSIBackup – Backup System for ESXi – XSIBackup will copy your virtual machines to a defined backup device in ESXi Hypervisor

SLYM Software vSphere Configuration Backup – an automating tool for saving configurations of multiple ESXi and SQL databases.

PHDVirutual Disaster Recovery Time Actual Calculator – with the use of snapshotting and linked clonesthe tool powers up the VMs and times the process, calculating the total time it will take to recover your VMs. Read my blog post about it at What’s Your RTO? Check out this new free tool


vCenter Plug-Ins

vSphere Plugin Wizard 2.0 – create a tabbed plugin of your favorite website or admin page inside vCenter

sshAutoConnect vCenter Plug-in – creates a direct SSH icon to your ESXi hosts using PuTTy

Auto Deploy GUI – a front end interface to the Auto Deploy/Stateless infrastructure (now a VMware Fling)

vCloud Connector – lets you view, operate on and transfer your computing resources across vSphere and vCloud Director in your private cloud environment as well as public clouds from vCloud Service Providers. Walkthru provided by Chris Colotti

VMware vCenter Support Assistant – provides an easy-to-use, secure, one-stop shop BOTH for creating and managing service requests AND generating and uploading logs.


Scripting tools

PowerGUI – a GUI for all those neat powershell scripts 🙂

PowerGUI VMware Community PowerPack – everything from the VESI PowerPack v3 and much much more!

vGhetto – a nice consolidation of all the scripts written by William Lam and some members of the VMTN community (VMware vSphere CLI & Perl)

Image Builder & Auto Deploy Powerpack – a PowerGUI Powerpack which enables us as VMware admins to have a graphical interface to Image Builder and Auto Deploy which are currently released as PowerShell snap-ins only.

DoubleCloud Proxy – Code Generator for vSphere Java API. Similar to Onyx by VMware Labs.

PHP with vSphere5 Examples – contains examples of PHP code to communicate with vSphere using the vSphere API. it contains the nusoap library files and a small vc_lib file.

vCloud Director REST API Shell (RAS) – provides an alternative interface for interacting with vCloud Director. Rather than using a web browser, this Fling allows you to interact with vCloud Director through the command-line using a small python script.

PAPI, the Performance API project – specifies a standard application-programming interface (API) for accessing hardware performance counters available on most modern microprocessors.

Ruby vSphere Console (RVC) – is a Linux console UI for vSphere, built on the RbVmomi bindings to the vSphere API. RVC is a console UI for VMware ESX and VirtualCenter.

PowerCLI GUI to edit VM hardware version 10 – A .NET like graphical user interface (GUI) in PowerCLI from which perform all operations for VM editing without using the vSphere Web Client


Free tools brought to you by VMware

VMmark – Get an accurate measurement of application performance in virtualized environments with VMmark, the industry’s first virtualization benchmark for x86-based computers

vCenter Converter – of course we all know this appliance for easy P2V migrations

vSphere Management Assistant – allows administrators and developers to run scripts and agents to manage ESX/ESXi and vCenter Server systems.

PowerCLI – a powerful command line tool that lets you automate all aspects of vSphere management, including network, storage, VM, guest OS and more.

VMware Support Toolbar – have a direct way for all the necessary links, downloads, RSS feed news for all things from VMware. Compatible w/ Firefox, IE, and Safari

VMware SiteSurvey – Produces a report showing hardware compatibility and software configuration compatibility with advanced VMware features such as Fault Tolerance.

CPU Identification Utility – Displays CPU features for VMotion compatibility, EVC and indicates 64-bit VMware support.

VMware Studio – an integrated development tool that packages software applications into virtual appliances and vApps that are ready to run and optimized for VMware product platforms and the cloud.

VMware vCenter Update Manager 4.1 Sizing Estimator – get the right answer to your question whether to install the VMware vCenter Update Manager database on the same DB as vCenter DB or not. And also if yes or not to install VUM at the same host as the vCenter Server host

VMware Compliance Checker for vSphere – Check the compliance of your IT infrastructure against specific standards and best practices that are applicable for the environment

VMware vCenter Orchestrator Appliance – Begin automating your vSphere environment

Wavemaker – a rapid application development environment for building, maintaining and modernizing business-critical Web 2.0 applications

VMware Posters – VMware posters which were created by Technical Marketing and have been released at VMworld and VMUGs around the world


Free Tools From VMware Labs

Apache Pivot – Like most modern development platforms, Pivot provides a comprehensive set of foundation classes that together comprise a “framework”. These classes form the building blocks upon which more complex and sophisticated applications can be built.

Dynamo RIO – exports an interface for building dynamic tools for a wide variety of uses: program analysis and understanding, profiling, instrumentation, optimization, translation, etc.

esxplot –  GUI based tool that lets you explore the data collected by esxtop in batch mode.

Onyx –  standalone application that serves as a proxy between the vSphere Client and the vCenter Server. It monitors the network communication between them and translates it into an executable PowerShell code. Later this code could be modified and saved into a reusable function or script.

SVGA Sonar – demo application for SVGADevTap

vApprun – vApp features become available to both Workstation and Fusion users

vCMA –  VMware vCenter Mobile Access (vCMA) – vCMA allows you to monitor and manage VMware Infrastructure from your mobile phone with an interface that is optimized for such devices.

VGC – VMware Guest Console, too many cool things to list

VI Java – vSphere Java API is a set of Java libraries that sits on top of existing vSphere SDK Web Services interfaces

Virtual USB Analyzer – free and open source tool for visualizing logs of USB packets, from hardware or software USB sniffer tools

Weasel – insert the ESX Installation DVD, this program guides you through the steps of network configuration, disk selection, etc. Or it can perform an automated install based on a script similar to Redhat kickstart scripts.

IOBlazer – a multi-platform storage stack micro-benchmark.

PXE Manager for vCenter – enables ESXi host state (firmware) management and provisioning

Thinapped vSphere Client – Run vSphere client 4.1 in a snap. No install, just download the EXE and double-click.

vCenter XVP Manager and Converter – provides basic virtualization management capabilities for non-vSphere hypervisor platforms towards enabling centralized visibility and control across heterogeneous virtual infrastructures

VMware Auto Deploy – supports automatic PXE boot and customization of large numbers of ESXi systems

Boomerang – allows you to use multiple vSphere servers simultaneously

I/O Analyzer – a simple and standardized way of measuring storage performance in a VMware vSphere virtualized environments.

ESX System Analyzer – help administrators plan a migration from ESX to ESXi

CloudCleaner – It selectively (or completely) removes all vCD-created virtual machines, resource pools, network pools, and networks. It can also unprepare hosts that have been prepared by vCD.

InventorySnapshot – allows a user to “snapshot” a given vCenter inventory configuration and then reproduce it.

vCD-nclient – aims to be a quick start for using the new Notifications feature in vCloud Director v1.5.

Auto Deploy GUI – a front end interface to the Auto Deploy/Stateless infrastructure

SilverLining – allows you to build a simplified interface for vCloud Director that works from any modern web-browser that supports HTML5, CSS and Javascript

Lctree – designed for the visualization of linked clone VM trees created by VMware vCloud Director.

VCD-nclient – a quick start for using the Notifications feature in vCloud Director

ThinApp Factory – brings centralized administration and automation to the process of creating virtualized Windows applications with VMware ThinApp technology

VMware OS Optimization Tool – helps optimize Windows 7 desktops for use with VMware Horizon View. The optimization tool includes customizable templates to enable or disable Windows system services and features, per VMware recommendations and best practices, across multiple systems.

VisualEsxtop – is an enhanced version of resxtop and esxtop. VisualEsxtop can connect to VMware vCenter Server or ESX hosts, and display ESX server stats with a better user interface and more advanced features.

Statsfeeder – is a tool that enables performance metrics to be retrieved from vCenter and sent to multiple destinations, including 3rd party systems.

ESXi Google Authenticator – is a project that provides two-factor authentication by using both a PAM (Pluggable Authentication Module) module and a mobile application for generating one-time passcodes.

View Pool Manager – is a Fling that allows VMware View administrators to easily manage users across desktop pools and security groups.

DrmDiagnose – attempts to make this easier by providing resource management recommendations based on inventory dumps of the existing environment. It compares the current resource demands of a VM and suggests changes to the resource allocation settings to achieve the performance you are looking for. It will also let you know how it impacts the other VMs.

vCloud Director REST API Shell (RAS) – provides an alternative interface for interacting with vCloud Director. Rather than using a web browser, this Fling allows you to interact with vCloud Director through the command-line using a small python script.

vCenter 5.1 Pre-Install Check Script – PowerShell script written to help customers validate their environment and assess if it is ready for a 5.1.x upgrade. The script checks against known misconfiguration and issues raised with VMware Support.

Makyo – lets you copy virtual machines and vApps from one vCenter Server to another using a wizard in the vSphere Web Client.

Controlled Recompose of a VMware View Linked Clone Pool of Virtual Desktops – It first identifies a free desktop and recomposes it to create the first Replica Desktop.

Lctree – is a tool designed for the visualization of linked clone VM trees created by VMware vCloud Director.

PAPI, the Performance API project – specifies a standard application-programming interface (API) for accessing hardware performance counters available on most modern microprocessors.

Guest Reclaim – reclaims dead space from NTFS volumes hosted on a thin provisioned SCSI disk.

vBenchmark measures the performance of a VMware virtualized infrastructure across three categories: Efficiency, Operational Agility, Quality of Service

InventorySnapshot – allows a user to “snapshot” a given vCenter inventory configuration and then reproduce it.


VMware View

vAudit 1.5 – a utility for VMware View environments (3.01 and 3.1). The tool will display when your users are logging in to their virtual machines and it can also display and unsuccessful login attempts

VDI Calculator – VDI calculator is targeted for VMware View designs, however you can use the calculator for any VDI running on top of vSphere infrastructure

Quest vWorkspace Desktop Optimizer – 40 optimizations to tweak your golden image.

PCoIP Log Viewer 2.0 – provides capabilities to visualize and analyze PCoIP performance metrics collected from PCoIP server log files and real-time WMI counters.

TS Tweaker – This Application will allow you to tweak some common registry changes to optimise Terminal Server

VMware OS Optimization Tool – helps optimize Windows 7 desktops for use with VMware Horizon View. The optimization tool includes customizable templates to enable or disable Windows system services and features, per VMware recommendations and best practices, across multiple systems.

Controlled Recompose of a VMware View Linked Clone Pool of Virtual Desktops – It first identifies a free desktop and recomposes it to create the first Replica Desktop.

VDI (Display) Protocol Calculator – calculator from Andre


Virtual Storage Appliances (VSA)

Celerra UBER VSA v3 – A VSA of EMC’s Celerra

UBER VNX (NFS) v1 – A VSA of EMC’s VNX currently only working with NFS

Nexenta – VSA of Nexenta

NetApp VSA – must login to your NetApp Account to download and must be a NetApp customer

OpenFiler – OpenFiler – Download the best up-to-date appliance here -> Openfiler 2.99 ESA in a VMware vSphere Virtual Appliance.

FreeNAS – FreeNAS

StarWind Free Edition – iSCSI SAN with Deduplication

FalconStor Virtual SAN appliance – a feature-limited edition of the FalconStor Network Storage Server (NSS) Virtual Appliance.

QuadStor – Enterprise Ready Open Source Storage Virtualizatio


Visio Stencils

VMware vSphere Visio Stencils from Maish- Box Shots, Icons, and Products. Get them all here.

Presentation Pack by Xtravirt – 350 high quality icons to superbly illustrate any virtualization solution

Veeam Stencils – free collection of VMware and Hyper-V virtualization Visio stencils

VCE Vblock Visio Stencils – free Vblock Visios

VisioCafe – This site has probably every single Visio you need for your entire datacenter


Troubleshooting VMware snapshots

Post source techtarget

Virtualization administrators can use snapshots in vSphere to travel back in time and figure out what went wrong with their virtual machines (VMs). In part one of this series, I discussed how to use VMware snapshots. In part two, I explained how to delete snapshots without wasting disk space. But what do you do when your snapshots start acting funny? In this tip, we’ll troubleshoot potential problems that may come up when using snapshots in vSphere.

Locating VMs that have snapshots
Finding out which VMs have snapshots can be challenging. In VMware Infrastructure 3, there wasn’t a centralized, built-in way to accomplish this task in the vSphere Client or vCenter Server. You had to use methods, such as scripts and command-line utilities, that made locating snapshots difficult. But there were some enhancements in vSphere that made locating snapshots much easier. Here are a few of the methods that you can use.

Method 1: Find command
Use the find command in the ESX service console or ESXi Tech Support Mode

  1. Log in to the console.
  2. Change to your /vmfs/volumes/ directory.
  3. Type find -iname “*-delta.vmdk” -mtime +7 -ls to find snapshot files that have not been modified in seven days or simply find -iname “*-delta.vmdk” to find all snapshot files.

Method 2: Use the Storage View in vCenter Server
The Storage View, part of a new Storage Monitoring and Reporting plug-in that comes with vCenter Server, shows information related to storage in vSphere. When you select an object in the left pane of the vSphere Client, you can select the Storage View tab in the right pane and view storage information related to that object. One of the columns that you can view is Snapshot Space — which is the total size of all snapshot-related files, including the -delta.vmdk, .vmsd and .vmsn files.

By selecting an object, such as Cluster or Datacenter, and sorting the Snapshot Space field, you can view the size of any VM snapshot that exists under that object. VMs that haven’t had a snapshot will show 0 bytes. Once a snapshot of a VM is taken, it will still show a very small size (around 40 bytes), which is from the residual text left in the .vmsd file.

Method 3: Use alarms in vCenter Server
You can configure a vCenter Server alarm to trigger when a VM snapshot size reaches a predetermined gigabyte threshold. You can also set alarms at any virtualization level — from a single VM to the top vCenter Server level. These alarms will keep you informed of snapshot growth, so you can take action, if needed.

Method 4: Use a PowerShell script
The Get-Snapshot command, part of vSphere PowerCLI, can query VM snapshot information. You can use it in scripts to produce reports on VMs that have active snapshots. There are several, free PowerShell scripts that you can download and run periodically, such asSnapReminderyadr — A vdisk reporter and Snapshot List. You can also set the scripts to run automatically.

Dealing with snapshots that don’t delete properly
Occasionally, a snapshot will not delete properly, leaving an active snapshot for a VM. This situation can happen when using backup applications or deleting snapshots through Snapshot Manager. In most cases, the snapshot will not appear in the Snapshot Manager. The only indication that a snapshot may still exist is the presence of delta files in the VM’s directory.

If you have a snapshot running that is not in Snapshot Manager, you can attempt to delete it in one of two ways. First, create a new snapshot using the vSphere Client and delete all snapshots from the snapshot manager after the new one has been created. Alternatively, use the ESX service console or vSphere CLI. Switch to the VM’s home directory and create a new snapshot by typing vmware-cmd createsnapshot . Wait for the snapshot to be created and type vmware-cmd removesnapshots. When it completes, see if the delta files have been deleted. If they have, then it was successfully completed.

If the delta files weren’t deleted, check the VMX file for the VM and locate the lines starting with scsi. If the VM is configured with only one virtual disk, it is usually scsi0:0. (If .present is false, it is a non-existent drive that you can ignore.) The .fileName should be using the original disk file that was created with the VM and it’s usually the same name as your VM. If this is the case, then your VM is not using the snapshot files. If it has a -00000# in the filename, it is currently using a snapshot file.

To be clear, a VM with no snapshots displays the following: scsi0:0.present = “true” scsi0:0.fileName = “myvmname.vmdk”. And a VM with snapshots will display the following: scsi0:0.present = “true” scsi0:0.fileName = “myvmname-000001.vmdk”

If the above operation failed, your other options are to either clone the VM or clone the VM’s disk file. To clone the VM, you can either use the clone function in vCenter Server or the standalone vCenter Converter application. When it’s completed, shut down and delete the old VM.

Another method is to shut down the VM. Log in to the ESX Service Console or ESXi Tech Support Mode. Then, switch to the VM’s directory and clone the VM’s disk file, using vmkfstools and specifying the snapshot file as the source disk (i.e. “vmkfstools –i myvmname-000001.vmdk myvmnamenew.vmdk”).

Next, go into the settings for the VM. Remove (don’t delete) the hard disk. Then, add a new hard disk and browse to the newly created disk file. Power on the VM and verify everything is working before you delete the old disk and delta files.

Changing snapshot file locations
By default, the snapshots are written to the home directory of each virtual machine. You may want to change this location, as to not take up space on the volume that your VM resides. It is possible to individually specify a new working directory for snapshots on each VM. Both snapshots and .vswp files are written to this directory when you choose this method.

Be warned: If the VM is on shared storage and you specify local storage as a location, you will not be able to use features that move VMs between hosts, such as vMotion, High Availability and Distributed Resource Scheduler. To do this, follow these steps:

  1. Power off your VM and log in to the ESX service console or ESXi Tech Support Mode.
  2. Edit the VMX file of your VM with the nano (ESX only) or vi (ESX/ESXi) editor.
  3. Add a new line, using the following syntax: workingDir=”/vmfs/volumes/SnapVolume/Snapshots/”
  4. If you want your .vswp file to stay in the VM’s directory, add the following line to the VMX file: sched.swap.dir = “/vmfs/volumes/VM-Volume1/MyVM/”. This step is optional. Furthermore, do not worry about updating the existing “sched.swap.derivedName” parameter, because it is generated by the VM and written to the configuration file each time the VM powers on.
  5. Power on your VM, and your .vswp, .vmsn and snapshot (delta-vmdk) files will now be located in this directory.

Using vMotion and Storage vMotion with snapshots
Using vMotion to migrate a VM to a different host is supported and all existed snapshots are retained. If you try to vMotion a VM with running snapshots from one host to another, however, you will receive the following warning: “Reverting to snapshot would generate error (warnings) on the destination host.” In other words, the migration wizard cannot verify the compatibility of the virtual machine state in the snapshot with the destination host.

Because the compatibility cannot be verified, a failure could occur if the VM configuration in the snapshot uses devices or virtual disks that are not accessible on the destination host. A failure can also occur if the snapshot contains an active VM state that was running on virtual hardware and it’s incompatible with the destination host CPU.

Using Storage vMotion to move a VM to another disk location is not supported, initially. To use it, you must first delete all the snapshots on a VM. Alternately, you can power the VM off and perform a cold migration to another disk location.

Using Fault Tolerance with snapshots
VM snapshots are not supported on VMs that use Fault Tolerance (FT). As a result, backing up FT-enabled VMs can be tricky, because many backup applications rely on VM snapshots.

Look at alternative backup methods, such as traditional OS backup agents that run inside the VM, cloning VMs and then backing up the clones, temporarily disabling FT when running backups on the VM or using storage snapshots to backup the VM’s data store.

Fault Tolerance can be controlled via PowerShell scripts, so you can run pre-backup scripts to temporarily disable FT. That way, a backup application can take a snapshot. Then, a post-backup script can re-enable FT.

Understanding the files that make up a VMware virtual machine

Post source techtarget

VMware admins should know the components of virtual machines. Understanding the files that make up a virtual machine can help admins decide what files are unnecessary and clean them out, and ease other management tasks.

Once you understand virtual machines (VMs) from a hardware perspective, you can study the components that make up a VM on an ESX/ESXi host. These are the various VMware file types associated with a VM, located in the VM’s directory on the host (represented in the illustration below).


VMware virtual machine files are organized in the Virtual Machine File System (VMFS). If you look at the list of files associated with the VM — use an SCP-based tool or follow VMware’s recommendations — you’ll notice that most of the files start with the actual name of the VM, followed by different file extensions that denote the file type. You may not see all of the possible file types in the VMFS until your VM is in a certain state. For example, the .vswp file is only present when the VM is powered on and the .vmss file is only present when a VM is suspended. Below is a typical VM directory listing (using WinSCP).

So what are all these VMware file types and what are they used for? Here’s each file type in detail.

The .nvram file. This small file contains the BIOS that is used when the VM boots. It is similar to a physical server that has a BIOS chip that lets you set hardware configuration options. A VM also has a virtual BIOS that is contained in the NVRAM file. The BIOS can be accessed when a VM first starts up by pressing the F2 key. Whatever changes are made to the hardware configuration of the VM are then saved in the NVRAM file. This file is in binary format and if deleted it will be automatically re-created when a VM is powered on.

The .vmx file. This file contains all of the configuration information and hardware settings of the virtual machine. Whenever you edit the settings of a virtual machine, all of that information is stored in text format in this file. This file can contain a wide variety of information about the VM, including its specific hardware configuration (i.e., RAM size, network interface card info, hard drive info and serial/parallel port info), advanced power and resource settings, VMware tools options, and power management options. While you can edit this file directly to make changes to a VM’s configuration, don’t do this unless you know what you are doing. If you do make changes directly to this file, make a backup copy first.

VMDK files. All virtual disks are made up of two files, a large data file equal to the size of the virtual disk and a small text disk descriptor file, which describes the size and geometry of the virtual disk file. The descriptor file also contains a pointer to the large data file as well as information on the virtual disks drive sectors, heads, cylinders and disk adapter type. In most cases these files will have the same name as the data file that it is associated with (i.e., myvm_1.vmdk and myvm_1-flat.vmdk). You can match the descriptor file to the data file by checking the Extent Description field in this file to see which -flat, -rdm or -delta file is linked to it. 

The different types of virtual disk data files that can be used with VMware virtual machines are:

  • The -flat.vmdk file
    This is the default large virtual disk data file that is created when you add a virtual hard drive to your VM that is not an RDM. When using thick disks, this file will be approximately the same size as what you specify when you create your virtual hard drive. One of these files is created for each virtual hard drive that a VM has configured, as shown in the examples below.


  • The -delta.vmdk file
    These virtual disk data files are only used when making snapshots. When a snapshot is created, all writes to the original -flat.vmdk are halted and it becomes read-only; changes to the virtual disk are then written to these -delta files instead. The initial size of these files is 16 MB and they are grown as needed in 16 MB increments as changes are made to the VM’s virtual hard disk. Because these files are a bitmap of the changes made to a virtual disk, a single -delta.vmdk file cannot exceed the size of the original -flat.vmdk file. A delta file will be created for each snapshot that you create for a VM and their file names will be incremented numerically (i.e., myvm-000001-delta.vmdk, myvm-000002-delta.vmdk). When the snapshot is deleted, these files are automatically deleted after they are merged back into the original flat.vmdk file.


  • The -rdm.vmdk file
    This is the mapping file for the raw device mapping (RDM) format that manages mapping data for the RDM device. The mapping file is presented to the ESX host as an ordinary disk file, available for the usual file system operations. However, to the VM, the storage virtualization layer presents the mapped device as a virtual SCSI device. The metadata in the mapping file includes the location of the mapped device (name resolution) and the locking state of the mapped device. If you do a directory listing, you will see that these files will appear to take up the same amount of disk space on the VMFS volume as the actual size of the LUN that it is mapped to, but in reality they just appear that way and their size is very small. One of these files is created for each RDM that is created on a VM.

The .vswp file. When you power on a VM, a memory swap file is created that can be used in lieu of physical host memory if an ESX host exhausts all of its physical memory because it isovercommitted. These files are created equal in size to the amount of memory assigned to a VM, minus any memory reservations (default is 0) that a VM may have set on it (i.e., a 4 GB VM with a 1 GB reservation will have a 3 GB VSWP file created). These files are always created for virtual machines but only used if a host exhausts all of its physical memory. As virtual machine memory that is read/written to disk is not as fast as physical host RAM, your VMs will have degraded performance if they do start using this file. These files can take up quite a large amount of disk space on your VMFS volumes, so ensure that you have adequate space available for them, as a VM will not power on if there is not enough room to create this file. These files are deleted when a VM is powered off or suspended.

Virtual machines will lock the .vswp, -flat.vmdk and -delta.vmdk, .vmx and .log files during runtime.

The .vmss file. This file is used when virtual machines are suspended and is used to preserve the memory contents of the VM so it can start up again where it left off. This file will be approximately the same size as the amount of RAM that is assigned to a VM (even empty memory contents are written). When a VM is brought out of a suspend state, the contents of this file are written back into the physical memory of a host server, however the file is not automatically deleted until a VM is powered off (an OS reboot won’t work). If a previous suspend file exists when a VM is suspended again, this file is re-used instead of deleted and re-created. If this file is deleted while the VM is suspended, then the VM will start normally and not from a suspended state.

The .vmsd file. This file is used with snapshots to store metadata and other information about each snapshot that is active on a VM. This text file is initially 0 bytes in size until a snapshot is created. A VMSD file updates with information every time snapshots are created or deleted. Only one of these files exists regardless of the number of snapshots running, as they all update this single file. The snapshot information in a VMSD file consists of the name of the VMDK and VMSN file used by each snapshot, the display name and description, and the UID of the snapshot. Once your snapshots are all deleted, this file retains old snapshot information but increments the snapshot UID to be used with new snapshots. It also renames the first snapshot to “Consolidate Helper,” presumably to be used with consolidated backups.

The .vmsn file. This file is used with snapshots to store the state of a virtual machine when a snapshot is taken. A separate .vmsn file is created for every snapshot that is created on a VM and is automatically deleted when the snapshot is deleted. The size of this file will vary based on whether or not you choose to include the VM’s memory state with your snapshot. If you do choose to store the memory state, this file will be slightly larger than the amount of RAM that has been assigned to the VM, as the entire memory contents, including empty memory, is copied to this file. If you do not choose to store the memory state of the snapshot then this file will be fairly small (under 32 KB). This file is similar in nature to the .vmss that is used when VMs are suspended.

The .log file. LOG files are created to log information about the virtual machine and are often used for troubleshooting purposes. There will be a number of these files present in a VM’s directory. The current log file is always named vmware.log and up to six older log files will also be retained with a number at the end of their names (i.e., vmware-2.log). A new log file is created either when a VM is powered off and back on or if the log file reaches the maximum defined size limit. The amount of log files that are retained and the maximum size limits are both defined as VM advanced configuration parameters (log.rotateSize and log.keepOld).

The .vmxf file. This file is a supplemental configuration file that is not used with ESX but is retained for compatibility purposes with VMware Workstation. It is in text format and is used by Workstation for VM teaming where multiple VMs can be assigned to a team so they can be powered on or off, or suspended and resumed as a single object.

[Editor’s note: Article update in April 2013]

The .ctk file. VMware CTK files list any changes made to the VM between backups. This file describes the VMDK block and grows in proportion with the number of VMDK blocks. There is one CTK file per VMDK. Change tracking files originated with VMware’s Changed Block Tracking (CBT) technology for incremental backups. The CTK file stores information about what VM information blocks changed, avoiding unnecessary block backups. VMware snapshots also use .ctk files. Like .log and .nvram files, .ctk files are small. 

Other less-frequently seen file types include the .vmem virtual machine paging file and the .vmtm configuration file for team data. Like VMSN files, VMEM files back up a virtual machine’s memory. They exist when the VM is running or in the event of a VM crash. VMTM files support VM teams, a feature in VMware Workstation that allows a group of VMs to work together via a private LAN segment.

That covers all the files that are associated with a VMware VM, and you should have a better understanding of VM anatomy. Check out the VMs on your own VMware hosts to see the various files that make up these virtual machines. You might find a few surprises from old data that has not been properly cleaned up on VMFS volumes. Just be careful before you start deleting any files and make sure that the files you delete are no longer needed and not being used.


In Short and Brief

.VMDK — These files are the actual hard disk of the virtual machine itself, and tend to be the largest file within the folder. You can consider the size of this file to be roughly equivalent to the size of either the disk itself (if you’ve chosen to use preallocated disks) or the size of the data currently stored on that disk (if you use growable disks).

.NVRAM — Consider this file the BIOS of the virtual machine.

.VMX — With typically one VMX file per folder, this file holds the configuration information for the virtual machine in a text format. 

Unlike almost all the other files you’ll see, these files can be edited using any text editing program, a process that is actually required for some functionality that is not exposed in the GUI.

.VMXF — This file, in XML format, includes additional information about the virtual machine if it has been added to a team. If a machine has been added to a team and then later removed, this file remains resident. This file can also be opened and read in a text editor.

.VMTM — For virtual machines actively participating in a team, this file stores information about that team membership.

.VMEM — These files, which contain a backup of the VMs paging file, are typically very small or non-existent when the virtual machine is powered off, but grow immediately to the size of configured RAM when the machine is powered on.

.VMSN and .VMSD — When snapshots are created for a virtual machine, these files are created to host the state of the virtual machine. 

The VMSN file stores the running state of the machine, what you could consider the “delta” between the VMDK at the point of the snapshot and what has been processed up until the present time. The VMSD stores information and metadata about the snapshot itself.

.VMSS — If you’ve suspended the state of your machine, this file contains the suspended state of that machine. These files typically only appear when virtual machines have been suspended. 

.HLOG — If you have vMotioned the Virtual Machine, this file is created and can be safely deleted.

vCenter and Memory metrics

vCenter and Memory metrics
Post source avirtualworldblog

There are a couple of places where memory details are shown on a “VM level” within the vCenter client. The first tab that we will discuss is the Summary tab. It shows “General” and “Resources”. It appears that there is a lot of confusion around this topic and that probably comes from the fact that some of the Performance Metrics are named similarly but don’t always refer to the same.

Lets start with “General”:

In the screenshot above you can see 2 fields related to memory:

Memory (2048MB)
Memory Overhead (110.63MB)

The first one, Memory, is an easy one. This is the amount of memory you provisioned your VM with, in this case 2048MB. The second field is Memory Overhead. Memory Overhead is the amount of memory the VMkernel thinks it will need to run the virtualized workload, in this case 110.63MB. This typicall would include things like page tables, frame buffers etc.

That brings us to the Resources sections:

This section shows again two fields related to memory:

Consumed Host Memory (1390.00MB)
Active Guest Memory (61.00MB)

Consumed and Active is where it becomes a bit less obvious but again it isn’t rocket science.Consumed Host Memory is the amount of physical memory that has been allocated to the virtual machine. This also includes things like memory overhead, that also means that Consumed can be larger than what has been provisioned. To make it a bit more complex it should be noted that in the “Performance Tab” the “Consumed” Counter doesn’t actually include Memory Overhead!

Active Memory more or less already explains it, it is what the VMkernel believes is currently being actively used by the VM. Now it should be pointed out here that this is an estimate calculated by a form of statistical sampling.

The second tab that contains details around memory is “Resource Allocation”. Looking at the tab I guess it is obvious that this one contains more details and is more complex than the summary tab:

The Memory section contains three sub-sections and I have carved them up as such:

The first section is the host memory:

Consumed (1.36GB)
Overhead Consumption (42.00MB)

Again, Consumed is the amount of machine memory currently allocated to the VM. In other words, out of the 2GB provisioned currently 1.36GB is being consumed by that VM. The Overhead Consumption is the amount of memory being consumed for the virtualization overhead, as you can see it is less than what the VMkernel expected to use as mentioned in the first screenshot. I guess you could do the math easily:
Consumed = Private + Overhead Consumption

Guest Memory

Private (1.32GB)
Shared (700.00MB)
Swapped (0.00MB)
Compressed (0.00MB)
Ballooned (0.00MB)
Unaccessed (1.00MB)
Active (102.00MB)

This is the part where it gets slightly more complicated. Private is the amount of memory that is physically backed by the Host. In other words 1.32GB is physically stored. Shared is the total amount of memory shared by TPS. Swapped, Compressed and Ballooned speak for itself in my opinion but lets be absolutely clear here. Swapped the amount of memory reclaimed by VMkernel swapping, Compressed is the amount of memory stored in the VMs compression cache andBallooned is the amount of memory reclaimed by the Balloon Driver. Ultimately all of these should be 0.

There’s one which I couldn’t really explain which is Unaccessed. The documentation describes it as “the amount of memory that has never been referenced by the guest”. Active is the amount of memory actively used, again it is an estimate done by statistical sampling. (Did you notice it changed from 61MB to 102MB.)

The last section is Resource Settings, I guess most are obvious (like Reservation, Limit, Configured, Shares) but the two that might not be are:

Worst Case Allocation (2.14GB)
Overhead Reservation (0.00MB)

Worst Case Allocation is the amount of memory that the virtual machine can allocate when ALL virtual machines consume the full amount of allocated resources. Basically when there is severe overcommitment this is what the VM will get in the worst possible case. This is also one of the key metrics to keep an eye on in my opinion. Especially when you are over-committing and over-provisioning your systems this metric will be a key-indicator. Overhead Reservation is the amount of Overhead Memory reserved, not much to say about that one.