mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-02 20:02:29 +01:00
68 lines
4.3 KiB
XML
68 lines
4.3 KiB
XML
<?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>
|