IMPACT OF MEMORY RESERVATION
I have a customer who wants to set memory reservation on a large scale. Instead of using resource pools they were thinking of setting reservations on VM level to get a guaranteed performance level for every VM. Due to memory management on different levels, using such a setting will not get the expected results. Setting aside the question if it’s smart to use memory reservation on ALL VM’s, it raises the question what kind of impact setting memory reservation has on the virtual infrastructure, how ESX memory management handles memory reservation and even more important; how a proper memory reservation can be set. Key elements of the memory system Before looking at reservations, let’s take a look what elements are involved. There are three memory layers in the virtual infrastructure: • Guest OS virtual memory - Virtual Page Number (VPN) • Guest OS physical memory - Physical Page Number (PPN) • ESX machine memory - Machine Page Number (MPN) The OS inside the guest maps virtual memory ( VPN) to physical memory(PPN). The Virtual Machine Monitor (VMM) maps the PPN to machine memory (MPN). The focus of this article is on mapping physical page numbers (PPN) to Machine Page Number (MPN). Impact of memory management on the VM Memory reservations guarantee that physical memory pages are backed by machine memory pages all the time, whether the ESX server is under memory pressure or not. Opposite of memory reservations are limits. When a limit is configured, the memory between the limit and the configured memory will never be backed by machine memory; it could either be reclaimed by the balloon driver or swapped even if enough free memory is available in the ESX sever. Next to reservations and limits, shares play an important factor in memory management of the VM. Unlike memory reservation, shares are only of interest when contention occurs. The availability of memory between memory reservation and configured memory depends on the entitled shares compared to the total shares allocated to all the VMs on the ESX server. This means that the virtual machine with the most shares can have its memory backed by physical pages. For the sake of simplicity, the vast subject of resource allocation based on the proportional share system will not be addressed in this article. One might choose to set the memory reservation equal to the configured memory, this will guarantee the VM the best performance all of the time. But using this “policy” will have its impact on the environment. Admission Control Configuring memory reservation has impact on admission control . There are three levels of admission control; • Host • High Availability • Distributed Resource Scheduler Host level When a VM is powered on, admission control checks the amount of available unreserved CPU and memory resources. If ESX cannot guarantee the memory reservation and the memory overhead of the VM, the VM is not powered on. VM memory overhead is based on Guest OS, amount of CPUs and configured memory, for more information about memory overhead review the Resource management guide. HA and DRS Admission control also exist at HA and DRS level. HA admission control uses the configured memory reservation as a part of the calculation of the cluster slot size.The amount of slots available equals the amount of VM’s that can run inside the cluster. To find out more about slot sizes, read the HA deepdive article of Duncan Epping. DRS admission control ignores memory reservation, but uses the configured memory of the VM for its calculations. To learn more about DRS and its algorithms read the DRS deepdive article at yellow-bricks.com Virtual Machine Swapfile Configuring memory reservation will have impact on the size of the VM swapfile; the swapfile is (usually) stored in the home directory of the VM. The virtual machine swapfile is created when the VM starts. The size of the swapfile is calculated as follows:
NFS AND IP-HASH LOADBALANCING
My background is Fibre Channel and beginning 2009 I implemented a large iSCSI environment. The “other” storage protocol supported by VMware, NFS, is rather unknown to me. And to be honest I really tried to keep away from it as much as possible, thinking it was not a proper enterprise worthy solution. That changed this month as I was asked to perform a design review of an environment which relies completely of NFS storage. This customer decided to use IP-Hash as load-balancing policy for their NFS vSwitch, but what Impact does this have on the NFS environment?
UPGRADING TO SRM 4 AND SSL CERTIFICATES
Recently I started to work on a project implementing SRM 4. One of the project requirements is to use SSL certificates issued by a trusted CA. When upgrading to SRM 4, we ran into a small problem. Because of a change in the vCenter authentication protocol, a new certificate that complies with the new certificate content rules must be obtained. The requirements changed of the “Subject Alternative Name”, the SSL certificate issued for SRM 1 environments use the FQDN of the vCenter server host. In SRM 4 environments, the Subject Alternative Name field must contain the FQDN of the SRM server. This value will be different for each member of the SRM server pair. We installed the SRM server on a separate server, but If you have installed SRM on the vCenter server, then you do not need to acquire a new certificate.
LEFTHAND SAN – LESSONS LEARNED
Disclaimer: This article contains references to the words master and slave. I recognize these as exclusionary words. The words are used in this article for consistency because it’s currently the words that appear in the software, in the UI, and in the log files. When the software is updated to remove the words, this article will be updated to be in alignment. Please note that this article has been written in 2009. I do not know if Lefthand changed their solution. Please check with your HP representative for updates! I recently had the opportunity to deliver a virtual infrastructure that uses HP Lefthand SAN solution. Setting up a Lefthand SAN is not that difficult, but there are some factors to take into consideration when planning and designing a Lefthand SAN properly. These are my lessons learned.
TIMEKEEPING BEST PRACTICES FOR LINUX
VMware KB article 1006427 presents best practices for Linux timekeeping. These recommendations include specifics on the particular kernel command line options to use for the Linux operating system of interest. There is also a description of the recommended settings and usage for NTP time sync, configuration of VMware Tools time synchronization, and Virtual Hardware Clock configuration, to achieve best timekeeping results. What surprised me is the recommendation done by VMware; “Note: In all cases use NTP instead of VMware Tools periodic time synchronization” http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427
DEPLOYING VOLUMES WITH LEFTHAND (CLIQ)
Due to my extreme busy schedule I haven’t blogged for a while. Besides studying for VCDX and preparing for VMworld I’m also involved in a couple of projects. One project is designing and implementing a vSphere 4 virtual infrastructure. The VI will host an Exchange 2010 environment. Due to the size of my client’s environment, 192 TB is used for hosting mailboxes. These datastores will be available thru RDM, which means creating 192 1-TB volumes and assigning them to every ESX host in the cluster. I’ve tried to use the Centralized Management Console, but it’s tedious and error prone work. Mind numbing repetitive exercises makes me ask really dumb questions on twitter such as where did SCSI id 7 go? D’oh!. So to protect myself from further bashing and being ridiculed I started to search for the Lefthand CLI to be able to automate the creation and assignment of volumes on a Lefthand SAN.
DEPLOYING VOLUMES WITH LEFTHAND CLIQ
Due to my extreme busy schedule I haven’t blogged for a while. Besides studying for VCDX and preparing for VMworld I’m also involved in a couple of projects. One project is designing and implementing a vSphere 4 virtual infrastructure. The VI will host an Exchange 2010 environment. Due to the size of my client’s environment, 192 TB is used for hosting mailboxes. These datastores will be available thru RDM, which means creating 192 1-TB volumes and assigning them to every ESX host in the cluster. I’ve tried to use the Centralized Management Console, but it’s tedious and error prone work. Mind numbing repetitive exercises makes me ask really dumb questions on twitter such as where did SCSI id 7 go? D’oh!. So to protect myself from further bashing and being ridiculed I started to search for the Lefthand CLI to be able to automate the creation and assignment of volumes on a Lefthand SAN.
VMWORLD 2009 SESSIONS
After skipping both VMworld events in 2008 I’m attending the VMworld event in San Francisco. This is the first event after VMware released vSphere and I hope to see much in-depth information about the OS and it’s new features. Duncan Epping and Eric Sloof posted info about interesting sessions, so I started browsing the session catalog as well. The following sessions seems to be very interesting;
FLEX10 UPDATE
In my first post I had a question about the path data travels when sent to a “standby” virtual connect module. To quote my own question : “What will happen if the VMkernel decides to use that nic to send IO? Is the Flexnic aware of the standby status of it “native” uplink? Will it send data to the uplink of the VC module it’s connected to or will it send data to the active uplink? How is this done? Will it send the IO through the midplane or CX-4 cable to the VC module with the active uplink? And if this occurs what will be the added latency of this behavior? HP describes the standby status as blocked, what does this mean? Will virtual connect discard IO send to the standby IO, will it not accept IO and how will it indicate this?”
WINDOWS 2008 DISK ALIGNMENT
Due to many performance studies about disk performance it is well known that disk alignment for both VMFS partitions and NTFS file systems improve IO performance such as reduced latency and increased throughput. Alignment of VMFS partitions are done when configuring storage via the VI client but aligning NTFS partitions in Windows system prior to Windows 2008 is a manual task. Windows Server 2008 use a partition starting offset of 1,048,576 bytes (1,024 KB) for disk larger than 4GB. This provides a well enough alignment for most disks. According to the official documentation, windows 2008 uses a different partition starting offset for disks smaller than 4GB. Or as MS states in the document Performance Tuning Guidelines for Windows Server 2008 “Note that Windows Server 2008 defaults to a smaller power-of-two offset for small drives.” But which starting offset does W2K8 exactly use for smaller disks?