Setting the Congestion Threshold Value for Storage I/O Control

This is a great KB article from VMware worth reposting.  I’m going to start analyzing storage I/O more today on all the arrays I have and LUNs.  Article Source:  http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1019687

Setting the congestion Threshold Value for Storage I/O Control

Details

The congestion threshold value for a datastore is the upper limit of latency that is allowed for a datastore before Storage I/O Control begins to assign importance to the virtual machine workloads according to their shares. You do not need to adjust the congestion threshold setting in most environments.
CAUTION Storage I/O Control will not function correctly unless all datatores that share the same spindles on the array have the same congestion threshold.

Solution

 If you do change the threshold setting, set the value based on the following considerations.
  • A higher value typically results in higher aggregate throughput and weaker isolation. Throttling will not occur unless the overall average latency is higher than the threshold
  • If throughput is more critical than latency, do not set the value too low. For example, for Fibre Channel disks, a value below 20 ms could lower peak disk throughput. On the other hand, a very high value (above 50 ms) might allow very high latency without any significant gain in overall throughput.
  • A lower value will result in lower device latency and stronger virtual machine I/O performance isolation. Stronger isolation means that the shares controls are enforced more often. Lower device latency translates into lower I/O latency for the virtual machines with the highest shares, at the cost of higher I/O latency experienced by the virtual machines with fewer shares.
  • If latency is more important, a very low value (lower than 20 ms) will result in lower device latency and better isolation among IOs at the cost of a decrease in aggregate datastore throughput.

Procedure

  1. Select a datastore in the vSphere Client inventory and click the Configuration tab.
  2. Click Properties.
  3. Under Storage I/O Control, select the Enabled check box.
  4. Click Advanced to edit the congestion threshold value for the datastore. The value must be between 10 and 100. You can click Reset to restore the congestion threshold setting to the default value (30 ms).
  5. Click Close.
For more information see the section “Managing Storage I/O Resources” on the “vSphere Resource Management Guide” (pdf) http://www.vmware.com/support/pubs/.

End of Availability of VMware ESX 4.x

  Dear Valued Customer,
VMware is announcing an End of Availability (“EoA”) date for VMware vSphere®   ESX hypervisor 4.x and for VMware Management Assistant (“vMA”) versions 1 and   4. The end of   availability date is August 15, 2013. This is a follow-on   communication to the general announcement made in July 2011 in connection   with the launch of vSphere 5.0.
This notification has NO IMPACT on existing vSphere ESXi 4.x   environments, and customers are NOT required to take any action.   However, it is recommended that customers make a backup or keep an archived   copy of these binaries and generate any necessary license keys in order to   maintain or expand a vSphere ESX hypervisor version 4.x or vMA versions 1 and   4 environment. These steps should be completed prior to August 15, 2013.   VMware will not provide any binaries or license keys for vSphere ESX   hypervisor 4.x or vMA versions 1 and 4 after August 15, 2013.
Additional information can be found at:
www.vmware.com/go/esx-end-of-availability
Please note:

  • vSphere ESX hypervisor 4.X and vMA support lifecycle
    The end of support life (“EOSL”) date remains May 21, 2014. VMware’s        support lifecycle page can be found at: www.vmware.com/support/policies/lifecycle/enterprise-infrastructure/eos.html
  • Customer’s ability to use the binaries of vSphere ESX        hypervisor 4.x or vMA versions 1 and 4 past August 15, 2013
    Customers retain the ability to use licensed binaries past the EoA or        EOSL dates. However, they will not be able to download binaries or        generate new license keys after the EoA date or obtain technical support        and subscription after the EOSL date.
  • vSphere ESXi 4.X availability and support – There is NO impact
  • vMA 4.1, 5, or 5.1 availability and support for all        versions – There is        NO impact

Can't Bind Windows 2008 R2 VM to Interface for DHCP

UPDATE: I had originally thought I had resolved this by removing/re-adding the adapter. Turns out the issue reappeared this morning. After more researching, I found that it was caused by WDS! Since I no longer need WDS for testing, I have disabled the service. Went into bindings for DHCP and checked the interface with the static IP and it kept the setting. NOW DHCP should be working permanently. =)

Ran into a weird issue this morning when moving DHCP from an ASA to a 2008 R2 virtual machine on VMware ESX 4.1. The 2008 R2 machine had a standard network, static, adapter. The DHCP server role installed fine. I could not bind the DHCP server to the interface though! I restarted the VM a few times while troubleshooting then decided to yank currently installed adapter out (uninstalled from 2008 R2 first, then removed from VM via vSphere client).

I added a VXNET3 adapter, re-assigned the IP address it previously had then restarted DHCP server. I immediately saw the DHCP server bind to the interface.

Just a strange issue.

A few notes on Guest Virtual Machine Memory Ballooning

Looking over some of my Windows 2008 R2 servers, I notice via Task Manager that their memory is 90%+ quite often.

Using Sysinternal’s RAMMap tool, I can quickly identify if this is due to ballooning.

Here’s a screenshot showing that 2.2GB of RAM is driver-locked (e.g., ballooned using the VMware Tools driver vmmemctl).

Using vSphere Client, I check to see the performance of this VM to confirm if this is ballooned memory and what the actual memory usage is currently.

You can see that it is indeed ballooning nearly 2GB of RAM on this VM and the Guest VM is actively using only a little over 1GB of RAM.

To control how much memory the VM will balloon, you can set sched.mem.maxmemctl parameter in the virtual machine’s .vmx configuration file. (Reference: VMware KB1003586MSDN Lock Pages in Memory VirtualLock)

The above KB mentioned is a good starting point for assisting troubleshooting Guest VMs that pin pages in memory (Lock Pages – using SQL with LPIM enabled?).

Get VM Extra Configuration Details

Add-PSSnapin VMware.vimautomation.core
Connect-VIServer -server 10.10.10.1 -user "user" -password "luser"
(get-vm -name "ZEUS").extensiondata.config.extraconfig | sort key | format-table

Example Output

Key                            Value                          DynamicType                    DynamicProperty
---                            -----                          -----------                    ---------------
ethernet0.pciSlotNumber        32
evcCompatibilityMode           true
guestCPUID.0                   0000000b756e65476c65746e496...
guestCPUID.1                   000106a400010800809822010fe...
guestCPUID.80000001            000000000000000000000001281...
hostCPUID.0                    0000000b756e65476c65746e496...
hostCPUID.1                    000206e60020080000bce3bdbfe...
hostCPUID.80000001             000000000000000000000001281...
nvram                          ZEUS.nvram
pciBridge0.pciSlotNumber       17
pciBridge0.present             true
pciBridge4.functions           8
pciBridge4.pciSlotNumber       21
pciBridge4.present             true
pciBridge4.virtualDev          pcieRootPort
pciBridge5.functions           8
pciBridge5.pciSlotNumber       22
pciBridge5.present             true
pciBridge5.virtualDev          pcieRootPort
pciBridge6.functions           8
pciBridge6.pciSlotNumber       23
pciBridge6.present             true
pciBridge6.virtualDev          pcieRootPort
pciBridge7.functions           8
pciBridge7.pciSlotNumber       24
pciBridge7.present             true
pciBridge7.virtualDev          pcieRootPort
replay.supported               false
sched.swap.derivedName         /vmfs/volumes/500d986f-e408...
scsi0.pciSlotNumber            160
scsi0.sasWWID                  50 05 05 65 7f 15 c3 70
scsi0:0.redo
scsi0:1.ctkEnabled             false
scsi0:1.redo
snapshot.action                keep
userCPUID.0                    0000000b756e65476c65746e496...
userCPUID.1                    000206e600200800009822010fe...
userCPUID.80000001             000000000000000000000001281...
virtualHW.productCompatibility hosted
vmci0.pciSlotNumber            33
vmotion.checkpointFBSize       4194304
vmware.tools.installstate      none
vmware.tools.internalversion   0
vmware.tools.lastInstallStatus unknown
vmware.tools.requiredversion   8300