| <?xml version='1.0' encoding='utf-8' ?> |
| <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ |
| <!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent"> |
| %BOOK_ENTITIES; |
| ]> |
| <!-- Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| <section id="best-practices-vm"> |
| <title>Best Practices for Virtual Machines</title> |
| <para>For VMs to work as expected and provide excellent service, follow these guidelines.</para> |
| <section id="best-practices-vm-monitoring"> |
| <title>Monitor VMs for Max Capacity</title> |
| <para>The &PRODUCT; administrator should monitor the total number of VM instances in each |
| cluster, and disable allocation to the cluster if the total is approaching the maximum that |
| the hypervisor can handle. Be sure to leave a safety margin to allow for the possibility of |
| one or more hosts failing, which would increase the VM load on the other hosts as the VMs |
| are automatically redeployed. Consult the documentation for your chosen hypervisor to find |
| the maximum permitted number of VMs per host, then use &PRODUCT; global configuration |
| settings to set this as the default limit. Monitor the VM activity in each cluster at all |
| times. Keep the total number of VMs below a safe level that allows for the occasional host |
| failure. For example, if there are N hosts in the cluster, and you want to allow for one |
| host in the cluster to be down at any given time, the total number of VM instances you can |
| permit in the cluster is at most (N-1) * (per-host-limit). Once a cluster reaches this |
| number of VMs, use the &PRODUCT; UI to disable allocation of more VMs to the |
| cluster.</para> |
| </section> |
| <section id="best-practices-vm-tools"> |
| <title>Install Required Tools and Drivers</title> |
| <para>Be sure the following are installed on each VM:</para> |
| <itemizedlist> |
| <listitem><para>For XenServer, install PV drivers and Xen tools on each VM. |
| This will enable live migration and clean guest shutdown. |
| Xen tools are required in order for dynamic CPU and RAM scaling to work.</para></listitem> |
| <listitem><para>For vSphere, install VMware Tools on each VM. |
| This will enable console view to work properly. |
| VMware Tools are required in order for dynamic CPU and RAM scaling to work.</para></listitem> |
| </itemizedlist> |
| <para>To be sure that Xen tools or VMware Tools is installed, use one of the following techniques:</para> |
| <itemizedlist> |
| <listitem><para>Create each VM from a template that already has the tools installed; or,</para></listitem> |
| <listitem><para>When registering a new template, the administrator or user can indicate whether tools are |
| installed on the template. This can be done through the UI |
| or using the updateTemplate API; or,</para></listitem> |
| <listitem><para>If a user deploys a virtual machine with a template that does not have |
| Xen tools or VMware Tools, and later installs the tools on the VM, |
| then the user can inform &PRODUCT; using the updateVirtualMachine API. |
| After installing the tools and updating the virtual machine, stop |
| and start the VM.</para></listitem> |
| </itemizedlist> |
| </section> |
| </section> |