You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by se...@apache.org on 2014/01/27 22:12:12 UTC
[7/9] break file into chapters
http://git-wip-us.apache.org/repos/asf/cloudstack-docs-install/blob/b1401796/source/configuration.rst
----------------------------------------------------------------------
diff --git a/source/configuration.rst b/source/configuration.rst
new file mode 100644
index 0000000..e33f323
--- /dev/null
+++ b/source/configuration.rst
@@ -0,0 +1,2265 @@
+.. 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.
+
+Configuring your CloudStack Installation
+========================================
+
+This section tells how to add regions, zones, pods, clusters, hosts,
+storage, and networks to your cloud. If you are unfamiliar with these
+entities, please begin by looking through `Chapter 2, *Cloud
+Infrastructure Concepts* <#cloud-infrastructure-concepts>`__.
+
+Overview of Provisioning Steps
+------------------------------
+
+After the Management Server is installed and running, you can add the
+compute resources for it to manage. For an overview of how a CloudStack
+cloud infrastructure is organized, see `Section 1.3.2, “Cloud
+Infrastructure Overview” <#cloud-infrastructure-overview>`__.
+
+To provision the cloud infrastructure, or to scale it up at any time,
+follow these procedures:
+
+#.
+
+ Define regions (optional). See `Section 6.2, “Adding Regions
+ (optional)” <#region-add>`__.
+
+#.
+
+ Add a zone to the region. See `Section 6.3, “Adding a
+ Zone” <#zone-add>`__.
+
+#.
+
+ Add more pods to the zone (optional). See `Section 6.4, “Adding a
+ Pod” <#pod-add>`__.
+
+#.
+
+ Add more clusters to the pod (optional). See `Section 6.5, “Adding a
+ Cluster” <#cluster-add>`__.
+
+#.
+
+ Add more hosts to the cluster (optional). See `Section 6.6, “Adding a
+ Host” <#host-add>`__.
+
+#.
+
+ Add primary storage to the cluster. See `Section 6.7, “Add Primary
+ Storage” <#primary-storage-add>`__.
+
+#.
+
+ Add secondary storage to the zone. See `Section 6.8, “Add Secondary
+ Storage” <#secondary-storage-add>`__.
+
+#.
+
+ Initialize and test the new cloud. See `Section 6.9, “Initialize and
+ Test” <#initialize-and-test>`__.
+
+When you have finished these steps, you will have a deployment with the
+following basic structure:
+
+|provisioning-overview.png: Conceptual overview of a basic deployment|
+
+Adding Regions (optional)
+-------------------------
+
+Grouping your cloud resources into geographic regions is an optional
+step when provisioning the cloud. For an overview of regions, see
+`Section 2.1, “About Regions” <#about-regions>`__.
+
+The First Region: The Default Region
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If you do not take action to define regions, then all the zones in your
+cloud will be automatically grouped into a single default region. This
+region is assigned the region ID of 1. You can change the name or URL of
+the default region by displaying the region in the CloudStack UI and
+clicking the Edit button.
+
+Adding a Region
+~~~~~~~~~~~~~~~
+
+Use these steps to add a second region in addition to the default
+region.
+
+#.
+
+ Each region has its own CloudStack instance. Therefore, the first
+ step of creating a new region is to install the Management Server
+ software, on one or more nodes, in the geographic area where you want
+ to set up the new region. Use the steps in the Installation guide.
+ When you come to the step where you set up the database, use the
+ additional command-line flag ``-r <region_id>`` to set a region ID
+ for the new region. The default region is automatically assigned a
+ region ID of 1, so your first additional region might be region 2.
+
+ .. code:: bash
+
+ cloudstack-setup-databases cloud:<dbpassword>@localhost --deploy-as=root:<password> -e <encryption_type> -m <management_server_key> -k <database_key> -r <region_id>
+
+#.
+
+ By the end of the installation procedure, the Management Server
+ should have been started. Be sure that the Management Server
+ installation was successful and complete.
+
+#.
+
+ Now add the new region to region 1 in CloudStack.
+
+ #.
+
+ Log in to CloudStack in the first region as root administrator
+ (that is, log in to <region.1.IP.address>:8080/client).
+
+ #.
+
+ In the left navigation bar, click Regions.
+
+ #.
+
+ Click Add Region. In the dialog, fill in the following fields:
+
+ -
+
+ ID. A unique identifying number. Use the same number you set in
+ the database during Management Server installation in the new
+ region; for example, 2.
+
+ -
+
+ Name. Give the new region a descriptive name.
+
+ -
+
+ Endpoint. The URL where you can log in to the Management Server
+ in the new region. This has the format
+ <region.2.IP.address>:8080/client.
+
+#.
+
+ Now perform the same procedure in reverse. Log in to region 2, and
+ add region 1.
+
+#.
+
+ Copy the account, user, and domain tables from the region 1 database
+ to the region 2 database.
+
+ In the following commands, it is assumed that you have set the root
+ password on the database, which is a CloudStack recommended best
+ practice. Substitute your own MySQL root password.
+
+ #.
+
+ First, run this command to copy the contents of the database:
+
+ .. code:: bash
+
+ # mysqldump -u root -p<mysql_password> -h <region1_db_host> cloud account user domain > region1.sql
+
+ #.
+
+ Then run this command to put the data onto the region 2 database:
+
+ .. code:: bash
+
+ # mysql -u root -p<mysql_password> -h <region2_db_host> cloud < region1.sql
+
+#.
+
+ Remove project accounts. Run these commands on the region 2 database:
+
+ .. code:: bash
+
+ mysql> delete from account where type = 5;
+
+#.
+
+ Set the default zone as null:
+
+ .. code:: bash
+
+ mysql> update account set default_zone_id = null;
+
+#.
+
+ Restart the Management Servers in region 2.
+
+Adding Third and Subsequent Regions
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To add the third region, and subsequent additional regions, the steps
+are similar to those for adding the second region. However, you must
+repeat certain steps additional times for each additional region:
+
+#.
+
+ Install CloudStack in each additional region. Set the region ID for
+ each region during the database setup step.
+
+ .. code:: bash
+
+ cloudstack-setup-databases cloud:<dbpassword>@localhost --deploy-as=root:<password> -e <encryption_type> -m <management_server_key> -k <database_key> -r <region_id>
+
+#.
+
+ Once the Management Server is running, add your new region to all
+ existing regions by repeatedly using the Add Region button in the UI.
+ For example, if you were adding region 3:
+
+ #.
+
+ Log in to CloudStack in the first region as root administrator
+ (that is, log in to <region.1.IP.address>:8080/client), and add a
+ region with ID 3, the name of region 3, and the endpoint
+ <region.3.IP.address>:8080/client.
+
+ #.
+
+ Log in to CloudStack in the second region as root administrator
+ (that is, log in to <region.2.IP.address>:8080/client), and add a
+ region with ID 3, the name of region 3, and the endpoint
+ <region.3.IP.address>:8080/client.
+
+#.
+
+ Repeat the procedure in reverse to add all existing regions to the
+ new region. For example, for the third region, add the other two
+ existing regions:
+
+ #.
+
+ Log in to CloudStack in the third region as root administrator
+ (that is, log in to <region.3.IP.address>:8080/client).
+
+ #.
+
+ Add a region with ID 1, the name of region 1, and the endpoint
+ <region.1.IP.address>:8080/client.
+
+ #.
+
+ Add a region with ID 2, the name of region 2, and the endpoint
+ <region.2.IP.address>:8080/client.
+
+#.
+
+ Copy the account, user, and domain tables from any existing region's
+ database to the new region's database.
+
+ In the following commands, it is assumed that you have set the root
+ password on the database, which is a CloudStack recommended best
+ practice. Substitute your own MySQL root password.
+
+ #.
+
+ First, run this command to copy the contents of the database:
+
+ .. code:: bash
+
+ # mysqldump -u root -p<mysql_password> -h <region1_db_host> cloud account user domain > region1.sql
+
+ #.
+
+ Then run this command to put the data onto the new region's
+ database. For example, for region 3:
+
+ .. code:: bash
+
+ # mysql -u root -p<mysql_password> -h <region3_db_host> cloud < region1.sql
+
+#.
+
+ Remove project accounts. Run these commands on the region 3 database:
+
+ .. code:: bash
+
+ mysql> delete from account where type = 5;
+
+#.
+
+ Set the default zone as null:
+
+ .. code:: bash
+
+ mysql> update account set default_zone_id = null;
+
+#.
+
+ Restart the Management Servers in the new region.
+
+Deleting a Region
+~~~~~~~~~~~~~~~~~
+
+Log in to each of the other regions, navigate to the one you want to
+delete, and click Remove Region. For example, to remove the third region
+in a 3-region cloud:
+
+#.
+
+ Log in to <region.1.IP.address>:8080/client.
+
+#.
+
+ In the left navigation bar, click Regions.
+
+#.
+
+ Click the name of the region you want to delete.
+
+#.
+
+ Click the Remove Region button.
+
+#.
+
+ Repeat these steps for <region.2.IP.address>:8080/client.
+
+Adding a Zone
+-------------
+
+When you add a new zone, you will be prompted to configure the zone’s
+physical network and add the first pod, cluster, host, primary storage,
+and secondary storage.
+
+#.
+
+ Log in to the CloudStack UI as the root administrator. See
+ `Section 5.1, “Log In to the UI” <#log-in>`__.
+
+#.
+
+ In the left navigation, choose Infrastructure.
+
+#.
+
+ On Zones, click View More.
+
+#.
+
+ Click Add Zone. The zone creation wizard will appear.
+
+#.
+
+ Choose one of the following network types:
+
+ -
+
+ **Basic.** For AWS-style networking. Provides a single network
+ where each VM instance is assigned an IP directly from the
+ network. Guest isolation can be provided through layer-3 means
+ such as security groups (IP address source filtering).
+
+ -
+
+ **Advanced.** For more sophisticated network topologies. This
+ network model provides the most flexibility in defining guest
+ networks and providing custom network offerings such as firewall,
+ VPN, or load balancer support.
+
+#.
+
+ The rest of the steps differ depending on whether you chose Basic or
+ Advanced. Continue with the steps that apply to you:
+
+ -
+
+ `Section 6.3.1, “Basic Zone
+ Configuration” <#basic-zone-configuration>`__
+
+ -
+
+ `Section 6.3.2, “Advanced Zone
+ Configuration” <#advanced-zone-configuration>`__
+
+Basic Zone Configuration
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+#.
+
+ After you select Basic in the Add Zone wizard and click Next, you
+ will be asked to enter the following details. Then click Next.
+
+ -
+
+ **Name.** A name for the zone.
+
+ -
+
+ **DNS 1 and 2.** These are DNS servers for use by guest VMs in the
+ zone. These DNS servers will be accessed via the public network
+ you will add later. The public IP addresses for the zone must have
+ a route to the DNS server named here.
+
+ -
+
+ **Internal DNS 1 and Internal DNS 2.** These are DNS servers for
+ use by system VMs in the zone (these are VMs used by CloudStack
+ itself, such as virtual routers, console proxies, and Secondary
+ Storage VMs.) These DNS servers will be accessed via the
+ management traffic network interface of the System VMs. The
+ private IP address you provide for the pods must have a route to
+ the internal DNS server named here.
+
+ -
+
+ **Hypervisor.** (Introduced in version 3.0.1) Choose the
+ hypervisor for the first cluster in the zone. You can add clusters
+ with different hypervisors later, after you finish adding the
+ zone.
+
+ -
+
+ **Network Offering.** Your choice here determines what network
+ services will be available on the network for guest VMs.
+
+ Network Offering
+
+ Description
+
+ DefaultSharedNetworkOfferingWithSGService
+
+ If you want to enable security groups for guest traffic isolation,
+ choose this. (See Using Security Groups to Control Traffic to
+ VMs.)
+
+ DefaultSharedNetworkOffering
+
+ If you do not need security groups, choose this.
+
+ DefaultSharedNetscalerEIPandELBNetworkOffering
+
+ If you have installed a Citrix NetScaler appliance as part of your
+ zone network, and you will be using its Elastic IP and Elastic
+ Load Balancing features, choose this. With the EIP and ELB
+ features, a basic zone with security groups enabled can offer 1:1
+ static NAT and load balancing.
+
+ -
+
+ **Network Domain.** (Optional) If you want to assign a special
+ domain name to the guest VM network, specify the DNS suffix.
+
+ -
+
+ **Public.** A public zone is available to all users. A zone that
+ is not public will be assigned to a particular domain. Only users
+ in that domain will be allowed to create guest VMs in this zone.
+
+#.
+
+ Choose which traffic types will be carried by the physical network.
+
+ The traffic types are management, public, guest, and storage traffic.
+ For more information about the types, roll over the icons to display
+ their tool tips, or see Basic Zone Network Traffic Types. This screen
+ starts out with some traffic types already assigned. To add more,
+ drag and drop traffic types onto the network. You can also change the
+ network name if desired.
+
+#.
+
+ Assign a network traffic label to each traffic type on the physical
+ network. These labels must match the labels you have already defined
+ on the hypervisor host. To assign each label, click the Edit button
+ under the traffic type icon. A popup dialog appears where you can
+ type the label, then click OK.
+
+ These traffic labels will be defined only for the hypervisor selected
+ for the first cluster. For all other hypervisors, the labels can be
+ configured after the zone is created.
+
+#.
+
+ Click Next.
+
+#.
+
+ (NetScaler only) If you chose the network offering for NetScaler, you
+ have an additional screen to fill out. Provide the requested details
+ to set up the NetScaler, then click Next.
+
+ -
+
+ **IP address.** The NSIP (NetScaler IP) address of the NetScaler
+ device.
+
+ -
+
+ **Username/Password.** The authentication credentials to access
+ the device. CloudStack uses these credentials to access the
+ device.
+
+ -
+
+ **Type.** NetScaler device type that is being added. It could be
+ NetScaler VPX, NetScaler MPX, or NetScaler SDX. For a comparison
+ of the types, see About Using a NetScaler Load Balancer.
+
+ -
+
+ **Public interface.** Interface of NetScaler that is configured to
+ be part of the public network.
+
+ -
+
+ **Private interface.** Interface of NetScaler that is configured
+ to be part of the private network.
+
+ -
+
+ **Number of retries.** Number of times to attempt a command on the
+ device before considering the operation failed. Default is 2.
+
+ -
+
+ **Capacity.** Number of guest networks/accounts that will share
+ this NetScaler device.
+
+ -
+
+ **Dedicated.** When marked as dedicated, this device will be
+ dedicated to a single account. When Dedicated is checked, the
+ value in the Capacity field has no significance – implicitly, its
+ value is 1.
+
+#.
+
+ (NetScaler only) Configure the IP range for public traffic. The IPs
+ in this range will be used for the static NAT capability which you
+ enabled by selecting the network offering for NetScaler with EIP and
+ ELB. Enter the following details, then click Add. If desired, you can
+ repeat this step to add more IP ranges. When done, click Next.
+
+ -
+
+ **Gateway.** The gateway in use for these IP addresses.
+
+ -
+
+ **Netmask.** The netmask associated with this IP range.
+
+ -
+
+ **VLAN.** The VLAN that will be used for public traffic.
+
+ -
+
+ **Start IP/End IP.** A range of IP addresses that are assumed to
+ be accessible from the Internet and will be allocated for access
+ to guest VMs.
+
+#.
+
+ In a new zone, CloudStack adds the first pod for you. You can always
+ add more pods later. For an overview of what a pod is, see
+ `Section 2.3, “About Pods” <#about-pods>`__.
+
+ To configure the first pod, enter the following, then click Next:
+
+ -
+
+ **Pod Name.** A name for the pod.
+
+ -
+
+ **Reserved system gateway.** The gateway for the hosts in that
+ pod.
+
+ -
+
+ **Reserved system netmask.** The network prefix that defines the
+ pod's subnet. Use CIDR notation.
+
+ -
+
+ **Start/End Reserved System IP.** The IP range in the management
+ network that CloudStack uses to manage various system VMs, such as
+ Secondary Storage VMs, Console Proxy VMs, and DHCP. For more
+ information, see System Reserved IP Addresses.
+
+#.
+
+ Configure the network for guest traffic. Provide the following, then
+ click Next:
+
+ -
+
+ **Guest gateway.** The gateway that the guests should use.
+
+ -
+
+ **Guest netmask.** The netmask in use on the subnet the guests
+ will use.
+
+ -
+
+ **Guest start IP/End IP.** Enter the first and last IP addresses
+ that define a range that CloudStack can assign to guests.
+
+ -
+
+ We strongly recommend the use of multiple NICs. If multiple
+ NICs are used, they may be in a different subnet.
+
+ -
+
+ If one NIC is used, these IPs should be in the same CIDR as the
+ pod CIDR.
+
+#.
+
+ In a new pod, CloudStack adds the first cluster for you. You can
+ always add more clusters later. For an overview of what a cluster is,
+ see About Clusters.
+
+ To configure the first cluster, enter the following, then click Next:
+
+ -
+
+ **Hypervisor.** (Version 3.0.0 only; in 3.0.1, this field is read
+ only) Choose the type of hypervisor software that all hosts in
+ this cluster will run. If you choose VMware, additional fields
+ appear so you can give information about a vSphere cluster. For
+ vSphere servers, we recommend creating the cluster of hosts in
+ vCenter and then adding the entire cluster to CloudStack. See Add
+ Cluster: vSphere.
+
+ -
+
+ **Cluster name.** Enter a name for the cluster. This can be text
+ of your choosing and is not used by CloudStack.
+
+#.
+
+ In a new cluster, CloudStack adds the first host for you. You can
+ always add more hosts later. For an overview of what a host is, see
+ About Hosts.
+
+ Note
+
+
+ When you add a hypervisor host to CloudStack, the host must not have
+ any VMs already running.
+
+ Before you can configure the host, you need to install the hypervisor
+ software on the host. You will need to know which version of the
+ hypervisor software version is supported by CloudStack and what
+ additional configuration is required to ensure the host will work
+ with CloudStack. To find these installation details, see:
+
+ -
+
+ Citrix XenServer Installation and Configuration
+
+ -
+
+ VMware vSphere Installation and Configuration
+
+ -
+
+ KVM vSphere Installation and Configuration
+
+ To configure the first host, enter the following, then click Next:
+
+ -
+
+ **Host Name.** The DNS name or IP address of the host.
+
+ -
+
+ **Username.** The username is root.
+
+ -
+
+ **Password.** This is the password for the user named above (from
+ your XenServer or KVM install).
+
+ -
+
+ **Host Tags.** (Optional) Any labels that you use to categorize
+ hosts for ease of maintenance. For example, you can set this to
+ the cloud's HA tag (set in the ha.tag global configuration
+ parameter) if you want this host to be used only for VMs with the
+ "high availability" feature enabled. For more information, see
+ HA-Enabled Virtual Machines as well as HA for Hosts.
+
+#.
+
+ In a new cluster, CloudStack adds the first primary storage server
+ for you. You can always add more servers later. For an overview of
+ what primary storage is, see About Primary Storage.
+
+ To configure the first primary storage server, enter the following,
+ then click Next:
+
+ -
+
+ **Name.** The name of the storage device.
+
+ -
+
+ **Protocol.** For XenServer, choose either NFS, iSCSI, or
+ PreSetup. For KVM, choose NFS, SharedMountPoint,CLVM, or RBD. For
+ vSphere choose either VMFS (iSCSI or FiberChannel) or NFS. The
+ remaining fields in the screen vary depending on what you choose
+ here.
+
+Advanced Zone Configuration
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+#.
+
+ After you select Advanced in the Add Zone wizard and click Next, you
+ will be asked to enter the following details. Then click Next.
+
+ -
+
+ **Name.** A name for the zone.
+
+ -
+
+ **DNS 1 and 2.** These are DNS servers for use by guest VMs in the
+ zone. These DNS servers will be accessed via the public network
+ you will add later. The public IP addresses for the zone must have
+ a route to the DNS server named here.
+
+ -
+
+ **Internal DNS 1 and Internal DNS 2.** These are DNS servers for
+ use by system VMs in the zone(these are VMs used by CloudStack
+ itself, such as virtual routers, console proxies,and Secondary
+ Storage VMs.) These DNS servers will be accessed via the
+ management traffic network interface of the System VMs. The
+ private IP address you provide for the pods must have a route to
+ the internal DNS server named here.
+
+ -
+
+ **Network Domain.** (Optional) If you want to assign a special
+ domain name to the guest VM network, specify the DNS suffix.
+
+ -
+
+ **Guest CIDR.** This is the CIDR that describes the IP addresses
+ in use in the guest virtual networks in this zone. For example,
+ 10.1.1.0/24. As a matter of good practice you should set different
+ CIDRs for different zones. This will make it easier to set up VPNs
+ between networks in different zones.
+
+ -
+
+ **Hypervisor.** (Introduced in version 3.0.1) Choose the
+ hypervisor for the first cluster in the zone. You can add clusters
+ with different hypervisors later, after you finish adding the
+ zone.
+
+ -
+
+ **Public.** A public zone is available to all users. A zone that
+ is not public will be assigned to a particular domain. Only users
+ in that domain will be allowed to create guest VMs in this zone.
+
+#.
+
+ Choose which traffic types will be carried by the physical network.
+
+ The traffic types are management, public, guest, and storage traffic.
+ For more information about the types, roll over the icons to display
+ their tool tips, or see `Section 2.8.3, “Advanced Zone Network
+ Traffic Types” <#advanced-zone-network-traffic-types>`__. This screen
+ starts out with one network already configured. If you have multiple
+ physical networks, you need to add more. Drag and drop traffic types
+ onto a greyed-out network and it will become active. You can move the
+ traffic icons from one network to another; for example, if the
+ default traffic types shown for Network 1 do not match your actual
+ setup, you can move them down. You can also change the network names
+ if desired.
+
+#.
+
+ (Introduced in version 3.0.1) Assign a network traffic label to each
+ traffic type on each physical network. These labels must match the
+ labels you have already defined on the hypervisor host. To assign
+ each label, click the Edit button under the traffic type icon within
+ each physical network. A popup dialog appears where you can type the
+ label, then click OK.
+
+ These traffic labels will be defined only for the hypervisor selected
+ for the first cluster. For all other hypervisors, the labels can be
+ configured after the zone is created.
+
+ (VMware only) If you have enabled Nexus dvSwitch in the environment,
+ you must specify the corresponding Ethernet port profile names as
+ network traffic label for each traffic type on the physical network.
+ For more information on Nexus dvSwitch, see Configuring a vSphere
+ Cluster with Nexus 1000v Virtual Switch in the Installation Guide. If
+ you have enabled VMware dvSwitch in the environment, you must specify
+ the corresponding Switch name as network traffic label for each
+ traffic type on the physical network. For more information, see
+ Configuring a VMware Datacenter with VMware Distributed Virtual
+ Switch in the Installation Guide.
+
+#.
+
+ Click Next.
+
+#.
+
+ Configure the IP range for public Internet traffic. Enter the
+ following details, then click Add. If desired, you can repeat this
+ step to add more public Internet IP ranges. When done, click Next.
+
+ -
+
+ **Gateway.** The gateway in use for these IP addresses.
+
+ -
+
+ **Netmask.** The netmask associated with this IP range.
+
+ -
+
+ **VLAN.** The VLAN that will be used for public traffic.
+
+ -
+
+ **Start IP/End IP.** A range of IP addresses that are assumed to
+ be accessible from the Internet and will be allocated for access
+ to guest networks.
+
+#.
+
+ In a new zone, CloudStack adds the first pod for you. You can always
+ add more pods later. For an overview of what a pod is, see
+ `Section 2.3, “About Pods” <#about-pods>`__.
+
+ To configure the first pod, enter the following, then click Next:
+
+ -
+
+ **Pod Name.** A name for the pod.
+
+ -
+
+ **Reserved system gateway.** The gateway for the hosts in that
+ pod.
+
+ -
+
+ **Reserved system netmask.** The network prefix that defines the
+ pod's subnet. Use CIDR notation.
+
+ -
+
+ **Start/End Reserved System IP.** The IP range in the management
+ network that CloudStack uses to manage various system VMs, such as
+ Secondary Storage VMs, Console Proxy VMs, and DHCP. For more
+ information, see `Section 2.8.6, “System Reserved IP
+ Addresses” <#system-reserved-ip-addresses>`__.
+
+#.
+
+ Specify a range of VLAN IDs to carry guest traffic for each physical
+ network (see VLAN Allocation Example ), then click Next.
+
+#.
+
+ In a new pod, CloudStack adds the first cluster for you. You can
+ always add more clusters later. For an overview of what a cluster is,
+ see `Section 2.4, “About Clusters” <#about-clusters>`__.
+
+ To configure the first cluster, enter the following, then click Next:
+
+ -
+
+ **Hypervisor.** (Version 3.0.0 only; in 3.0.1, this field is read
+ only) Choose the type of hypervisor software that all hosts in
+ this cluster will run. If you choose VMware, additional fields
+ appear so you can give information about a vSphere cluster. For
+ vSphere servers, we recommend creating the cluster of hosts in
+ vCenter and then adding the entire cluster to CloudStack. See Add
+ Cluster: vSphere .
+
+ -
+
+ **Cluster name.** Enter a name for the cluster. This can be text
+ of your choosing and is not used by CloudStack.
+
+#.
+
+ In a new cluster, CloudStack adds the first host for you. You can
+ always add more hosts later. For an overview of what a host is, see
+ `Section 2.5, “About Hosts” <#about-hosts>`__.
+
+ Note
+
+
+ When you deploy CloudStack, the hypervisor host must not have any VMs
+ already running.
+
+ Before you can configure the host, you need to install the hypervisor
+ software on the host. You will need to know which version of the
+ hypervisor software version is supported by CloudStack and what
+ additional configuration is required to ensure the host will work
+ with CloudStack. To find these installation details, see:
+
+ -
+
+ Citrix XenServer Installation for CloudStack
+
+ -
+
+ VMware vSphere Installation and Configuration
+
+ -
+
+ KVM Installation and Configuration
+
+ To configure the first host, enter the following, then click Next:
+
+ -
+
+ **Host Name.** The DNS name or IP address of the host.
+
+ -
+
+ **Username.** Usually root.
+
+ -
+
+ **Password.** This is the password for the user named above (from
+ your XenServer or KVM install).
+
+ -
+
+ **Host Tags.** (Optional) Any labels that you use to categorize
+ hosts for ease of maintenance. For example, you can set to the
+ cloud's HA tag (set in the ha.tag global configuration parameter)
+ if you want this host to be used only for VMs with the "high
+ availability" feature enabled. For more information, see
+ HA-Enabled Virtual Machines as well as HA for Hosts, both in the
+ Administration Guide.
+
+#.
+
+ In a new cluster, CloudStack adds the first primary storage server
+ for you. You can always add more servers later. For an overview of
+ what primary storage is, see `Section 2.6, “About Primary
+ Storage” <#about-primary-storage>`__.
+
+ To configure the first primary storage server, enter the following,
+ then click Next:
+
+ -
+
+ **Name.** The name of the storage device.
+
+ -
+
+ **Protocol.** For XenServer, choose either NFS, iSCSI, or
+ PreSetup. For KVM, choose NFS, SharedMountPoint, CLVM, and RBD.
+ For vSphere choose either VMFS (iSCSI or FiberChannel) or NFS. The
+ remaining fields in the screen vary depending on what you choose
+ here.
+
+ NFS
+
+ -
+
+ **Server.** The IP address or DNS name of the storage device.
+
+ -
+
+ **Path.** The exported path from the server.
+
+ -
+
+ **Tags (optional).** The comma-separated list of tags for this
+ storage device. It should be an equivalent set or superset of
+ the tags on your disk offerings.
+
+ The tag sets on primary storage across clusters in a Zone must be
+ identical. For example, if cluster A provides primary storage that
+ has tags T1 and T2, all other clusters in the Zone must also
+ provide primary storage that has tags T1 and T2.
+
+ iSCSI
+
+ -
+
+ **Server.** The IP address or DNS name of the storage device.
+
+ -
+
+ **Target IQN.** The IQN of the target. For example,
+ iqn.1986-03.com.sun:02:01ec9bb549-1271378984.
+
+ -
+
+ **Lun.** The LUN number. For example, 3.
+
+ -
+
+ **Tags (optional).** The comma-separated list of tags for this
+ storage device. It should be an equivalent set or superset of
+ the tags on your disk offerings.
+
+ The tag sets on primary storage across clusters in a Zone must be
+ identical. For example, if cluster A provides primary storage that
+ has tags T1 and T2, all other clusters in the Zone must also
+ provide primary storage that has tags T1 and T2.
+
+ preSetup
+
+ -
+
+ **Server.** The IP address or DNS name of the storage device.
+
+ -
+
+ **SR Name-Label.** Enter the name-label of the SR that has been
+ set up outside CloudStack.
+
+ -
+
+ **Tags (optional).** The comma-separated list of tags for this
+ storage device. It should be an equivalent set or superset of
+ the tags on your disk offerings.
+
+ The tag sets on primary storage across clusters in a Zone must be
+ identical. For example, if cluster A provides primary storage that
+ has tags T1 and T2, all other clusters in the Zone must also
+ provide primary storage that has tags T1 and T2.
+
+ SharedMountPoint
+
+ -
+
+ **Path.** The path on each host that is where this primary
+ storage is mounted. For example, "/mnt/primary".
+
+ -
+
+ **Tags (optional).** The comma-separated list of tags for this
+ storage device. It should be an equivalent set or superset of
+ the tags on your disk offerings.
+
+ The tag sets on primary storage across clusters in a Zone must be
+ identical. For example, if cluster A provides primary storage that
+ has tags T1 and T2, all other clusters in the Zone must also
+ provide primary storage that has tags T1 and T2.
+
+ VMFS
+
+ -
+
+ **Server.** The IP address or DNS name of the vCenter server.
+
+ -
+
+ **Path.** A combination of the datacenter name and the
+ datastore name. The format is "/" datacenter name "/" datastore
+ name. For example, "/cloud.dc.VM/cluster1datastore".
+
+ -
+
+ **Tags (optional).** The comma-separated list of tags for this
+ storage device. It should be an equivalent set or superset of
+ the tags on your disk offerings.
+
+ The tag sets on primary storage across clusters in a Zone must be
+ identical. For example, if cluster A provides primary storage that
+ has tags T1 and T2, all other clusters in the Zone must also
+ provide primary storage that has tags T1 and T2.
+
+#.
+
+ In a new zone, CloudStack adds the first secondary storage server for
+ you. For an overview of what secondary storage is, see `Section 2.7,
+ “About Secondary Storage” <#about-secondary-storage>`__.
+
+ Before you can fill out this screen, you need to prepare the
+ secondary storage by setting up NFS shares and installing the latest
+ CloudStack System VM template. See Adding Secondary Storage :
+
+ -
+
+ **NFS Server.** The IP address of the server or fully qualified
+ domain name of the server.
+
+ -
+
+ **Path.** The exported path from the server.
+
+#.
+
+ Click Launch.
+
+Adding a Pod
+------------
+
+When you created a new zone, CloudStack adds the first pod for you. You
+can add more pods at any time using the procedure in this section.
+
+#.
+
+ Log in to the CloudStack UI. See `Section 5.1, “Log In to the
+ UI” <#log-in>`__.
+
+#.
+
+ In the left navigation, choose Infrastructure. In Zones, click View
+ More, then click the zone to which you want to add a pod.
+
+#.
+
+ Click the Compute and Storage tab. In the Pods node of the diagram,
+ click View All.
+
+#.
+
+ Click Add Pod.
+
+#.
+
+ Enter the following details in the dialog.
+
+ -
+
+ **Name.** The name of the pod.
+
+ -
+
+ **Gateway.** The gateway for the hosts in that pod.
+
+ -
+
+ **Netmask.** The network prefix that defines the pod's subnet. Use
+ CIDR notation.
+
+ -
+
+ **Start/End Reserved System IP.** The IP range in the management
+ network that CloudStack uses to manage various system VMs, such as
+ Secondary Storage VMs, Console Proxy VMs, and DHCP. For more
+ information, see System Reserved IP Addresses.
+
+#.
+
+ Click OK.
+
+Adding a Cluster
+----------------
+
+You need to tell CloudStack about the hosts that it will manage. Hosts
+exist inside clusters, so before you begin adding hosts to the cloud,
+you must add at least one cluster.
+
+Add Cluster: KVM or XenServer
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+These steps assume you have already installed the hypervisor on the
+hosts and logged in to the CloudStack UI.
+
+#.
+
+ In the left navigation, choose Infrastructure. In Zones, click View
+ More, then click the zone in which you want to add the cluster.
+
+#.
+
+ Click the Compute tab.
+
+#.
+
+ In the Clusters node of the diagram, click View All.
+
+#.
+
+ Click Add Cluster.
+
+#.
+
+ Choose the hypervisor type for this cluster.
+
+#.
+
+ Choose the pod in which you want to create the cluster.
+
+#.
+
+ Enter a name for the cluster. This can be text of your choosing and
+ is not used by CloudStack.
+
+#.
+
+ Click OK.
+
+Add Cluster: vSphere
+~~~~~~~~~~~~~~~~~~~~
+
+Host management for vSphere is done through a combination of vCenter and
+the CloudStack admin UI. CloudStack requires that all hosts be in a
+CloudStack cluster, but the cluster may consist of a single host. As an
+administrator you must decide if you would like to use clusters of one
+host or of multiple hosts. Clusters of multiple hosts allow for features
+like live migration. Clusters also require shared storage such as NFS or
+iSCSI.
+
+For vSphere servers, we recommend creating the cluster of hosts in
+vCenter and then adding the entire cluster to CloudStack. Follow these
+requirements:
+
+-
+
+ Do not put more than 8 hosts in a vSphere cluster
+
+-
+
+ Make sure the hypervisor hosts do not have any VMs already running
+ before you add them to CloudStack.
+
+To add a vSphere cluster to CloudStack:
+
+#.
+
+ Create the cluster of hosts in vCenter. Follow the vCenter
+ instructions to do this. You will create a cluster that looks
+ something like this in vCenter.
+
+ |vsphereclient.png: vSphere client|
+
+#.
+
+ Log in to the UI.
+
+#.
+
+ In the left navigation, choose Infrastructure. In Zones, click View
+ More, then click the zone in which you want to add the cluster.
+
+#.
+
+ Click the Compute tab, and click View All on Pods. Choose the pod to
+ which you want to add the cluster.
+
+#.
+
+ Click View Clusters.
+
+#.
+
+ Click Add Cluster.
+
+#.
+
+ In Hypervisor, choose VMware.
+
+#.
+
+ Provide the following information in the dialog. The fields below
+ make reference to the values from vCenter.
+
+ |addcluster.png: add a cluster|
+
+ -
+
+ **Cluster Name**: Enter the name of the cluster you created in
+ vCenter. For example, "cloud.cluster.2.2.1"
+
+ -
+
+ **vCenter Username**: Enter the username that CloudStack should
+ use to connect to vCenter. This user must have all the
+ administrative privileges.
+
+ -
+
+ **CPU overcommit ratio**: Enter the CPU overcommit ratio for the
+ cluster. The value you enter determines the CPU consumption of
+ each VM in the selected cluster. By increasing the
+ over-provisioning ratio, more resource capacity will be used. If
+ no value is specified, the value is defaulted to 1, which implies
+ no over-provisioning is done.
+
+ -
+
+ **RAM overcommit ratio**: Enter the RAM overcommit ratio for the
+ cluster. The value you enter determines the memory consumption of
+ each VM in the selected cluster. By increasing the
+ over-provisioning ratio, more resource capacity will be used. If
+ no value is specified, the value is defaulted to 1, which implies
+ no over-provisioning is done.
+
+ -
+
+ **vCenter Host**: Enter the hostname or IP address of the vCenter
+ server.
+
+ -
+
+ **vCenter Password**: Enter the password for the user named above.
+
+ -
+
+ **vCenter Datacenter**: Enter the vCenter datacenter that the
+ cluster is in. For example, "cloud.dc.VM".
+
+ -
+
+ **Override Public Traffic**: Enable this option to override the
+ zone-wide public traffic for the cluster you are creating.
+
+ -
+
+ **Public Traffic vSwitch Type**: This option is displayed only if
+ you enable the Override Public Traffic option. Select a desirable
+ switch. If the vmware.use.dvswitch global parameter is true, the
+ default option will be VMware vNetwork Distributed Virtual Switch.
+
+ If you have enabled Nexus dvSwitch in the environment, the
+ following parameters for dvSwitch configuration are displayed:
+
+ -
+
+ Nexus dvSwitch IP Address: The IP address of the Nexus VSM
+ appliance.
+
+ -
+
+ Nexus dvSwitch Username: The username required to access the
+ Nexus VSM appliance.
+
+ -
+
+ Nexus dvSwitch Password: The password associated with the
+ username specified above.
+
+ -
+
+ **Override Guest Traffic**: Enable this option to override the
+ zone-wide guest traffic for the cluster you are creating.
+
+ -
+
+ **Guest Traffic vSwitch Type**: This option is displayed only if
+ you enable the Override Guest Traffic option. Select a desirable
+ switch.
+
+ If the vmware.use.dvswitch global parameter is true, the default
+ option will be VMware vNetwork Distributed Virtual Switch.
+
+ If you have enabled Nexus dvSwitch in the environment, the
+ following parameters for dvSwitch configuration are displayed:
+
+ -
+
+ Nexus dvSwitch IP Address: The IP address of the Nexus VSM
+ appliance.
+
+ -
+
+ Nexus dvSwitch Username: The username required to access the
+ Nexus VSM appliance.
+
+ -
+
+ Nexus dvSwitch Password: The password associated with the
+ username specified above.
+
+ -
+
+ There might be a slight delay while the cluster is provisioned. It
+ will automatically display in the UI.
+
+Adding a Host
+-------------
+
+#.
+
+ Before adding a host to the CloudStack configuration, you must first
+ install your chosen hypervisor on the host. CloudStack can manage
+ hosts running VMs under a variety of hypervisors.
+
+ The CloudStack Installation Guide provides instructions on how to
+ install each supported hypervisor and configure it for use with
+ CloudStack. See the appropriate section in the Installation Guide for
+ information about which version of your chosen hypervisor is
+ supported, as well as crucial additional steps to configure the
+ hypervisor hosts for use with CloudStack.
+
+ .. warning:: Be sure you have performed the additional CloudStack-specific
+ configuration steps described in the hypervisor installation section
+ for your particular hypervisor.
+
+#.
+
+ Now add the hypervisor host to CloudStack. The technique to use
+ varies depending on the hypervisor.
+
+ -
+
+ `Section 6.6.1, “Adding a Host (XenServer or
+ KVM)” <#host-add-xenserver-kvm-ovm>`__
+
+ -
+
+ `Section 6.6.2, “Adding a Host (vSphere)” <#host-add-vsphere>`__
+
+Adding a Host (XenServer or KVM)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+XenServer and KVM hosts can be added to a cluster at any time.
+
+Requirements for XenServer and KVM Hosts
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. warning:: Make sure the hypervisor host does not have any VMs already running
+before you add it to CloudStack.
+
+Configuration requirements:
+
+-
+
+ Each cluster must contain only hosts with the identical hypervisor.
+
+-
+
+ For XenServer, do not put more than 8 hosts in a cluster.
+
+-
+
+ For KVM, do not put more than 16 hosts in a cluster.
+
+For hardware requirements, see the installation section for your
+hypervisor in the CloudStack Installation Guide.
+
+XenServer Host Additional Requirements
+''''''''''''''''''''''''''''''''''''''
+
+If network bonding is in use, the administrator must cable the new host
+identically to other hosts in the cluster.
+
+For all additional hosts to be added to the cluster, run the following
+command. This will cause the host to join the master in a XenServer
+pool.
+
+.. code:: bash
+
+ # xe pool-join master-address=[master IP] master-username=root master-password=[your password]
+
+Note
+
+
+When copying and pasting a command, be sure the command has pasted as a
+single line before executing. Some document viewers may introduce
+unwanted line breaks in copied text.
+
+With all hosts added to the XenServer pool, run the cloud-setup-bond
+script. This script will complete the configuration and setup of the
+bonds on the new hosts in the cluster.
+
+#.
+
+ Copy the script from the Management Server in
+ /usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver/cloud-setup-bonding.sh
+ to the master host and ensure it is executable.
+
+#.
+
+ Run the script:
+
+ .. code:: bash
+
+ # ./cloud-setup-bonding.sh
+
+KVM Host Additional Requirements
+''''''''''''''''''''''''''''''''
+
+-
+
+ If shared mountpoint storage is in use, the administrator should
+ ensure that the new host has all the same mountpoints (with storage
+ mounted) as the other hosts in the cluster.
+
+-
+
+ Make sure the new host has the same network configuration (guest,
+ private, and public network) as other hosts in the cluster.
+
+-
+
+ If you are using OpenVswitch bridges edit the file agent.properties
+ on the KVM host and set the parameter network.bridge.type to
+ openvswitch before adding the host to CloudStack
+
+Adding a XenServer or KVM Host
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+#.
+
+ If you have not already done so, install the hypervisor software on
+ the host. You will need to know which version of the hypervisor
+ software version is supported by CloudStack and what additional
+ configuration is required to ensure the host will work with
+ CloudStack. To find these installation details, see the appropriate
+ section for your hypervisor in the CloudStack Installation Guide.
+
+#.
+
+ Log in to the CloudStack UI as administrator.
+
+#.
+
+ In the left navigation, choose Infrastructure. In Zones, click View
+ More, then click the zone in which you want to add the host.
+
+#.
+
+ Click the Compute tab. In the Clusters node, click View All.
+
+#.
+
+ Click the cluster where you want to add the host.
+
+#.
+
+ Click View Hosts.
+
+#.
+
+ Click Add Host.
+
+#.
+
+ Provide the following information.
+
+ -
+
+ Host Name. The DNS name or IP address of the host.
+
+ -
+
+ Username. Usually root.
+
+ -
+
+ Password. This is the password for the user from your XenServer or
+ KVM install).
+
+ -
+
+ Host Tags (Optional). Any labels that you use to categorize hosts
+ for ease of maintenance. For example, you can set to the cloud's
+ HA tag (set in the ha.tag global configuration parameter) if you
+ want this host to be used only for VMs with the "high
+ availability" feature enabled. For more information, see
+ HA-Enabled Virtual Machines as well as HA for Hosts.
+
+ There may be a slight delay while the host is provisioned. It should
+ automatically display in the UI.
+
+#.
+
+ Repeat for additional hosts.
+
+Adding a Host (vSphere)
+~~~~~~~~~~~~~~~~~~~~~~~
+
+For vSphere servers, we recommend creating the cluster of hosts in
+vCenter and then adding the entire cluster to CloudStack. See Add
+Cluster: vSphere.
+
+Add Primary Storage
+-------------------
+
+System Requirements for Primary Storage
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Hardware requirements:
+
+-
+
+ Any standards-compliant iSCSI, SMB, or NFS server that is supported
+ by the underlying hypervisor.
+
+-
+
+ The storage server should be a machine with a large number of disks.
+ The disks should ideally be managed by a hardware RAID controller.
+
+-
+
+ Minimum required capacity depends on your needs.
+
+When setting up primary storage, follow these restrictions:
+
+-
+
+ Primary storage cannot be added until a host has been added to the
+ cluster.
+
+-
+
+ If you do not provision shared primary storage, you must set the
+ global configuration parameter system.vm.local.storage.required to
+ true, or else you will not be able to start VMs.
+
+Adding Primary Storage
+~~~~~~~~~~~~~~~~~~~~~~
+
+When you create a new zone, the first primary storage is added as part
+of that procedure. You can add primary storage servers at any time, such
+as when adding a new cluster or adding more servers to an existing
+cluster.
+
+.. warning:: When using preallocated storage for primary storage, be sure there is
+nothing on the storage (ex. you have an empty SAN volume or an empty NFS
+share). Adding the storage to CloudStack will destroy any existing data.
+
+.. note:: Primary storage can also be added at the zone level through the
+CloudStack API (adding zone-level primary storage is not yet supported
+through the CloudStack UI).
+
+Once primary storage has been added at the zone level, it can be managed
+through the CloudStack UI.
+
+#.
+
+ Log in to the CloudStack UI (see `Section 5.1, “Log In to the
+ UI” <#log-in>`__).
+
+#.
+
+ In the left navigation, choose Infrastructure. In Zones, click View
+ More, then click the zone in which you want to add the primary
+ storage.
+
+#.
+
+ Click the Compute tab.
+
+#.
+
+ In the Primary Storage node of the diagram, click View All.
+
+#.
+
+ Click Add Primary Storage.
+
+#.
+
+ Provide the following information in the dialog. The information
+ required varies depending on your choice in Protocol.
+
+ -
+
+ **Scope.** Indicate whether the storage is available to all hosts
+ in the zone or only to hosts in a single cluster.
+
+ -
+
+ **Pod.** (Visible only if you choose Cluster in the Scope field.)
+ The pod for the storage device.
+
+ -
+
+ **Cluster.** (Visible only if you choose Cluster in the Scope
+ field.) The cluster for the storage device.
+
+ -
+
+ **Name.** The name of the storage device.
+
+ -
+
+ **Protocol.** For XenServer, choose either NFS, iSCSI, or
+ PreSetup. For KVM, choose NFS or SharedMountPoint. For vSphere
+ choose either VMFS (iSCSI or FiberChannel) or NFS. For Hyper-V,
+ choose SMB.
+
+ -
+
+ **Server (for NFS, iSCSI, or PreSetup).** The IP address or DNS
+ name of the storage device.
+
+ -
+
+ **Server (for VMFS).** The IP address or DNS name of the vCenter
+ server.
+
+ -
+
+ **Path (for NFS).** In NFS this is the exported path from the
+ server.
+
+ -
+
+ **Path (for VMFS).** In vSphere this is a combination of the
+ datacenter name and the datastore name. The format is "/"
+ datacenter name "/" datastore name. For example,
+ "/cloud.dc.VM/cluster1datastore".
+
+ -
+
+ **Path (for SharedMountPoint).** With KVM this is the path on each
+ host that is where this primary storage is mounted. For example,
+ "/mnt/primary".
+
+ -
+
+ **SMB Username** (for SMB/CIFS): Applicable only if you select
+ SMB/CIFS provider. The username of the account which has the
+ necessary permissions to the SMB shares. The user must be part of
+ the Hyper-V administrator group.
+
+ -
+
+ **SMB Password** (for SMB/CIFS): Applicable only if you select
+ SMB/CIFS provider. The password associated with the account.
+
+ -
+
+ **SMB Domain**\ (for SMB/CIFS): Applicable only if you select
+ SMB/CIFS provider. The Active Directory domain that the SMB share
+ is a part of.
+
+ -
+
+ **SR Name-Label (for PreSetup).** Enter the name-label of the SR
+ that has been set up outside CloudStack.
+
+ -
+
+ **Target IQN (for iSCSI).** In iSCSI this is the IQN of the
+ target. For example, iqn.1986-03.com.sun:02:01ec9bb549-1271378984.
+
+ -
+
+ **Lun # (for iSCSI).** In iSCSI this is the LUN number. For
+ example, 3.
+
+ -
+
+ **Tags (optional).** The comma-separated list of tags for this
+ storage device. It should be an equivalent set or superset of the
+ tags on your disk offerings..
+
+ The tag sets on primary storage across clusters in a Zone must be
+ identical. For example, if cluster A provides primary storage that
+ has tags T1 and T2, all other clusters in the Zone must also provide
+ primary storage that has tags T1 and T2.
+
+#.
+
+ Click OK.
+
+Configuring a Storage Plug-in
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Note
+
+
+Primary storage that is based on a custom plug-in (ex. SolidFire) must
+be added through the CloudStack API (described later in this section).
+There is no support at this time through the CloudStack UI to add this
+type of primary storage (although most of its features are available
+through the CloudStack UI).
+
+Note
+
+
+At this time, a custom storage plug-in, such as the SolidFire storage
+plug-in, can only be leveraged for data disks (through Disk Offerings).
+
+Note
+
+
+The SolidFire storage plug-in for CloudStack is part of the standard
+CloudStack install. There is no additional work required to add this
+component.
+
+Adding primary storage that is based on the SolidFire plug-in enables
+CloudStack to provide hard quality-of-service (QoS) guarantees.
+
+When used with Disk Offerings, an administrator is able to build an
+environment in which a data disk that a user creates leads to the
+dynamic creation of a SolidFire volume, which has guaranteed
+performance. Such a SolidFire volume is associated with one (and only
+ever one) CloudStack volume, so performance of the CloudStack volume
+does not vary depending on how heavily other tenants are using the
+system.
+
+The createStoragePool API has been augmented to support plugable storage
+providers. The following is a list of parameters to use when adding
+storage to CloudStack that is based on the SolidFire plug-in:
+
+-
+
+ command=createStoragePool
+
+-
+
+ scope=zone
+
+-
+
+ zoneId=[your zone id]
+
+-
+
+ name=[name for primary storage]
+
+-
+
+ hypervisor=Any
+
+-
+
+ provider=SolidFire
+
+-
+
+ capacityIops=[whole number of IOPS from the SAN to give to
+ CloudStack]
+
+-
+
+ capacityBytes=[whole number of bytes from the SAN to give to
+ CloudStack]
+
+The url parameter is somewhat unique in that its value can contain
+additional key/value pairs.
+
+url=[key/value pairs detailed below (values are URL encoded; for
+example, '=' is represented as '%3D')]
+
+-
+
+ MVIP%3D[Management Virtual IP Address] (can be suffixed with :[port
+ number])
+
+-
+
+ SVIP%3D[Storage Virtual IP Address] (can be suffixed with :[port
+ number])
+
+-
+
+ clusterAdminUsername%3D[cluster admin's username]
+
+-
+
+ clusterAdminPassword%3D[cluster admin's password]
+
+-
+
+ clusterDefaultMinIops%3D[Min IOPS (whole number) to set for a volume;
+ used if Min IOPS is not specified by administrator or user]
+
+-
+
+ clusterDefaultMaxIops%3D[Max IOPS (whole number) to set for a volume;
+ used if Max IOPS is not specified by administrator or user]
+
+-
+
+ clusterDefaultBurstIopsPercentOfMaxIops%3D[Burst IOPS is determined
+ by (Min IOPS \* clusterDefaultBurstIopsPercentOfMaxIops parameter)
+ (can be a decimal value)]
+
+Example URL to add primary storage to CloudStack based on the SolidFire
+plug-in (note that URL encoding is used with the value of the url key,
+so '%3A' equals ':','%3B' equals ';' (';' is a key/value pair delimiter
+for the url field) and '%3D' equals '='):
+
+http://127.0.0.1:8080/client/api?
+
+command=createStoragePool
+
+&scope=zone
+
+&zoneId=cf4e6ddf-8ae7-4194-8270-d46733a52b55
+
+&name=SolidFire\_121258566
+
+&url=
+
+MVIP%3D192.168.138.180%3A443
+
+%3BSVIP%3D192.168.56.7
+
+%3BclusterAdminUsername%3Dadmin
+
+%3BclusterAdminPassword%3Dpassword
+
+%3BclusterDefaultMinIops%3D200
+
+%3BclusterDefaultMaxIops%3D300
+
+%3BclusterDefaultBurstIopsPercentOfMaxIops%3D2.5
+
+&provider=SolidFire
+
+&tags=SolidFire\_SAN\_1
+
+&capacityIops=4000000
+
+&capacityBytes=2251799813685248
+
+&hypervisor=Any
+
+&response=json
+
+&apiKey=VrrkiZQWFFgSdA6k3DYtoKLcrgQJjZXoSWzicHXt8rYd9Bl47p8L39p0p8vfDpiljtlcMLn\_jatMSqCWv5Cs-Q
+
+&signature=wqf8KzcPpY2JmT1Sxk%2F%2BWbgX3l8%3D
+
+Add Secondary Storage
+---------------------
+
+System Requirements for Secondary Storage
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-
+
+ NFS storage appliance or Linux NFS server
+
+-
+
+ SMB/CIFS (Hyper-V)
+
+-
+
+ (Optional) OpenStack Object Storage (Swift) (see
+ http://swift.openstack.org)
+
+-
+
+ 100GB minimum capacity
+
+-
+
+ A secondary storage device must be located in the same zone as the
+ guest VMs it serves.
+
+-
+
+ Each Secondary Storage server must be available to all hosts in the
+ zone.
+
+Adding Secondary Storage
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+When you create a new zone, the first secondary storage is added as part
+of that procedure. You can add secondary storage servers at any time to
+add more servers to an existing zone.
+
+.. warning:: Ensure that nothing is stored on the server. Adding the server to
+CloudStack will destroy any existing data.
+
+#.
+
+ To prepare for the zone-based Secondary Staging Store, you should
+ have created and mounted an NFS share during Management Server
+ installation. See `Section 4.5.7, “Prepare NFS
+ Shares” <#prepare-nfs-shares>`__.
+
+ If you are using an Hyper-V host, ensure that you have created a SMB
+ share.
+
+#.
+
+ Make sure you prepared the system VM template during Management
+ Server installation. See `Section 4.5.9, “Prepare the System VM
+ Template” <#prepare-system-vm-template>`__.
+
+#.
+
+ Log in to the CloudStack UI as root administrator.
+
+#.
+
+ In the left navigation bar, click Infrastructure.
+
+#.
+
+ In Secondary Storage, click View All.
+
+#.
+
+ Click Add Secondary Storage.
+
+#.
+
+ Fill in the following fields:
+
+ -
+
+ Name. Give the storage a descriptive name.
+
+ -
+
+ Provider. Choose S3, Swift, NFS, or CIFS then fill in the related
+ fields which appear. The fields will vary depending on the storage
+ provider; for more information, consult the provider's
+ documentation (such as the S3 or Swift website). NFS can be used
+ for zone-based storage, and the others for region-wide storage.
+ For Hyper-V, select SMB/CIFS.
+
+ .. warning:: Heterogeneous Secondary Storage is not supported in Regions. You
+ can use only a single NFS, S3, or Swift account per region.
+
+ -
+
+ Create NFS Secondary Staging Store. This box must always be
+ checked.
+
+ .. warning:: Even if the UI allows you to uncheck this box, do not do so. This
+ checkbox and the three fields below it must be filled in. Even
+ when Swift or S3 is used as the secondary storage provider, an NFS
+ staging storage in each zone is still required.
+
+ -
+
+ Zone. The zone where the NFS Secondary Staging Store is to be
+ located.
+
+ -
+
+ **SMB Username**: Applicable only if you select SMB/CIFS provider.
+ The username of the account which has the necessary permissions to
+ the SMB shares. The user must be part of the Hyper-V administrator
+ group.
+
+ -
+
+ **SMB Password**: Applicable only if you select SMB/CIFS provider.
+ The password associated with the account.
+
+ -
+
+ **SMB Domain**: Applicable only if you select SMB/CIFS provider.
+ The Active Directory domain that the SMB share is a part of.
+
+ -
+
+ NFS server. The name of the zone's Secondary Staging Store.
+
+ -
+
+ Path. The path to the zone's Secondary Staging Store.
+
+Adding an NFS Secondary Staging Store for Each Zone
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Every zone must have at least one NFS store provisioned; multiple NFS
+servers are allowed per zone. To provision an NFS Staging Store for a
+zone:
+
+#.
+
+ Log in to the CloudStack UI as root administrator.
+
+#.
+
+ In the left navigation bar, click Infrastructure.
+
+#.
+
+ In Secondary Storage, click View All.
+
+#.
+
+ In Select View, choose Secondary Staging Store.
+
+#.
+
+ Click the Add NFS Secondary Staging Store button.
+
+#.
+
+ Fill out the dialog box fields, then click OK:
+
+ -
+
+ Zone. The zone where the NFS Secondary Staging Store is to be
+ located.
+
+ -
+
+ NFS server. The name of the zone's Secondary Staging Store.
+
+ -
+
+ Path. The path to the zone's Secondary Staging Store.
+
+Initialize and Test
+-------------------
+
+After everything is configured, CloudStack will perform its
+initialization. This can take 30 minutes or more, depending on the speed
+of your network. When the initialization has completed successfully, the
+administrator's Dashboard should be displayed in the CloudStack UI.
+
+#.
+
+ Verify that the system is ready. In the left navigation bar, select
+ Templates. Click on the CentOS 5.5 (64bit) no Gui (KVM) template.
+ Check to be sure that the status is "Download Complete." Do not
+ proceed to the next step until this status is displayed.
+
+#.
+
+ Go to the Instances tab, and filter by My Instances.
+
+#.
+
+ Click Add Instance and follow the steps in the wizard.
+
+ #.
+
+ Choose the zone you just added.
+
+ #.
+
+ In the template selection, choose the template to use in the VM.
+ If this is a fresh installation, likely only the provided CentOS
+ template is available.
+
+ #.
+
+ Select a service offering. Be sure that the hardware you have
+ allows starting the selected service offering.
+
+ #.
+
+ In data disk offering, if desired, add another data disk. This is
+ a second volume that will be available to but not mounted in the
+ guest. For example, in Linux on XenServer you will see /dev/xvdb
+ in the guest after rebooting the VM. A reboot is not required if
+ you have a PV-enabled OS kernel in use.
+
+ #.
+
+ In default network, choose the primary network for the guest. In a
+ trial installation, you would have only one option here.
+
+ #.
+
+ Optionally give your VM a name and a group. Use any descriptive
+ text you would like.
+
+ #.
+
+ Click Launch VM. Your VM will be created and started. It might
+ take some time to download the template and complete the VM
+ startup. You can watch the VM’s progress in the Instances
+ screen.
+
+#.
+
+ To use the VM, click the View Console button. |ConsoleButton.png:
+ button to launch a console|
+
+ For more information about using VMs, including instructions for how
+ to allow incoming network traffic to the VM, start, stop, and delete
+ VMs, and move a VM from one host to another, see Working With Virtual
+ Machines in the Administrator’s Guide.
+
+Congratulations! You have successfully completed a CloudStack
+Installation.
+
+If you decide to grow your deployment, you can add more hosts, primary
+storage, zones, pods, and clusters.
+
+
+.. |1000-foot-view.png: Overview of CloudStack| image:: ./_static/images/1000-foot-view.png
+.. |basic-deployment.png: Basic two-machine deployment| image:: ./_static/images/basic-deployment.png
+.. |infrastructure_overview.png: Nested organization of a zone| image:: ./_static/images/infrastructure-overview.png
+.. |region-overview.png: Nested structure of a region.| image:: ./_static/images/region-overview.png
+.. |zone-overview.png: Nested structure of a simple zone.| image:: ./_static/images/zone-overview.png
+.. |pod-overview.png: Nested structure of a simple pod| image:: ./_static/images/pod-overview.png
+.. |cluster-overview.png: Structure of a simple cluster| image:: ./_static/images/cluster-overview.png
+.. |installation-complete.png: Finished installs with single Management Server and multiple Management Servers| image:: ./_static/images/installation-complete.png
+.. |change-password.png: button to change a user's password| image:: ./_static/images/change-password.png
+.. |provisioning-overview.png: Conceptual overview of a basic deployment| image:: ./_static/images/provisioning-overview.png
+.. |vsphereclient.png: vSphere client| image:: ./_static/images/vsphere-client.png
+.. |addcluster.png: add a cluster| image:: ./_static/images/add-cluster.png
+.. |ConsoleButton.png: button to launch a console| image:: ./_static/images/console-icon.png
+.. |DeleteButton.png: button to delete dvSwitch| image:: ./_static/images/delete-button.png
+.. |vds-name.png: Name of the dvSwitch as specified in the vCenter.| image:: ./_static/images/vds-name.png
+.. |traffic-type.png: virtual switch type| image:: ./_static/images/traffic-type.png
+.. |dvSwitchConfig.png: Configuring dvSwitch| image:: ./_static/images/dvSwitch-config.png
+.. |Small-Scale Deployment| image:: ./_static/images/small-scale-deployment.png
+.. |Large-Scale Redundant Setup| image:: ./_static/images/large-scale-redundant-setup.png
+.. |Multi-Node Management Server| image:: ./_static/images/multi-node-management-server.png
+.. |Example Of A Multi-Site Deployment| image:: ./_static/images/multi-site-deployment.png
+.. |Separate Storage Network| image:: ./_static/images/separate-storage-network.png
+.. |NIC Bonding And Multipath I/O| image:: ./_static/images/nic-bonding-and-multipath-io.png
+.. |Use the GUI to set the configuration variable to true| image:: ./_static/images/ec2-s3-configuration.png
+.. |Use the GUI to set the name of a compute service offering to an EC2 instance type API name.| image:: ./_static/images/compute-service-offerings.png
+.. |parallel-mode.png: adding a firewall and load balancer in parallel mode.| image:: ./_static/images/parallel-mode.png
+.. |guest-traffic-setup.png: Depicts a guest traffic setup| image:: ./_static/images/guest-traffic-setup.png
+.. |networksinglepod.png: diagram showing logical view of network in a pod| image:: ./_static/images/network-singlepod.png
+.. |networksetupzone.png: Depicts network setup in a single zone| image:: ./_static/images/network-setup-zone.png
+.. |addguestnetwork.png: Add Guest network setup in a single zone| image:: ./_static/images/add-guest-network.png
+.. |remove-nic.png: button to remove a NIC| image:: ./_static/images/remove-nic.png
+.. |set-default-nic.png: button to set a NIC as default one.| image:: ./_static/images/set-default-nic.png
+.. |EditButton.png: button to edit a network| image:: ./_static/images/edit-icon.png
+.. |edit-icon.png: button to edit a network| image:: ./_static/images/edit-icon.png
+.. |addAccount-icon.png: button to assign an IP range to an account.| image:: ./_static/images/addAccount-icon.png
+.. |eip-ns-basiczone.png: Elastic IP in a NetScaler-enabled Basic Zone.| image:: ./_static/images/eip-ns-basiczone.png
+.. |add-ip-range.png: adding an IP range to a network.| image:: ./_static/images/add-ip-range.png
+.. |httpaccess.png: allows inbound HTTP access from anywhere| image:: ./_static/images/http-access.png
+.. |autoscaleateconfig.png: Configuring AutoScale| image:: ./_static/images/autoscale-config.png
+.. |EnableDisable.png: button to enable or disable AutoScale.| image:: ./_static/images/enable-disable-autoscale.png
+.. |gslb.png: GSLB architecture| image:: ./_static/images/gslb.png
+.. |gslb-add.png: adding a gslb rule| image:: ./_static/images/add-gslb.png
+.. |ReleaseIPButton.png: button to release an IP| image:: ./_static/images/release-ip-icon.png
+.. |EnableNATButton.png: button to enable NAT| image:: ./_static/images/enable-disable.png
+.. |egress-firewall-rule.png: adding an egress firewall rule| image:: ./_static/images/egress-firewall-rule.png
+.. |AttachDiskButton.png: button to attach a volume| image:: ./_static/images/vpn-icon.png
+.. |vpn-icon.png: button to enable VPN| image:: ./_static/images/vpn-icon.png
+.. |addvpncustomergateway.png: adding a customer gateway.| image:: ./_static/images/add-vpn-customer-gateway.png
+.. |edit.png: button to edit a VPN customer gateway| image:: ./_static/images/edit-icon.png
+.. |delete.png: button to remove a VPN customer gateway| image:: ./_static/images/delete-button.png
+.. |createvpnconnection.png: creating a VPN connection to the customer gateway.| image:: ./_static/images/create-vpn-connection.png
+.. |remove-vpn.png: button to remove a VPN connection| image:: ./_static/images/remove-vpn.png
+.. |reset-vpn.png: button to reset a VPN connection| image:: ./_static/images/reset-vpn.png
+.. |mutltier.png: a multi-tier setup.| image:: ./_static/images/multi-tier-app.png
+.. |add-vpc.png: adding a vpc.| image:: ./_static/images/add-vpc.png
+.. |add-tier.png: adding a tier to a vpc.| image:: ./_static/images/add-tier.png
+.. |replace-acl-icon.png: button to replace an ACL list| image:: ./_static/images/replace-acl-icon.png
+.. |add-new-gateway-vpc.png: adding a private gateway for the VPC.| image:: ./_static/images/add-new-gateway-vpc.png
+.. |replace-acl-icon.png: button to replace the default ACL behaviour.| image:: ./_static/images/replace-acl-icon.png
+.. |add-vm-vpc.png: adding a VM to a vpc.| image:: ./_static/images/add-vm-vpc.png
+.. |addvm-tier-sharednw.png: adding a VM to a VPC tier and shared network.| image:: ./_static/images/addvm-tier-sharednw.png
+.. |release-ip-icon.png: button to release an IP.| image:: ./_static/images/release-ip-icon.png
+.. |enable-disable.png: button to enable Static NAT.| image:: ./_static/images/enable-disable.png
+.. |select-vmstatic-nat.png: selecting a tier to apply staticNAT.| image:: ./_static/images/select-vm-staticnat-vpc.png
+.. |vpc-lb.png: Configuring internal LB for VPC| image:: ./_static/images/vpc-lb.png
+.. |del-tier.png: button to remove a tier| image:: ./_static/images/del-tier.png
+.. |remove-vpc.png: button to remove a VPC| image:: ./_static/images/remove-vpc.png
+.. |edit-icon.png: button to edit a VPC| image:: ./_static/images/edit-icon.png
+.. |restart-vpc.png: button to restart a VPC| image:: ./_static/images/restart-vpc.png