Objective 6.2 of VCAP6-Deploy exam covers following topics:
- Adjust Virtual Machine properties according to a deployment plan:
- Network configurations
- CPU configurations
- Storage configurations
- Troubleshoot Virtual Machine performance issues based on application workload
- Modify Transparent Page Sharing and large memory page settings
- Optimize a Virtual Machine for latency sensitive workloads
- Configure Flash Read Cache reservations
We will discuss these topics one by one
Adjust Virtual Machine properties according to a deployment plan
This topic could mean a lot of things. A lot of information on this topic can be found in vSphere 6 Resource Management Guide. We will start with networking topic.
Networking Configurations
Esxi networking features provide communication between virtual machines on the same host, between virtual machines on different hosts, and between other virtual and physical machines. Virtual machines are equipped with vNIC’s and the type of vNIC is dependent on guest os chosen at the time of VM creation.
Typically used vNIC’s are:
- E1000E Emulated version of the Intel 82574 Gigabit Ethernet NIC.
- E1000 Emulated version of the Intel 82545EM Gigabit Ethernet NIC, with drivers available in most newer guest operating systems
- VMXNET Optimized for performance in a virtual machine and has no physical counterpart. Because operating system vendors do not provide built-in drivers for this card, you must install VMware Tools to have a driver for the VMXNET network adapter available.
- VMXNET 2 (Enhanced) Based on the VMXNET adapter but provides high-performance features commonly used on modern networks, such as jumbo frames and hardware offloads.
- VMXNET 3 A paravirtualized NIC designed for performance. VMXNET 3 offers all the features available in VMXNET 2 and adds several new features, such as multiqueue support (also known as Receive Side Scaling in Windows), IPv6 offloads, and MSI/MSI-X interrupt delivery. .
- SR-IOV passthrough Representation of a virtual function (VF) on a physical NIC with SR-IOV support. The virtual machine and the physical adapter exchange data without using the VMkernel as an intermediary. This adapter type is suitable for virtual machines where latency might cause failure or that require more CPU resources.
To change VM Networking: Right click on VM and edit settings. To add a new vNIC, select “Network” from the New Device list and click on Add
Expand the newly added Network card settings and from Adapter Type list select appropriate vNIC type
Note: You can’t change adapter type once it successfully added to a VM and you hit OK to close Edit settings window. The adapter type option will be grayed out
CPU configurations:
Following CPU related settings can be changed for a VM:
- Number of vCPU’s
- Core Per sockets
- Enable/Disable CPU hot add
- Configure resources (Reservation, limits and shares)
- Configure Processor Scheduling Affinity
- Change CPU Identification Mask Settings
- Change CPU/MMU Virtualization Settings
Storage Configurations
We can add a new disk in a running VM or we can expand the existing disk size whenever we need capacity expansion for a VM. Disk related settings such as thin provision/thick provision or shares/limits etc can be defined during virtual machine creation or after guest os is installed in VM.
VM data can be stored in a new virtual disk, an existing virtual disk, or a mapped SAN LUN.
Following disk related settings can be configured:
- Disk size
- Disk Type (Think/Thick)
- Configure Flash Read Cache: I wrote an article on this with steps.
- Configure shares
- Configure IOP’s limits
- Disk Mode (Dependent/Independent): Cormac Hogan has written an article on this.
- SCSI Controller type. A good article on this can be read from here
Memory Configurations
Following settings can be configured:
- Memory Size: Increasing/Decreasing size of RAM allocated
- Memory Reservation: Amount of physical RAM guaranteed to a VM
- Limit: Max amount of physical RAM that a VM can use.
- Shares: High/low/Normal. To learn more about this please read this article
- Memory Hot Plug: Enabling this option helps in increasing VM memory on the fly without shutting it down.
Troubleshoot Virtual Machine Performance Issues Based on Application Workload
When running applications in a virtualized environment there are times that we might encounter performance that is less than desirable. Troubleshooting performance issues is something that comes with experience and it’s not a thing that can be learned in a day or two.
VMware has published 2 very useful KB articles for troubleshooting performance issues:
KB-1008360: Troubleshooting virtual machine performance issues
KB-2001003: Troubleshooting ESX/ESXi virtual machine performance issues
Apart from esxtop and resxtop, there is one more tool named VisualEsxtop which is a performance monitoring tool and is available on VMware Labs Flings website. Installation instructions and how to run the tool are explained here by Sajjad Siddicky.
Altaro has published a wonderful blogpost on this topic.
Modify Transparent Page Sharing and large memory page settings
Transparent page sharing (TPS) is a mechanism where the vmkernel automatically identifies identical pages of virtual memory and consolidates them to a single physical memory page, in a manner that is transparent to the virtual machine guest operating system.
In vSphere 6, intra-VM TPS is enabled by default and inter-VM TPS is disabled by default, due to some security concerns as described in VMware KB 2080735. You can change the TPS behavior by applying the salting mechanism as described in VMware KB 2097593.
There are 2 settings on Esxi host that controls TPS behaviour: Mem.ShareScanTime and Mem.ShareScanGHz
These 2 settings control the rate at which the system scans memory to identify opportunities for sharing memory. To change these settings, select an Esxi host and navigate to Manage > Settings > Advanced Settings.
TPS can be disabled on individual VM’s by setting “sched.mem.pshare.enable” to False in configuration parameter.
Optimize a Virtual Machine for latency sensitive workloads
You can adjust the latency sensitivity of a virtual machine to optimize the scheduling delay for latency sensitive applications, Depending on the application you can choose from the following options:
- Low
- Normal
- Medium
- High
Examples of latency sensitive applications are VOIP or media player applications, or applications that require frequent access to the mouse or keyboard devices.
To change latency settings of a VM, right-click the virtual machine and click Edit Settings. Click VM Options and click Advanced. Select a setting from the Latency Sensitivity drop-down menu.
Configure Flash Read Cache reservations
This objective is already covered in my earlier post Configure and Manage vFRC
Additional Reading
VM performance troubleshooting checklist
VM Performance Checklist: Before you Complain that your Virtual Machine is Slow
Transparent Page Sharing, Salting, and Memory States
I hope you find this post informational. Feel free to share this on social media if it is worth sharing. Be sociable 🙂