<?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="vmware-requirements">
    <title>System Requirements for vSphere Hosts</title>
    <section id="vmware-requirements-software">
    <title>Software requirements:</title>
    <itemizedlist>
        <listitem>
        <para>vSphere and vCenter, both version 4.1 or 5.0.</para>
        <para>vSphere Standard is recommended.  Note however that customers need to consider the CPU constraints in place with vSphere licensing.  See <ulink url="http://www.vmware.com/files/pdf/vsphere_pricing.pdf">http://www.vmware.com/files/pdf/vsphere_pricing.pdf</ulink> and discuss with your VMware sales representative.</para>
        <para>vCenter Server Standard is recommended.</para>
        </listitem>
        <listitem><para>Be sure all the hotfixes provided by the hypervisor vendor are applied. Track the release of hypervisor patches through your hypervisor vendor's support channel, and apply patches as soon as possible after they are released. &PRODUCT; will not track or notify you of required hypervisor patches. It is essential that your hosts are completely up to date with the provided hypervisor patches. The hypervisor vendor is likely to refuse to support any system that is not up to date with patches.</para></listitem>
    </itemizedlist>
    <warning><title>Apply All Necessary Hotfixes</title><para>The lack of up-do-date hotfixes can lead to data corruption and lost VMs.</para></warning>
    </section>
    <section id="vmware-requirements-hardware">
    <title>Hardware requirements:</title>
    <itemizedlist>
        <listitem><para>The host must be certified as compatible with vSphere. See the VMware Hardware Compatibility Guide at <ulink url="http://www.vmware.com/resources/compatibility/search.php">http://www.vmware.com/resources/compatibility/search.php</ulink>.</para></listitem>
        <listitem><para>All hosts must be 64-bit and must support HVM (Intel-VT or AMD-V enabled).</para></listitem>
        <listitem><para>All hosts within a cluster must be homogenous. That means the CPUs must be of the same type, count, and feature flags.</para></listitem>
        <listitem><para>64-bit x86 CPU (more cores results in better performance)</para></listitem>
        <listitem><para>Hardware virtualization support required</para></listitem>
        <listitem><para>4 GB of memory</para></listitem>
        <listitem><para>36 GB of local disk</para></listitem>
        <listitem><para>At least 1 NIC</para></listitem>
        <listitem><para>Statically allocated IP Address</para></listitem>
    </itemizedlist>
    </section>
    <section id="vmware-requirements-vcenter">
    <title>vCenter Server requirements:</title>
    <itemizedlist>
        <listitem><para>Processor - 2 CPUs 2.0GHz or higher Intel or AMD x86 processors. Processor requirements may be higher if the database runs on the same machine.</para></listitem>
        <listitem><para>Memory - 3GB RAM. RAM requirements may be higher if your database runs on the same machine.</para></listitem>
        <listitem><para>Disk storage - 2GB. Disk requirements may be higher if your database runs on the same machine.</para></listitem>
        <listitem><para>Microsoft SQL Server 2005 Express disk requirements. The bundled database requires up to 2GB free disk space to decompress the installation archive.</para></listitem>
        <listitem><para>Networking - 1Gbit or 10Gbit.</para></listitem>
    </itemizedlist>
    <para>For more information, see "vCenter Server and the vSphere Client Hardware Requirements" at <ulink url="http://pubs.vmware.com/vsp40/wwhelp/wwhimpl/js/html/wwhelp.htm#href=install/c_vc_hw.html">http://pubs.vmware.com/vsp40/wwhelp/wwhimpl/js/html/wwhelp.htm#href=install/c_vc_hw.html</ulink>.</para>
    </section>
    <section id="vmware-requirements-other">
    <title>Other requirements:</title>
    <itemizedlist>
        <listitem><para>VMware vCenter Standard Edition 4.1 or 5.0 must be installed and available to manage the vSphere hosts.</para></listitem>
        <listitem><para>vCenter must be configured to use the standard port 443 so that it can communicate with the &PRODUCT; Management Server.</para></listitem>
        <listitem><para>You must re-install VMware ESXi if you are going to re-use a host from a previous install.</para></listitem>
        <listitem><para>&PRODUCT; requires VMware vSphere 4.1 or 5.0.  VMware vSphere 4.0 is not supported.</para></listitem>
        <listitem><para>All hosts must be 64-bit and must support HVM (Intel-VT or AMD-V enabled). All hosts within a cluster must be homogeneous. That means the CPUs must be of the same type, count, and feature flags.</para></listitem>
        <listitem><para>The &PRODUCT; management network must not be configured as a separate virtual network. The &PRODUCT; management network is the same as the vCenter management network, and will inherit its configuration. See <xref linkend="vmware-physical-host-networking-config-vcenter-mgt" />.</para></listitem>
        <listitem><para>&PRODUCT; requires ESXi.  ESX is not supported.</para></listitem>
        <listitem><para>All resources used for &PRODUCT; must be used for &PRODUCT; only.  &PRODUCT; cannot share instance of ESXi or storage with other management consoles.  Do not share the same storage volumes that will be used by &PRODUCT; with a different set of ESXi servers that are not managed by &PRODUCT;.</para></listitem>
        <listitem><para>Put all target ESXi hypervisors in a cluster in a separate Datacenter in vCenter.</para></listitem>
        <listitem><para>The cluster that will be managed by &PRODUCT; should not contain any VMs.  Do not run the management server, vCenter or any other VMs on the cluster that is designated for &PRODUCT; use.  Create  a separate cluster for use of &PRODUCT; and make sure that they are no VMs in this cluster.</para></listitem>
        <listitem><para>All the required VLANS must be trunked into all network switches that are connected to the ESXi hypervisor hosts.  These would include the VLANS for Management, Storage, vMotion, and guest VLANs.  The guest VLAN (used in Advanced Networking; see Network Setup) is a contiguous range of VLANs that will be managed by &PRODUCT;. <!-- &PRODUCT; supports Nexus 1000v virtual switch. For more information, see <xref linkend="vmware-vsphere-cluster-config-nexus-vswitch" />.--> </para></listitem>
    </itemizedlist>
    </section>
</section>
