Objective 3.1 - Create and Administer Complex DRS Clusters Print E-mail
Written by Matthijs van den Berg   
Monday, 16 March 2009 13:06

KNOWLEDGE


  • Demonstrate the use or resource pools and child pools with DRS clusters
    Resource pools; to simplify control over the resources of a host, and clusters, to aggregate and manage the combined resources of multiple hosts as a single collection. VMware Infrastructure virtualizes and aggregates industry- standard servers (processors, memory, their attached network and storage capacity) into logical resource pools (from a single ESX Server host or from a VMware cluster) that can be allocated to virtual machines on demand. Resource pools can be nested and organized hierarchically so that  the IT environment matches company organization. In addition, individual business units can receive dedicated infrastructure while still profiting from the efficiency of resource pooling.

    products_drs_diagramA Dynamic Resource Schedule (DRS) cluster is a cluster that dynamicly distibuts the resources across all configured ESX hosts. Doing this DRS always monitors the guaranteed resources from the resource pools.  DRS makes sure the no virtual machines are placed on servers that cannot guarantee the resources that are configured in the resource pool.

    Virtual machines operating within a resource pool are not tied to the particular physical server on which they are running at any given point in time. When a virtual machine experiences increased load, DRS first evaluates its priority against the established resource allocation rules and then, if justified, allocates additional resources by redistributing virtual machines among the physical servers. VMware VMotion executes the live migration of the virtual machine to a different server with complete transparency to end users. The dynamic resource allocation ensures that capacity is preferentially dedicated to the highest priority applications, while at the same time maximizing overall resource utilization.
  • Understand how to monitor DRS cluster performance and resource utilization within the cluster (http://www.vmware.com/pdf/vmware_drs_wp.pdf)
    Monitoring a resource pool's performance is useful if you want to understand the effectiveness of resource pool allocations. To monitor a resource pool's performance, select the resource pool in the inventory panel and click the Performance tab. VirtualCenter displays information about resource pool performance. You can click Change Chart Options to customize the performance chart.

    As hosts and virtual machines are added or removed, clusters can become overcommitted or invalid because of HA or DRS violations. Messages displayed on the Summary page displays the status of the currently selected cluster.

    The Virtual Infrastructure Client indicates whether a cluster is valid (green), overcommitted (yellow), or invalid (red).
  • Explain best practices for DRS cluster design
    DRS or Dynamic Resource Scheduling is a technique use to distribute the load of virtual machines across ESX hosts. DRS is used in two situations:
    • When a VM start DRS determines on what ESX host the VM is placed.
      For this purpose DRS can be used when a cluster is available. There are not many prerequisites for this use.
    • DRS is used to vMotion VMs between ESX hosts to distribute the load evenly based on the performance a VM demands. For this technique there are quite some prerequisites and performance considerations. VMware recommends (vMotion recommendations apply as well) :
      • Try to keep the ESX host configurations the same as much as possible
      • Use Processors that are from the same family and use the same instruction set or use  “VMware VMotion and CPU Compatibility” feature. This feature enlarges the number of processors that can be used (not all!).
      • Use servers / processors with the same memory and cache architecture or otherwise the performance can differ.
      • When more ESX hosts in a DRS cluster are VMotion compatible, DRS has more choices to better balance workloads across the cluster. We recommend clusters of up to 32 hosts.
      • Place Virtual Machines on shared storage that is accessible to all DRS configured hosts.
      • Use Gigabit Ethernet for the vMotion network
  • Understand performance considerations for DRS clusters
    See above under “Explain best practices for DRS cluster design”.

Skills and Abilities

  • Deploy complex resource pools
    • Utilize best practice guidelines
      VMware stated a couple of best practice guidelines for resource pools and DRS:
      • If you expect frequent changes to the total available resources, use Shares, not Reservation, to allocate resources fairly across virtual machines. If you use Shares and you upgrade the host, each virtual machine stays at the same priority (keeps the same number of shares) even though each share represents a larger amount of memory or CPU.
      • Use Reservation to specify the minimum acceptable amount of CPU or memory, not the amount you would like to have available. The host assigns additional resources as available based on the number of Shares and the Limit for your virtual machine.
      • Use Reservations to specify the minimum reservation for each virtual machine. In contrast to Shares, the amount of concrete resources represented by a reservation does not change when you change the environment, for example, by adding or removing virtual machines.
      • Don't set Reservation too high. A reservation that's too high can limit the number of virtual machines in a resource pool.
      • When specifying the reservations for virtual machines, always leave some headroom; do not commit all resources. As you move closer to fully reserving all capacity in the system, it becomes increasingly difficult to make changes to reservations and to the resource pool hierarchy without violating admission control. In a DRS-enabled cluster, reservations that fully commit the capacity of the cluster or of individual hosts in the cluster can prevent DRS from migrating virtual machines between hosts.
      • Use resource pools for delegated resource management. To fully isolate a resource pool, make the resource pool type Fixed and use Reservation and Limit.
      • Group virtual machines for a multi-tier service in a resource pool. This allows resources to be assigned for the service as a whole.
      • Affinity rules
        • In general, don’t specify affinity rules unless you have specific reasons to do so. This will give DRS the maximum flexibility to consider all options for resource management and hence enable the most efficient resource placement.
        • Reason to select Keep Virtual Machines Together: The virtual machines are known to communicate a lot with each other over the network. If the virtual machines reside on the same host, then all network communication takes place over a virtual switch, which is must faster than a physical switch and doesn't use any physical network resources.
        • Reason to select Separate Virtual Machines: You want to maximize availability of the virtual machines. For example, if the virtual machines both provide a web server front end to the same application, you wouldn’t want both virtual machines to go down at the same time, in the event that the physical host on which they reside goes down.
      • When a list of recommendations is made for a cluster in manual mode, the recommendations should be applied in order. Otherwise, performance results could potentially be slightly worse than the initial state.
      • The migration threshold for clusters should be set to more aggressive levels (towards 5) in the following cases:
        • if the hosts in the cluster are relatively homogeneous.
        • if the virtual machine's resource utilization does not vary too much over time.
        • if you have relatively few constraints on where a virtual machine can be placed, such as VSMP requirements, large memory requirements, specific virtual network configurations, access to specific datastores, etc.
      • The migration threshold for clusters should be set to more conservative levels in the reverse situations to those listed above.
      • When deciding which hosts to group into a DRS cluster, try to choose hosts that are as homogeneous as possible, in terms of CPU, memory, and storage, to allow the most flexible management of resources.
    • Configure expandable reservations where applicable
      Expandable reservations are reservations where a server of group of servers can utilize more resources than configured. You can hard limit a resource pool, of make it expandable. When limiting you can control resources in a very tight manner, but when the VM asked for example more memory than available the system will start swapping. This degrades server performance.

      Usually I make a resource pool expandable when I only need to configure a minimum amount of resources (resource guarantee) for a resource pool, and not a maximum.
  • Deploy a complex DRS cluster
    • Ensure optimal use of Maintenance Mode
      Like stated before VMware recommends to use a substantial amount of ESX hosts in a DRS cluster with a minimum of three and up to 32. The more hosts, the more choices for DRS there are. When there are many choices for DRS to places VM on ESX hosts it is usually more easy to place a host in maintenance mode. When you plave a ESX host in maintenance mode all VM’s are vMotioned to other ESX hosts. After all VM’s are migrated the host enters a mode not joining cluster techniques as HA and DRS.
    • Configure appropriate threshold settings
      You can configure how aggressive VMware DRS will act. DRS creates a recommendation to migrate a VM to another host based on the amount of CPU cycles and memory in use. When there are many fairly conservative VMs VMware recommends to set the threshold to level 5; aggressive.
  • Implement Distributed Power Management within a DRS cluster
    vmware_dpmDistributed power management is a technique to shutdown servers when the resources of the server are not necessary. VMware vMotion migrates the servers to hosts that can handle the load of the VM making other hosts empty. When the host has no VMs it auto shutsdown saving valuable power and not producing any heat: Green IT! When the resources are needed again (for example in the morning when people start to work again) the servers are turned on, and placed into the cluster. vMotion migraties the VMs to these hosts with additional resources. This is cloud computing people! The next thing we need is when a server feels “bad” for example a fan stops spinning, it places itself in maintenance mode! (maybe a little off topic…).
  • Monitor DRS clusters
    • Cluster performance
      The VMware DRS functionality is configured in a cluster. It constantly sends and receives information about other hosts, VM etc. The performance of this cluster service can be viewed in the Performance tab of the server properties.
    • Resource utilization
      You can view resource utilization on cluster or resource pool level. This can be viewed in performance tab of the cluster or resource pool.
    • Troubleshooting
      Vmware DRS logs on the Virtual Center Server in the directory: You get one set of log files per DRS Cluster on your VC Server in the directory:
      %TMP%\vpx\drmdump\cluster#\
      For example:
      C:\WINDOWS\Temp\vpx\drmdump\clusterxxx

      You control log directory size with DRS > Advanced Options. Enter DumpSpace and a value for the log dir size in MB. The default is 20 MB.

Tools

  • VI client