If you have already installed CloudPlatform or you want to learn more about the ongoing operation and
maintenance of a CloudPlatform-powered cloud, read this documentation. It will help you start using,
configuring, and managing the ongoing operation of your cloud.
1. Getting More Information and Help 1
1.1. Additional Documentation Available ............................................................................... 1
1.2. Citrix Knowledge Center ............................................................................................... 1
1.3. Contacting Support ....................................................................................................... 1
2. Concepts 3
2.1. What Is CloudPlatform? ................................................................................................ 3
2.2. What Can CloudPlatform Do? ....................................................................................... 3
• Installation Guide — Covers initial installation of CloudPlatform. It aims to cover in full detail all the
steps and requirements to obtain a functioning cloud deployment.
At times, this guide mentions additional topics in the context of installation tasks, but does not
give full details on every topic. Additional details on many of these topics can be found in the
CloudPlatform Administration Guide. For example, security groups, firewall and load balancing
rules, IP address allocation, and virtual routers are covered in more detail in the Administration
Guide.
• Administration Guide — Discusses how to set up services for the end users of your cloud. Also
covers ongoing runtime management and maintenance. This guide discusses topics like domains,
accounts, service offerings, projects, guest networks, administrator alerts, virtual machines, storage,
and measuring resource usage.
• Developer's Guide — How to use the API to interact with CloudPlatform programmatically.
1.2. Citrix Knowledge Center
Troubleshooting articles by the Citrix support team are available in the Citrix Knowledge Center, at
support.citrix.com/product/cs/1.
1.3. Contacting Support
The support team is available to help customers plan and execute their installations. To contact the
support team, log in to the support portal at support.citrix.com/cloudsupport2 by using the account
credentials you received when you purchased your support contract.
1
http://support.citrix.com/product/cs/
2
http://support.citrix.com/cloudsupport
1
2
Chapter 2.
Concepts
2.1. What Is CloudPlatform?
CloudPlatform is a software platform that pools computing resources to build public, private, and
hybrid Infrastructure as a Service (IaaS) clouds. CloudPlatform manages the network, storage, and
compute nodes that make up a cloud infrastructure. Use CloudPlatform to deploy, manage, and
configure cloud computing environments.
Typical users are service providers and enterprises. With CloudPlatform, you can:
• Set up an on-demand, elastic cloud computing service. Service providers can sell self service virtual
machine instances, storage volumes, and networking configurations over the Internet.
• Set up an on-premise private cloud for use by employees. Rather than managing virtual machines in
the same way as physical machines, with CloudPlatform an enterprise can offer self-service virtual
machines to users without involving IT departments.
2.2. What Can CloudPlatform Do?
Multiple Hypervisor Support
CloudPlatform works with a variety of hypervisors. A single cloud deployment can contain multiple
hypervisor implementations. You have the complete freedom to choose the right hypervisor for your
workload.
CloudPlatform is designed to work with open source Xen and KVM hypervisors as well as enterprisegrade hypervisors such as Citrix XenServer, VMware vSphere, and Oracle VM (OVM).
3
Chapter 2. Concepts
Massively Scalable Infrastructure Management
CloudPlatform can manage tens of thousands of servers installed in multiple geographically distributed
datacenters. The centralized management server scales linearly, eliminating the need for intermediate
cluster-level management servers. No single component failure can cause cloud-wide outage. Periodic
maintenance of the management server can be performed without affecting the functioning of virtual
machines running in the cloud.
Automatic Configuration Management
CloudPlatform automatically configures each guest virtual machine’s networking and storage settings.
CloudPlatform internally manages a pool of virtual appliances to support the cloud itself. These
appliances offer services such as firewalling, routing, DHCP, VPN access, console proxy, storage
access, and storage replication. The extensive use of virtual appliances simplifies the installation,
configuration, and ongoing management of a cloud deployment.
Graphical User Interface
CloudPlatform offers an administrator's Web interface, used for provisioning and managing the cloud,
as well as an end-user's Web interface, used for running VMs and managing VM templates. The UI
can be customized to reflect the desired service provider or enterprise look and feel.
API and Extensibility
CloudPlatform provides an API that gives programmatic access to all the management features
available in the UI. This API enables the creation of command line tools and new user interfaces to
suit particular needs.
The CloudPlatform pluggable allocation architecture allows the creation of new types of allocators for
the selection of storage and hosts.
High Availability
CloudPlatform has a number of features to increase the availability of the system. The Management
Server itself, which is the main controlling software at the heart of CloudPlatform, may be deployed
in a multi-node installation where the servers are load balanced. MySQL may be configured to use
replication to provide for a manual failover in the event of database loss. For the hosts, CloudPlatform
supports NIC bonding and the use of separate networks for storage as well as iSCSI Multipath.
2.3. Deployment Architecture Overview
A CloudPlatform installation consists of two parts: the Management Server and the cloud infrastructure
that it manages. When you set up and manage a CloudPlatform cloud, you provision resources such
as hosts, storage devices, and IP addresses into the Management Server, and the Management
Server manages those resources.
The minimum production installation consists of one machine running the CloudPlatform Management
Server and another machine to act as the cloud infrastructure (in this case, a very simple infrastructure
consisting of one host running hypervisor software). In a trial installation, a single machine can act as
both the Management Server and the hypervisor host (using the KVM hypervisor).
4
Management Server Overview
A more full-featured installation consists of a highly-available multi-node Management Server
installation and up to thousands of hosts using any of several advanced networking setups. For
information about deployment options, see Choosing a Deployment Architecture in the Installation
Guide.
2.3.1. Management Server Overview
The Management Server is the CloudPlatform software that manages cloud resources. By interacting
with the Management Server through its UI or API, you can configure and manage your cloud
infrastructure.
The Management Server runs on a dedicated server or VM. It controls allocation of virtual machines
to hosts and assigns storage and IP addresses to the virtual machine instances. The Management
Server runs in a Tomcat container and uses a MySQL database for persistence.
The machine where the Management Server runs must meet the system requirements described in
Minimum System Requirements in the Installation Guide.
The Management Server:
• Provides the web user interface for the administrator and a reference user interface for end users.
• Provides the APIs for CloudPlatform.
• Manages the assignment of guest VMs to particular hosts.
• Manages the assignment of public and private IP addresses to particular accounts.
• Manages the allocation of storage to guests as virtual disks.
• Manages snapshots, templates, and ISO images, possibly replicating them across data centers.
• Provides a single point of configuration for the cloud.
2.3.2. Cloud Infrastructure Overview
The Management Server manages one or more zones (typically, datacenters) containing host
computers where guest virtual machines will run. The cloud infrastructure is organized as follows:
• Region: To increase reliability of the cloud, you can optionally group resources into multiple
geographic regions. A region consists of one or more zones.
5
Chapter 2. Concepts
• Zone: Typically, a zone is equivalent to a single datacenter. A zone consists of one or more pods
and secondary storage.
• Pod: A pod is usually one rack of hardware that includes a layer-2 switch and one or more clusters.
• Cluster: A cluster consists of one or more hosts and primary storage.
• Host: A single compute node within a cluster. The hosts are where the actual cloud services run in
the form of guest virtual machines.
• Primary storage is associated with a cluster, and it can also be provisioned on a zone-wide basis. It
stores the disk volumes for all the VMs running on hosts in that cluster.
• Secondary storage is associated with a zone, and it can also be provisioned as object storage that
is available throughout the cloud. It stores templates, ISO images, and disk volume snapshots.
More Information
For more information, see Chapter 3, Cloud Infrastructure Concepts.
2.3.3. Networking Overview
CloudPlatform offers two types of networking scenario:
6
Networking Overview
• Basic. Provides a single network where 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 guest isolation.
For more details, see Network Setup in the Installation Guide.
7
8
Chapter 3.
Cloud Infrastructure Concepts
3.1. About Regions
To increase reliability of the cloud, you can optionally group resources into multiple geographic
regions. A region is the largest available organizational unit within a CloudPlatform deployment. A
region is made up of several availability zones, where each zone is equivalent to a datacenter. Each
region is controlled by its own cluster of Management Servers, running in one of the zones. The zones
in a region are typically located in close geographical proximity. Regions are a useful technique for
providing fault tolerance and disaster recovery.
By grouping zones into regions, the cloud can achieve higher availability and scalability. User
accounts can span regions, so that users can deploy VMs in multiple, widely-dispersed regions.
Even if one of the regions becomes unavailable, the services are still available to the end-user
through VMs deployed in another region. And by grouping communities of zones under their own
nearby Management Servers, the latency of communications within the cloud is reduced compared to
managing widely-dispersed zones from a single central Management Server.
Usage records can also be consolidated and tracked at the region level, creating reports or invoices
for each geographic region.
Regions are visible to the end user. When a user starts a guest VM on a particular CloudPlatform
Management Server, the user is implicitly selecting that region for their guest. Users might also be
required to copy their private templates to additional regions to enable creation of guest VMs using
their templates in those regions.
3.2. About Zones
A zone is the second largest organizational unit within a CloudPlatform deployment. A zone typically
corresponds to a single datacenter, although it is permissible to have multiple zones in a datacenter.
9
Chapter 3. Cloud Infrastructure Concepts
The benefit of organizing infrastructure into zones is to provide physical isolation and redundancy. For
example, each zone can have its own power supply and network uplink, and the zones can be widely
separated geographically (though this is not required).
A zone consists of:
• One or more pods. Each pod contains one or more clusters of hosts and one or more primary
storage servers.
• (Optional) If zone-wide primary storage is desired, a zone may contain one or more primary storage
servers, which are shared by all the pods in the zone. (Supported for KVM and VMware hosts)
• Secondary storage, which is shared by all the pods in the zone.
Zones are visible to the end user. When a user starts a guest VM, the user must select a zone for
their guest. Users might also be required to copy their private templates to additional zones to enable
creation of guest VMs using their templates in those zones.
Zones can be public or private. Public zones are visible to all users. This means that any user may
create a guest in that zone. Private zones are reserved for a specific domain. Only users in that
domain or its subdomains may create guests in that zone.
Hosts in the same zone are directly accessible to each other without having to go through a firewall.
Hosts in different zones can access each other through statically configured VPN tunnels.
10
About Pods
For each zone, the administrator must decide the following.
• How many pods to place in a zone.
• How many clusters to place in each pod.
• How many hosts to place in each cluster.
• (Optional) If zone-wide primary storage is being used, decide how many primary storage servers to
place in each zone and total capacity for these storage servers. (Supported for KVM and VMware
hosts)
• How many primary storage servers to place in each cluster and total capacity for these storage
servers.
• How much secondary storage to deploy in 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.
(VMware) In order to support zone-wide functions for VMware, CloudPlatform is aware of VMware
Datacenters and can map each Datacenter to a CloudPlatform zone. To enable features like storage
live migration and zone-wide primary storage for VMware hosts, CloudPlatform has to make sure
that a zone contains only a single VMware Datacenter. Therefore, when you are creating a new
CloudPlatform zone, you can select a VMware Datacenter for the zone. If you are provisioning multiple
VMware Datacenters, each one will be set up as a single zone in CloudPlatform.
Note
If you are upgrading from a previous CloudPlatform version, and your existing deployment
contains a zone with clusters from multiple VMware Datacenters, that zone will not be forcibly
migrated to the new model. It will continue to function as before. However, any new zone-wide
operations introduced in CloudPlatform 4.2, such as zone-wide primary storage and live storage
migration, will not be available in that zone.
3.3. About Pods
A pod often represents a single rack. Hosts in the same pod are in the same subnet. A pod is the
third-largest organizational unit within a CloudPlatform deployment. Pods are contained within zones,
and zones can be contained within regions. Each zone can contain one or more pods. A pod consists
of one or more clusters of hosts and one or more primary storage servers. Pods are not visible to the
end user.
11
Chapter 3. Cloud Infrastructure Concepts
3.4. About Clusters
A cluster provides a way to group hosts. To be precise, a cluster is a XenServer server pool, a set
of KVM servers, a set of OVM hosts, or a VMware cluster preconfigured in vCenter. The hosts in a
cluster all have identical hardware, run the same hypervisor, are on the same subnet, and access the
same shared primary storage. Virtual machine instances (VMs) can be live-migrated from one host to
another within the same cluster without interrupting service to the user.
A cluster is the fourth-largest organizational unit within a CloudPlatform deployment. Clusters
are contained within pods, pods are contained within zones, and zones can be contained within
regions. Size of the cluster is only limited by the underlying hypervisor, although the CloudPlatform
recommends you stay below the theoretically allowed maximum cluster size in most cases.
A cluster consists of one or more hosts and one or more primary storage servers.
Even when local storage is used, clusters are still required. In this case, there is just one host per
cluster.
(VMware) If you use VMware hypervisor hosts in your CloudPlatform deployment, each VMware
cluster is managed by a vCenter server. The CloudPlatform administrator must register the vCenter
12
About Hosts
server with CloudPlatform. There may be multiple vCenter servers per zone. Each vCenter server may
manage multiple VMware clusters.
3.5. About Hosts
A host is a single computer. Hosts provide the computing resources that run guest virtual machines.
Each host has hypervisor software installed on it to manage the guest VMs. For example, a host can
be a Citrix XenServer server, a Linux KVM-enabled server, or an ESXi server.
The host is the smallest organizational unit within a CloudPlatform deployment. Hosts are contained
within clusters, clusters are contained within pods, pods are contained within zones, and zones can be
contained within regions.
Hosts in a CloudPlatform deployment:
• Provide the CPU, memory, storage, and networking resources needed to host the virtual machines
• Interconnect using a high bandwidth TCP/IP network and connect to the Internet
• May reside in multiple data centers across different geographic locations
• May have different capacities (different CPU speeds, different amounts of RAM, etc.), although the
hosts within a cluster must all be homogeneous
Additional hosts can be added at any time to provide more capacity for guest VMs.
CloudPlatform automatically detects the amount of CPU and memory resources provided by the hosts.
Hosts are not visible to the end user. An end user cannot determine which host their guest has been
assigned to.
For a host to function in CloudPlatform, you must do the following:
• Install hypervisor software on the host
• Assign an IP address to the host
• Ensure the host is connected to the CloudPlatform Management Server.
3.6. About Primary Storage
Primary storage is associated with a cluster or (in KVM and VMware) a zone, and it stores the disk
volumes for all the VMs running on hosts.
You can add multiple primary storage servers to a cluster or zone. At least one is required. It is
typically located close to the hosts for increased performance. CloudPlatform manages the allocation
of guest virtual disks to particular primary storage devices.
It is useful to set up zone-wide primary storage when you want to avoid extra data copy operations.
With cluster-based primary storage, data in the primary storage is directly available only to VMs
within that cluster. If a VM in a different cluster needs some of the data, it must be copied from one
cluster to another, using the zone's secondary storage as an intermediate step. This operation can be
unnecessarily time-consuming.
CloudPlatform is designed to work with all standards-compliant iSCSI and NFS servers that are
supported by the underlying hypervisor, including, for example:
13
Chapter 3. Cloud Infrastructure Concepts
• Dell EqualLogic™ for iSCSI
• Network Appliances filers for NFS and iSCSI
• Scale Computing for NFS
If you intend to use only local disk for your installation, you can skip adding separate primary storage.
3.7. About Secondary Storage
Secondary storage stores the following:
• Templates — OS images that can be used to boot VMs and can include additional configuration
information, such as installed applications
• ISO images — disc images containing data or bootable media for operating systems
• Disk volume snapshots — saved copies of VM data which can be used for data recovery or to
create new templates
The items in secondary storage are available to all hosts in the scope of the secondary storage, which
may be defined as per zone or per region.
CloudPlatform manages the allocation of guest virtual disks to particular primary storage devices.
To make items in secondary storage available to all hosts throughout the cloud, you can add object
storage in addition to the zone-based NFS Secondary Staging Store. It is not necessary to copy
templates and snapshots from one zone to another, as would be required when using zone NFS
alone. Everything is available everywhere.
Object storage is provided through third-party software such as Amazon Simple Storage Service (S3)
or any other object storage that supports the S3 interface. Additional third party object storages can be
integrated with CloudPlatform by writing plugin software that uses the object storage plugin capability.
CloudPlatform provides some plugins which we have already written for you using this storage plugin
capability. The provided plugins are for OpenStack Object Storage (Swift, swift.openstack.org1)
and Amazon Simple Storage Service (S3) object storage. The S3 plugin can be used for any object
storage that supports the Amazon S3 interface. When using one of these storage plugins, you
configure Swift or S3 storage for the entire CloudPlatform, then set up the NFS Secondary Staging
Store for each zone. The NFS storage in each zone acts as a staging area through which all templates
and other secondary storage data pass before being forwarded to Swift or S3. The backing object
storage acts as a cloud-wide resource, making templates and other data available to any zone in the
cloud.
There is no hierarchy in the Swift storage, just one Swift container per storage object. Any secondary
storage in the whole cloud can pull a container from Swift at need.
3.8. About Physical Networks
Part of adding a zone is setting up the physical network. One or (in an advanced zone) more physical
networks can be associated with each zone. The network corresponds to a NIC on the hypervisor
host. Each physical network can carry one or more types of network traffic. The choices of traffic
1
http://swift.openstack.org
14
Basic Zone Network Traffic Types
type for each network vary depending on whether you are creating a zone with basic networking or
advanced networking.
A physical network is the actual network hardware and wiring in a zone. A zone can have multiple
physical networks. An administrator can:
• Add/Remove/Update physical networks in a zone
• Configure VLANs on the physical network
• Configure a name so the network can be recognized by hypervisors
• Configure the service providers (firewalls, load balancers, etc.) available on a physical network
• Configure the IP addresses trunked to a physical network
• Specify what type of traffic is carried on the physical network, as well as other properties like
network speed
3.8.1. Basic Zone Network Traffic Types
When basic networking is used, there can be only one physical network in the zone. That physical
network carries the following traffic types:
• Guest. When end users run VMs, they generate guest traffic. The guest VMs communicate with
each other over a network that can be referred to as the guest network. Each pod in a basic zone
is a broadcast domain, and therefore each pod has a different IP range for the guest network. The
administrator must configure the IP range for each pod.
• Management. When CloudPlatform’s internal resources communicate with each other, they
generate management traffic. This includes communication between hosts, system VMs (VMs
used by CloudPlatform to perform various tasks in the cloud), and any other component that
communicates directly with the CloudPlatform Management Server. You must configure the IP
range for the system VMs to use.
Note
We strongly recommend the use of separate NICs for management traffic and guest traffic.
• Public. Public traffic is generated when VMs in the cloud access the Internet. Publicly accessible IPs
must be allocated for this purpose. End users can use the CloudPlatform UI to acquire these IPs
to implement NAT between their guest network and the public network, as described in Acquiring
a New IP Address. Public traffic is generated only in EIP-enabled basic zones. For information on
Elastic IP, see Section 16.18, “About Elastic IP”.
• Storage. Traffic such as VM templates and snapshots, which is sent between the secondary storage
VM and secondary storage servers. CloudPlatform uses a separate Network Interface Controller
(NIC) named storage NIC for storage network traffic. Use of a storage NIC that always operates on
a high bandwidth network allows fast template and snapshot copying. You must configure the IP
range to use for the storage network.
In a basic network, configuring the physical network is fairly straightforward. In most cases, you only
need to configure one guest network to carry traffic that is generated by guest VMs. If you use a
NetScaler load balancer and enable its elastic IP and elastic load balancing (EIP and ELB) features,
15
Chapter 3. Cloud Infrastructure Concepts
you must also configure a network to carry public traffic. CloudPlatform takes care of presenting the
necessary network configuration steps to you in the UI when you add a new zone.
3.8.2. Basic Zone Guest IP Addresses
When basic networking is used, CloudPlatform will assign IP addresses in the CIDR of the pod to the
guests in that pod. The administrator must add a direct IP range on the pod for this purpose. These
IPs are in the same VLAN as the hosts.
3.8.3. Advanced Zone Network Traffic Types
When advanced networking is used, there can be multiple physical networks in the zone. Each
physical network can carry one or more traffic types, and you need to let CloudPlatform know which
type of network traffic you want each network to carry. The traffic types in an advanced zone are:
• Guest. When end users run VMs, they generate guest traffic. The guest VMs communicate with
each other over a network that can be referred to as the guest network. This network can be
isolated or shared. In an isolated guest network, the administrator needs to reserve VLAN ranges to
provide isolation for each CloudPlatform account’s network (potentially a large number of VLANs). In
a shared guest network, all guest VMs share a single network.
• Management. When CloudPlatform’s internal resources communicate with each other, they
generate management traffic. This includes communication between hosts, system VMs (VMs
used by CloudPlatform to perform various tasks in the cloud), and any other component that
communicates directly with the CloudPlatform Management Server. You must configure the IP
range for the system VMs to use.
• Public. Public traffic is generated when VMs in the cloud access the Internet. Publicly accessible IPs
must be allocated for this purpose. End users can use the CloudPlatform UI to acquire these IPs to
implement NAT between their guest network and the public network, as described in “Acquiring a
New IP Address” in the Administration Guide.
• Storage. Traffic such as VM templates and snapshots, which is sent between the secondary storage
VM and secondary storage servers. CloudPlatform uses a separate Network Interface Controller
(NIC) named storage NIC for storage network traffic. Use of a storage NIC that always operates on
a high bandwidth network allows fast template and snapshot copying. You must configure the IP
range to use for the storage network.
These traffic types can each be on a separate physical network, or they can be combined with certain
restrictions. When you use the Add Zone wizard in the UI to create a new zone, you are guided into
making only valid choices.
3.8.4. Advanced Zone Guest IP Addresses
When advanced networking is used, the administrator can create additional networks for use by the
guests. These networks can span the zone and be available to all accounts, or they can be scoped
to a single account, in which case only the named account may create guests that attach to these
networks. The networks are defined by a VLAN ID, IP range, and gateway. The administrator may
provision thousands of these networks if desired. Additionally, the administrator can reserve a part of
the IP address space for non-CloudPlatform VMs and servers (see Section 16.15, “IP Reservation in
Isolated Guest Networks”).
16
Advanced Zone Public IP Addresses
3.8.5. Advanced Zone Public IP Addresses
When advanced networking is used, the administrator can create additional networks for use by the
guests. These networks can span the zone and be available to all accounts, or they can be scoped
to a single account, in which case only the named account may create guests that attach to these
networks. The networks are defined by a VLAN ID, IP range, and gateway. The administrator may
provision thousands of these networks if desired.
3.8.6. System Reserved IP Addresses
In each zone, you need to configure a range of reserved IP addresses for the management network.
This network carries communication between the CloudPlatform Management Server and various
system VMs, such as Secondary Storage VMs, Console Proxy VMs, and DHCP.
The reserved IP addresses must be unique across the cloud. You cannot, for example, have a host in
one zone which has the same private IP address as a host in another zone.
The hosts in a pod are assigned private IP addresses. These are typically RFC1918 addresses. The
Console Proxy and Secondary Storage system VMs are also allocated private IP addresses in the
CIDR of the pod that they are created in.
Make sure computing servers and Management Servers use IP addresses outside of the System
Reserved IP range. For example, suppose the System Reserved IP range starts at 192.168.154.2 and
ends at 192.168.154.7. CloudPlatform can use .2 to .7 for System VMs. This leaves the rest of the pod
CIDR, from .8 to .254, for the Management Server and hypervisor hosts.
In all zones:
Provide private IPs for the system in each pod and provision them in CloudPlatform.
For KVM and XenServer, the recommended number of private IPs per pod is one per host. If you
expect a pod to grow, add enough private IPs now to accommodate the growth.
In a zone that uses advanced networking:
When advanced networking is being used, the number of private IP addresses available in each pod
varies depending on which hypervisor is running on the nodes in that pod. Citrix XenServer and KVM
use link-local addresses, which in theory provide more than 65,000 private IP addresses within the
address block. As the pod grows over time, this should be more than enough for any reasonable
number of hosts as well as IP addresses for guest virtual routers. VMWare ESXi, by contrast uses
any administrator-specified subnetting scheme, and the typical administrator provides only 255 IPs
per pod. Since these are shared by physical machines, the guest virtual router, and other entities, it is
possible to run out of private IPs when scaling up a pod whose nodes are running ESXi.
To ensure adequate headroom to scale private IP space in an ESXi pod that uses advanced
networking, use one or more of the following techniques:
• Specify a larger CIDR block for the subnet. A subnet mask with a /20 suffix will provide more than
4,000 IP addresses.
• Create multiple pods, each with its own subnet. For example, if you create 10 pods and each pod
has 255 IPs, this will provide 2,550 IP addresses.
For vSphere with advanced networking, we recommend provisioning enough private IPs for your total
number of customers, plus enough for the required CloudPlatform System VMs. Typically, about 10
additional IPs are required for the System VMs. For more information about System VMs, see Working
with System Virtual Machines in the Administrator's Guide.
17
18
Chapter 4.
Accounts
4.1. Accounts, Users, and Domains
Accounts
An account typically represents a customer of the service provider or a department in a large
organization. Multiple users can exist in an account.
Domains
Accounts are grouped by domains. Domains usually contain multiple accounts that have some logical
relationship to each other and a set of delegated administrators with some authority over the domain
and its subdomains. For example, a service provider with several resellers could create a domain for
each reseller.
For each account created, the Cloud installation creates three different types of user accounts: root
administrator, domain administrator, and user.
Users
Users are like aliases in the account. Users in the same account are not isolated from each other, but
they are isolated from users in other accounts. Most installations need not surface the notion of users;
they just have one user per account. The same user cannot belong to multiple accounts.
Username is unique in a domain across accounts in that domain. The same username can exist in
other domains, including sub-domains. Domain name can repeat only if the full pathname from root is
unique. For example, you can create root/d1, as well as root/foo/d1, and root/sales/d1.
Administrators are accounts with special privileges in the system. There may be multiple
administrators in the system. Administrators can create or delete other administrators, and change the
password for any user in the system.
Domain Administrators
Domain administrators can perform administrative operations for users who belong to that domain.
Domain administrators do not have visibility into physical servers or other domains.
Root Administrator
Root administrators have complete access to the system, including managing templates, service
offerings, customer care administrators, and domains
Resource Ownership
Resources belong to the account, not individual users in that account. For example, billing, resource
limits, and so on are maintained by the account, not the users. A user can operate on any resource in
the account provided the user has privileges for that operation. The privileges are determined by the
role. A root administrator can change the ownership of any virtual machine from one account to any
other account by using the assignVirtualMachine API. A domain or sub-domain administrator can do
the same for VMs within the domain from one account to any other account in the domain or any of its
sub-domains.
19
Chapter 4. Accounts
4.1.1. Dedicating Resources to Accounts and Domains
The root administrator can dedicate resources to a specific domain or account that needs private
infrastructure for additional security or performance guarantees. A zone, pod, cluster, or host can be
reserved by the root administrator for a specific domain or account. Only users in that domain or its
subdomain may use the infrastructure. For example, only users in a given domain can create guests in
a zone dedicated to that domain.
There are several types of dedication available:
• Explicit dedication. A zone, pod, cluster, or host is dedicated to an account or domain by the root
administrator during initial deployment and configuration.
• Strict implicit dedication. A host will not be shared across multiple accounts. For example, strict
implicit dedication is useful for deployment of certain types of applications, such as desktops, where
no host can be shared between different accounts without violating the desktop software's terms of
license.
• Preferred implicit dedication. The VM will be deployed in dedicated infrastructure if possible.
Otherwise, the VM can be deployed in shared infrastructure.
4.1.1.1. How to Dedicate a Zone, Cluster, Pod, or Host to an Account or
Domain
For explicit dedication: When deploying a new zone, pod, cluster, or host, the root administrator can
click the Dedicated checkbox, then choose a domain or account to own the resource.
To explicitly dedicate an existing zone, pod, cluster, or host: log in as the root admin, find the resource
in the UI, and click the Dedicate button.
For implicit dedication: The administrator creates a compute service offering and in the Deployment
Planner field, chooses ImplicitDedicationPlanner. Then in Planner Mode, the administrator specifies
either Strict or Preferred, depending on whether it is permissible to allow some use of shared
resources when dedicated resources are not available. Whenever a user creates a VM based on this
service offering, it is allocated on one of the dedicated hosts.
4.1.1.2. How to Use Dedicated Hosts
To use an explicitly dedicated host, use the explicit-dedicated type of affinity group (see
Section 11.8.1, “Affinity Groups”). For example, when creating a new VM, an end user can choose to
place it on dedicated infrastructure. This operation will succeed only if some infrastructure has already
been assigned as dedicated to the user's account or domain.
4.1.1.3. Behavior of Dedicated Hosts, Clusters, Pods, and Zones
The administrator can live migrate VMs away from dedicated hosts if desired, whether the destination
is a host reserved for a different account/domain or a host that is shared (not dedicated to any
particular account or domain). CloudPlatform will generate an alert, but the operation is allowed.
Dedicated hosts can be used in conjunction with host tags. If both a host tag and dedication are
requested, the VM will be placed only on a host that meets both requirements. If there is no dedicated
resource available to that user that also has the host tag requested by the user, then the VM will not
deploy.
20
Using an LDAP Server for User Authentication
If you delete an account or domain, any hosts, clusters, pods, and zones that were dedicated to it are
freed up. They will now be available to be shared by any account or domain, or the administrator may
choose to re-dedicate them to a different account or domain.
System VMs and virtual routers affect the behavior of host dedication. System VMs and virtual routers
are owned by the CloudPlatform system account, and they can be deployed on any host. They do
not adhere to explicit dedication. The presence of system vms and virtual routers on a host makes it
unsuitable for strict implicit dedication. The host can not be used for strict implicit dedication, because
the host already has VMs of a specific account (the default system account). However, a host with
system VMs or virtual routers can be used for preferred implicit dedication.
4.2. Using an LDAP Server for User Authentication
You can use an external LDAP server, such as Microsoft Active Directory or ApacheDS, to
authenticate CloudPlatform end-users. Just map CloudPlatform accounts to the corresponding LDAP
accounts using a query filter. The query filter is written using the query syntax of the particular LDAP
server, and can include special wildcard characters provided by CloudPlatform for matching common
values such as the user’s email address and name. CloudPlatform will search the external LDAP
directory tree starting at a specified base directory and return the distinguished name (DN) and
password of the matching user. This information along with the given password is used to authenticate
the user.
4.2.1. Configuring an LDAP Server
You can add or remove an LDAP server to CloudPlatform for user authentication. To set up LDAP
authentication, you provide the following:
• Hostname or IP address and listening port of the LDAP server
• Base directory and query filter
• Search user DN credentials, which give CloudPlatform permission to search on the LDAP server
• SSL keystore and password, if SSL is used
4.2.1.1. Adding an LDAP Server
1. Log in to the CloudPlatform.
2. From the left navigational bar, click Global Settings.
3. From the Select view drop down, select LDAP Configuration.
4. Click Configure LDAP.
The Configure LDAP dialog is displayed.
21
Chapter 4. Accounts
5. Specify the following:
• Bind DN: The full distinguished name (DN), including common name (CN), of an LDAP user
account that has the necessary privileges to search users.
For example:
cn=admin,cn=users,dc=mycom,dc=com
This user account must have at least domain user privileges.
• Bind Password: The password used in association with the Bind DN user account.
• Hostname: Hostname or IP address.
• Query Filter: Searches external LDAP directory tree for corresponding CloudPlatform accounts.
The query filter is written by using the query syntax of the particular LDAP server, and can
include special wild card characters provided by CloudPlatform for matching common values,
such as the user’s email address and name.
• Port: The Listening port of the LDAP server. The default is 389.
• SSL: Specify SSL Trust Store and password, if SSL is used.
• Trust Store:
• Trust Store Password:
22
Example LDAP Configuration Commands
6. Click OK.
4.2.1.2. Removing an LDAP Configuration
1. Log in to the CloudPlatform.
2. From the left navigational bar, click Global Settings.
3. From the Select view drop down, select LDAP Configuration.
4. In the Quick View, click Remove LDAP.
Alternatively, you can click Remove LDAP in the LDAP Configuration Details page.
4.2.2. Example LDAP Configuration Commands
To understand the examples in this section, you need to know the basic concepts behind calling the
CloudPlatform API, which are explained in the Developer’s Guide.
The following shows an example invocation of ldapConfig with an ApacheDS LDAP server
The following shows a similar command for Active Directory. Here, the search base is the testing
group within a company, and the users are matched up based on email address.
The next few sections explain some of the concepts you will need to know when filling out the
ldapConfig parameters.
4.2.3. Search Base
An LDAP query is relative to a given node of the LDAP directory tree, called the search base. The
search base is the distinguished name (DN) of a level of the directory tree below which all users can
be found. The users can be in the immediate base directory or in some subdirectory. The search base
may be equivalent to the organization, group, or domain name. The syntax for writing a DN varies
23
Chapter 4. Accounts
depending on which LDAP server you are using. A full discussion of distinguished names is outside
the scope of our documentation. The following table shows some examples of search bases to find
users in the testing department..
LDAP ServerExample Search Base DN
ApacheDSou=testing,o=project
Active DirectoryOU=testing, DC=company
4.2.4. Query Filter
The query filter is used to find a mapped user in the external LDAP server. The query filter should
uniquely map the CloudPlatform user to LDAP user for a meaningful authentication. For more
information about query filter syntax, consult the documentation for your LDAP server.
The CloudPlatform query filter wild cards are:
Query Filter WildcardDescription
%uUser name
%eEmail address
%nFirst and last name
4.2.4.1. Active Directory
The following examples assume that you are using Active Directory. Refer to user attributes from the
Active Directory schema.
If the CloudPlatform user name is the same as the LDAP user ID:
(sAMAccountName=%u)
If the CloudPlatform user name is the LDAP display name:
(displayName=%u)
To find a user by email address:
(mail=%e)
4.2.4.2. ApacheDS
If your LDAP server is ApacheDS, consider the following examples:
If the CloudPlatform user name is the same as the LDAP user ID:
(uid=%u)
To find a user by email address:
(mail=%e)
Enter the query filers in CloudPlatform in the following format:
24
Search User Bind DN
(&(sAMAccountName=%u) or (&(mail=%e))
4.2.5. Search User Bind DN
The bind DN is the user on the external LDAP server permitted to search the LDAP directory within the
defined search base. When the DN is returned, the DN and passed password are used to authenticate
the CloudPlatform user with an LDAP bind. A full discussion of bind DNs is outside the scope of our
documentation. The following table shows some examples of bind DNs.
LDAP ServerExample Bind DN
ApacheDScn=Administrator,dc=testing,ou=project,ou=org
Active DirectoryCN=Administrator, OU=testing, DC=company,
DC=com
4.2.6. SSL Keystore Path and Password
If the LDAP server requires SSL, you need to enable it in the ldapConfig command by setting the
parameters ssl, truststore, and truststorepass. Before enabling SSL for ldapConfig, you need to get
the certificate which the LDAP server is using and add it to a trusted keystore. You will need to know
the path to the keystore and the password.
25
26
Chapter 5.
User Services Overview
In addition to the physical and logical infrastructure of your cloud, and the CloudPlatform software and
servers, you also need a layer of user services so that people can actually make use of the cloud.
This means not just a user UI, but a set of options and resources that users can choose from, such
as templates for creating virtual machines, disk storage, and more. If you are running a commercial
service, you will be keeping track of what services and resources users are consuming and charging
them for that usage. Even if you do not charge anything for people to use your cloud – say, if the users
are strictly internal to your organization, or just friends who are sharing your cloud – you can still keep
track of what services they use and how much of them.
5.1. Service Offerings, Disk Offerings, Network Offerings,
and Templates
A user creating a new instance can make a variety of choices about its characteristics and capabilities.
CloudPlatform provides several ways to present users with choices when creating a new instance:
• Service Offerings, defined by the CloudPlatform administrator, provide a choice of CPU speed,
number of CPUs, RAM size, tags on the root disk, and other choices. See Creating a New Compute
Offering.
• Disk Offerings, defined by the CloudPlatform administrator, provide a choice of disk size for primary
data storage. See Creating a New Disk Offering.
• Network Offerings, defined by the CloudPlatform administrator, describe the feature set that is
available to end users from the virtual router or external networking devices on a given guest
network. See Network Offerings.
• Templates, defined by the CloudPlatform administrator or by any CloudPlatform user, are the
base OS images that the user can choose from when creating a new instance. For example,
CloudPlatform includes CentOS as a template. See Working with Templates.
In addition to these choices that are provided for users, there is another type of service offering
which is available only to the CloudPlatform root administrator, and is used for configuring virtual
infrastructure resources. For more information, see Upgrading a Virtual Router with System Service
Offerings.
27
28
Chapter 6.
User Interface
6.1. Supported Browsers
The CloudPlatform web-based UI is available in the following popular browsers:
• Mozilla Firefox 22 or greater
• Apple Safari, all versions packaged with Mac OS X 10.5 (Leopard) or greater
• Google Chrome, all versions starting from the year 2012
• Microsoft Internet Explorer 9 or greater
6.2. Log In to the UI
CloudPlatform provides a web-based UI that can be used by both administrators and end users. The
appropriate version of the UI is displayed depending on the credentials used to log in.
The URL to log in to CloudPlatform is: (substitute your own management server IP address)
http://<management-server-ip-address>:8080/client
On a fresh Management Server installation, a guided tour splash screen appears. On later visits, you’ll
see a login screen where you specify the following to proceed to your Dashboard:
Username
The user ID of your account. The default username is admin.
Password
The password associated with the user ID. The password for the default username is password.
Domain
If you are a root user, leave this field blank.
If you are a user in the sub-domains, enter the full path to the domain, excluding the root domain.
For example, suppose multiple levels are created under the root domain, such as Comp1/hr. The
users in the Comp1 domain should enter Comp1 in the Domain field, whereas the users in the Comp1/
sales domain should enter Comp1/sales.
For more guidance about the choices that appear when you log in to this UI, see Logging In as the
Root Administrator.
6.2.1. End User's UI Overview
The CloudPlatform UI helps users of cloud infrastructure to view and use their cloud resources,
including virtual machines, templates and ISOs, data volumes and snapshots, guest networks, and IP
addresses. If the user is a member or administrator of one or more CloudPlatform projects, the UI can
provide a project-oriented view.
29
Chapter 6. User Interface
6.2.2. Root Administrator's UI Overview
The CloudPlatform UI helps the CloudPlatform administrator provision, view, and manage the cloud
infrastructure, domains, user accounts, projects, and configuration settings. The first time you start the
UI after a fresh Management Server installation, you can choose to follow a guided tour to provision
your cloud infrastructure. On subsequent logins, the dashboard of the logged-in user appears.
The various links in this screen and the navigation bar on the left provide access to a variety of
administrative functions. The root administrator can also use the UI to perform all the same tasks that
are present in the end-user’s UI.
6.2.3. Logging In as the Root Administrator
After the Management Server software is installed and running, you can run the CloudPlatform user
interface. This UI is there to help you provision, view, and manage your cloud infrastructure.
1. Open your favorite Web browser and go to this URL. Substitute the IP address of your own
Management Server:
http://<management-server-ip-address>:8080/client
On a fresh Management Server installation, a guided tour splash screen appears. On later visits,
you’ll see a login screen where you can enter a user ID and password and proceed to your
Dashboard.
2. If you see the first-time splash screen, choose one of the following.
• Continue with basic setup. Choose this if you're just trying CloudPlatform, and you want
a guided walkthrough of the simplest possible configuration so that you can get started right
away. We'll help you set up a cloud with the following features: a single machine that runs
CloudPlatform software and uses NFS to provide storage; a single machine running VMs under
the XenServer or KVM hypervisor; and a shared public network.
The prompts in this guided tour should give you all the information you need, but if you want just
a bit more detail, you can follow along in the Trial Installation Guide.
• I have used CloudPlatform before. Choose this if you have already gone through a design
phase and planned a more sophisticated deployment, or you are ready to start scaling up a trial
cloud that you set up earlier with the basic setup screens. In the Administrator UI, you can start
using the more powerful features of CloudPlatform, such as advanced VLAN networking, high
availability, additional network elements such as load balancers and firewalls, and support for
multiple hypervisors including Citrix XenServer, KVM, and VMware vSphere.
The root administrator Dashboard appears.
3. You should set a new root administrator password. If you chose basic setup, you’ll be prompted to
create a new password right away. If you chose experienced user, use the steps in Section 6.2.4,
“Changing the Root Password”.
30
Changing the Root Password
Warning
You are logging in as the root administrator. This account manages the CloudPlatform
deployment, including physical infrastructure. The root administrator can modify configuration
settings to change basic functionality, create or delete user accounts, and take many actions that
should be performed only by an authorized person. Please change the default password to a
new, unique password.
6.2.4. Changing the Root Password
During installation and ongoing cloud administration, you will need to log in to the UI as the root
administrator. The root administrator account manages the CloudPlatform deployment, including
physical infrastructure. The root administrator can modify configuration settings to change basic
functionality, create or delete user accounts, and take many actions that should be performed only by
an authorized person. When first installing CloudPlatform, be sure to change the default password to a
new, unique value.
1. Open your favorite Web browser and go to this URL. Substitute the IP address of your own
Management Server:
http://<management-server-ip-address>:8080/client
2. Log in to the UI using the current root user ID and password. The default is admin, password.
3. Click Accounts.
4. Click the admin account name.
5. Click View Users.
6. Click the admin user name.
7.
Click the Change Password button.
8. Type the new password, and click OK.
6.3. Using SSH Keys for Authentication
In addition to the username and password authentication, CloudPlatform supports using SSH keys to
log in to the cloud infrastructure for additional security for your cloud infrastructure. You can use the
createSSHKeyPair API to generate the SSH keys.
Because each cloud user has their own ssh key, one cloud user cannot log in to another cloud user's
instances unless they share their ssh key files. Using a single SSH key pair, you can manage multiple
instances.
6.3.1. Creating an Instance from a Template that Supports SSH
Keys
Perform the following:
1. Create a new instance by using the template provided by CloudPlatform.
31
Chapter 6. User Interface
For more information on creating a new instance, see Section 11.4, “Creating VMs”.
2. Download the script file cloud-set-guest-sshkey from the following link:
5. Run the script while starting up the operating system:
chkconfig --add cloud-set-guest-sshkey
6. Stop the instance.
6.3.2. Creating the SSH Keypair
You must make a call to the createSSHKeyPair api method. You can either use the CloudPlatform
python api library or the curl commands to make the call to the CloudPlatform api.
For example, make a call from the CloudPlatform server to create a SSH keypair called "keypair-doc"
for the admin account in the root domain:
Note
Ensure that you adjust these values to meet your needs. If you are making the API call from a
different server, your URL or port number will be different, and you will need to use the API keys.
Substitute the template, service offering and security group IDs (if you are using the security group
feature) that are in your cloud environment.
6.3.4. Logging In Using the SSH Keypair
To test your SSH key generation is successful, check whether you can log in to the cloud setup.
For example, from a Linux OS, run:
ssh -i ~/.ssh/keypair-doc <ip address>
The -i parameter directs the ssh client to use a ssh key found at ~/.ssh/keypair-doc.
6.3.5. Resetting SSH Keys
With the API command resetSSHKeyForVirtualMachine, a user can set or reset the SSH keypair
assigned to a virtual machine. A lost or compromised SSH keypair can be changed, and the user
can access the VM by using the new keypair. Just create or register a new keypair, then call
resetSSHKeyForVirtualMachine.
33
34
Chapter 7.
Using Projects to Organize Users and
Resources
7.1. Overview of Projects
Projects are used to organize people and resources. CloudPlatform users within a single domain can
group themselves into project teams so they can collaborate and share virtual resources such as VMs,
snapshots, templates, data disks, and IP addresses. CloudPlatform tracks resource usage per project
as well as per user, so the usage can be billed to either a user account or a project. For example, a
private cloud within a software company might have all members of the QA department assigned to
one project, so the company can track the resources used in testing while the project members can
more easily isolate their efforts from other users of the same cloud
You can configure CloudPlatform to allow any user to create a new project, or you can restrict that
ability to just CloudPlatform administrators. Once you have created a project, you become that
project’s administrator, and you can add others within your domain to the project. CloudPlatform
can be set up either so that you can add people directly to a project, or so that you have to send an
invitation which the recipient must accept. Project members can view and manage all virtual resources
created by anyone in the project (for example, share VMs). A user can be a member of any number of
projects and can switch views in the CloudPlatform UI to show only project-related information, such
as project VMs, fellow project members, project-related alerts, and so on.
The project administrator can pass on the role to another project member. The project administrator
can also add more members, remove members from the project, set new resource limits (as long as
they are below the global defaults set by the CloudPlatform administrator), and delete the project.
When the administrator removes a member from the project, resources created by that user, such as
VM instances, remain with the project. This brings us to the subject of resource ownership and which
resources can be used by a project.
Resources created within a project are owned by the project, not by any particular CloudPlatform
account, and they can be used only within the project. A user who belongs to one or more projects
can still create resources outside of those projects, and those resources belong to the user’s account;
they will not be counted against the project’s usage or resource limits. You can create project-level
networks to isolate traffic within the project and provide network services such as port forwarding,
load balancing, VPN, and static NAT. A project can also make use of certain types of resources from
outside the project, if those resources are shared. For example, a shared network or public template is
available to any project in the domain. A project can get access to a private template if the template’s
owner will grant permission. A project can use any service offering or disk offering available in its
domain; however, you can not create private service and disk offerings at the project level..
7.2. Configuring Projects
Before CloudPlatform users start using projects, the CloudPlatform administrator must set up various
systems to support them, including membership invitations, limits on project resources, and controls
on who can create projects.
7.2.1. Setting Up Invitations
CloudPlatform can be set up either so that project administrators can add people directly to a project,
or so that it is necessary to send an invitation which the recipient must accept. The invitation can
be sent by email or through the user’s CloudPlatform account. If you want administrators to use
invitations to add members to projects, turn on and set up the invitations feature in CloudPlatform.
35
Chapter 7. Using Projects to Organize Users and Resources
1. Log in as administrator to the CloudPlatform UI.
2. In the left navigation, click Global Settings.
3.
In the search box, type project and click the search button.
4. In the search results, you can see a few other parameters you need to set to control how
invitations behave. The table below shows global configuration parameters related to project
invitations. Click the edit button to set each parameter.
Configuration ParametersDescription
project.invite.requiredSet to true to turn on the invitations feature.
project.email.senderThe email address to show in the From field of
invitation emails.
project.invite.timeoutAmount of time to allow for a new member to
respond to the invitation.
project.smtp.hostName of the host that acts as an email server
to handle invitations.
project.smtp.password(Optional) Password required by
the SMTP server. You must also
set project.smtp.username and set
project.smtp.useAuth to true.
project.smtp.portSMTP server’s listening port.
project.smtp.useAuthSet to true if the SMTP server requires a
username and password.
project.smtp.username(Optional) User name required by the
SMTP server for authentication. You must
also set project.smtp.password and set
project.smtp.useAuth to true..
5. Restart the Management Server:
service cloud-management restart
7.2.2. Setting Resource Limits for Projects
The CloudPlatform administrator can set global default limits to control the amount of resources that
can be owned by each project in the cloud. This serves to prevent uncontrolled usage of resources
such as snapshots, IP addresses, and virtual machine instances. Domain administrators can override
these resource limits for individual projects with their domains, as long as the new limits are below the
global defaults set by the CloudPlatform root administrator. The root administrator can also set lower
resource limits for any project in the cloud
7.2.3. Setting Project Creator Permissions
You can configure CloudPlatform to allow any user to create a new project, or you can restrict that
ability to just CloudPlatform administrators.
1. Log in as administrator to the CloudPlatform UI.
2. In the left navigation, click Global Settings.
36
Creating a New Project
3. In the search box, type allow.user.create.projects.
4.
Click the edit button to set the parameter.
allow.user.create.projectsSet to true to allow end users to create
projects. Set to false if you want only the
CloudPlatform root administrator and domain
administrators to create projects.
5. Restart the Management Server.
# service cloud-management restart
7.3. Creating a New Project
CloudPlatform administrators and domain administrators can create projects. If the global
configuration parameter allow.user.create.projects is set to true, end users can also create projects.
1. Log in as administrator to the CloudPlatform UI.
2. In the left navigation, click Projects.
3. In Select view, click Projects.
4. Click New Project.
5. Give the project a name and description for display to users, then click Create Project.
6. A screen appears where you can immediately add more members to the project. This is optional.
Click Next when you are ready to move on.
7. Click Save.
7.4. Adding Members to a Project
New members can be added to a project by the project’s administrator, the domain administrator of
the domain where the project resides or any parent domain, or the CloudPlatform root administrator.
There are two ways to add members in CloudPlatform, but only one way is enabled at a time:
• If invitations have been enabled, you can send invitations to new members.
• If invitations are not enabled, you can add members directly through the UI.
7.4.1. Sending Project Membership Invitations
Use these steps to add a new member to a project if the invitations feature is enabled in the cloud as
described in Section 7.2.1, “Setting Up Invitations”. If the invitations feature is not turned on, use the
procedure in Adding Project Members From the UI.
1. Log in to the CloudPlatform UI.
2. In the left navigation, click Projects.
3. In Select View, choose Projects.
4. Click the name of the project you want to work with.
37
Chapter 7. Using Projects to Organize Users and Resources
5. Click the Invitations tab.
6. In Add by, select one of the following:
a. Account – The invitation will appear in the user’s Invitations tab in the Project View. See Using
the Project View.
b. Email – The invitation will be sent to the user’s email address. Each emailed invitation
includes a unique code called a token which the recipient will provide back to CloudPlatform
when accepting the invitation. Email invitations will work only if the global parameters related
to the SMTP server have been set. See Section 7.2.1, “Setting Up Invitations”.
7. Type the user name or email address of the new member you want to add, and click Invite. Type
the CloudPlatform user name if you chose Account in the previous step. If you chose Email, type
the email address. You can invite only people who have an account in this cloud within the same
domain as the project. However, you can send the invitation to any email address.
8. To view and manage the invitations you have sent, return to this tab. When an invitation is
accepted, the new member will appear in the project’s Accounts tab.
7.4.2. Adding Project Members From the UI
The steps below tell how to add a new member to a project if the invitations feature is not enabled
in the cloud. If the invitations feature is enabled cloud,as described in Section 7.2.1, “Setting Up
Invitations”, use the procedure in Section 7.4.1, “Sending Project Membership Invitations”.
1. Log in to the CloudPlatform UI.
2. In the left navigation, click Projects.
3. In Select View, choose Projects.
4. Click the name of the project you want to work with.
5. Click the Accounts tab. The current members of the project are listed.
6. Type the account name of the new member you want to add, and click Add Account. You can add
only people who have an account in this cloud and within the same domain as the project.
7.5. Accepting a Membership Invitation
If you have received an invitation to join a CloudPlatform project, and you want to accept the invitation,
follow these steps:
1. Log in to the CloudPlatform UI.
2. In the left navigation, click Projects.
3. In Select View, choose Invitations.
4. If you see the invitation listed onscreen, click the Accept button.
Invitations listed on screen were sent to you using your CloudPlatform account name.
5. If you received an email invitation, click the Enter Token button, and provide the project ID and
unique ID code (token) from the email.
38
Suspending or Deleting a Project
7.6. Suspending or Deleting a Project
When a project is suspended, it retains the resources it owns, but they can no longer be used. No new
resources or members can be added to a suspended project.
When a project is deleted, its resources are destroyed, and member accounts are removed from the
project. The project’s status is shown as Disabled pending final deletion.
A project can be suspended or deleted by the project administrator, the domain administrator of the
domain the project belongs to or of its parent domain, or the CloudPlatform root administrator.
1. Log in to the CloudPlatform UI.
2. In the left navigation, click Projects.
3. In Select View, choose Projects.
4. Click the name of the project.
5. Click one of the buttons:
To delete, use
To suspend, use
7.7. Using the Project View
If you are a member of a project, you can use CloudPlatform’s project view to see project members,
resources consumed, and more. The project view shows only information related to one project. It is a
useful way to filter out other information so you can concentrate on a project status and resources.
1. Log in to the CloudPlatform UI.
2. Click Project View.
3. The project dashboard appears, showing the project’s VMs, volumes, users, events, network
settings, and more. From the dashboard, you can:
• Click the Accounts tab to view and manage project members. If you are the project
administrator, you can add new members, remove members, or change the role of a member
from user to admin. Only one member at a time can have the admin role, so if you set another
user’s role to admin, your role will change to regular user.
• (If invitations are enabled) Click the Invitations tab to view and manage invitations that have
been sent to new project members but not yet accepted. Pending invitations will remain in this
list until the new member accepts, the invitation timeout is reached, or you cancel the invitation.
39
40
Chapter 8.
Steps to Provisioning Your Cloud
Infrastructure
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 3, Cloud
Infrastructure Concepts.
8.1. 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 CloudPlatform cloud infrastructure is organized, see Section 2.3.2,
“Cloud Infrastructure Overview”.
To provision the cloud infrastructure, or to scale it up at any time, follow these procedures:
1. Define regions (optional). See Section 8.2, “Adding Regions (optional)”.
2. Add a zone to the region. See Section 8.3, “Adding a Zone”.
3. Add more pods to the zone (optional). See Section 8.4, “Adding a Pod”.
4. Add more clusters to the pod (optional). See Section 8.5, “Adding a Cluster”.
5. Add more hosts to the cluster (optional). See Section 8.6, “Adding a Host”.
6. Add primary storage to the cluster. See Section 8.7, “Adding Primary Storage”.
7. Add secondary storage to the zone. See Section 8.8, “Adding Secondary Storage”.
8. Initialize and test the new cloud. See Section 8.9, “Initialize and Test”.
When you have finished these steps, you will have a deployment with the following basic structure:
41
Chapter 8. Steps to Provisioning Your Cloud Infrastructure
8.2. 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 3.1, “About Regions”.
8.2.1. 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 CloudPlatform UI and clicking the
Edit button.
8.2.2. Adding a Region
Use these steps to add a second region in addition to the default region.
1. Each region has its own CloudPlatform 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.
2. 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.
42
Adding Third and Subsequent Regions
3. Now add the new region to region 1 in CloudPlatform.
a. Log in to CloudPlatform in the first region as root administrator (that is, log in to
<region.1.IP.address>:8080/client).
b. In the left navigation bar, click Regions.
c. 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.
4. Now perform the same procedure in reverse. Log in to region 2, and add region 1.
5. 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 CloudPlatform recommended best practice. Substitute your own MySQL root password.
a. First, run this command to copy the contents of the database:
b. Then run this command to put the data onto the region 2 database:
# mysql -u root -p<mysql_password> -h <region2_db_host> cloud < region1.sql
6. Remove project accounts. Run these commands on the region 2 database:
mysql> delete from account where type = 5;
7. Set the default zone as null:
mysql> update account set default_zone_id = null;
8. Restart the Management Servers in region 2.
8.2.3. 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:
1. Install CloudPlatform in each additional region. Set the region ID for each region during the
database setup step.
Chapter 8. Steps to Provisioning Your Cloud Infrastructure
2. 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:
a. Log in to CloudPlatform 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.
b. Log in to CloudPlatform 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.
3. 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:
a. Log in to CloudPlatform in the third region as root administrator (that is, log in to
<region.3.IP.address>:8080/client).
b. Add a region with ID 1, the name of region 1, and the endpoint <region.1.IP.address>:8080/
client.
c. Add a region with ID 2, the name of region 2, and the endpoint <region.2.IP.address>:8080/
client.
4. 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 CloudPlatform recommended best practice. Substitute your own MySQL root password.
a. First, run this command to copy the contents of the database:
b. Then run this command to put the data onto the new region's database. For example, for
region 3:
# mysql -u root -p<mysql_password> -h <region3_db_host> cloud < region1.sql
5. Remove project accounts. Run these commands on the region 3 database:
mysql> delete from account where type = 5;
6. Set the default zone as null:
mysql> update account set default_zone_id = null;
7. Restart the Management Servers in the new region.
8.2.4. 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:
1. Log in to <region.1.IP.address>:8080/client.
44
Adding a Zone
2. In the left navigation bar, click Regions.
3. Click the name of the region you want to delete.
4. Click the Remove Region button.
5. Repeat these steps for <region.2.IP.address>:8080/client.
8.3. Adding a Zone
Adding a zone consists of three phases:
• Create a mount point for secondary storage on the Management Server.
• Seed the system VM template on the secondary storage.
• Add the zone.
8.3.1. Create a Secondary Storage Mount Point for the New Zone
To be sure the most up-to-date system VMs are deployed in new zones, you need to seed the latest
system VM template to the zone's secondary storage. The first step is to create a mount point for the
secondary storage. Then seed the system VM template.
1. On the management server, create a mount point for secondary storage. For example:
# mkdir -p /mnt/secondary
2. Mount the secondary storage on your Management Server. Replace the example NFS server
name and NFS share paths below with your own.
# mount -t nfs nfsservername:/nfs/share/secondary /mnt/secondary
8.3.2. Prepare the System VM Template
Secondary storage must be seeded with a template that is used for CloudPlatform system VMs.
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.
1. On the Management Server, run one or more of the following cloud-install-sys-tmplt commands
to retrieve and decompress the system VM template. Run the command for each hypervisor type
that you expect end users to run in this Zone.
If your secondary storage mount point is not named /mnt/secondary, substitute your own mount
point name.
If you set the CloudPlatform database encryption type to "web" when you set up the database, you
must now add the parameter -s <management-server-secret-key>. See About Password and Key
Encryption.
45
Chapter 8. Steps to Provisioning Your Cloud Infrastructure
This process will require approximately 5 GB of free space on the local file system and up to 30
minutes each time it runs.
2. If you are using a separate NFS server, perform this step. If you are using the Management
Server as the NFS server, you MUST NOT perform this step.
When the script has finished, unmount secondary storage and remove the created directory.
# umount /mnt/secondary
# rmdir /mnt/secondary
3. Repeat these steps for each secondary storage server.
8.3.3. Steps to Add a New 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.
1. Be sure you have first performed the steps to seed the system VM template.
2. Log in to the CloudPlatform UI as the root administrator. See Section 6.2, “Log In to the UI”.
3. In the left navigation, choose Infrastructure.
4. On Zones, click View More.
5. Click Add Zone. The zone creation wizard will appear.
6. 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.
46
Steps to Add a New Zone
For more information about the network types, see Network Setup.
7. The rest of the steps differ depending on whether you chose Basic or Advanced. Continue with the
steps that apply to you:
• Section 8.3.3.1, “Basic Zone Configuration”
• Section 8.3.3.2, “Advanced Zone Configuration”
8.3.3.1. Basic Zone Configuration
1. 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 CloudPlatform 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. 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 OfferingDescription
DefaultSharedNetworkOfferingWithSGService If you want to enable security groups for
guest traffic isolation, choose this. (See Using
Security Groups to Control Traffic to VMs.)
DefaultSharedNetworkOfferingIf you do not need security groups, choose
this.
DefaultSharedNetscalerEIPandELBNetworkOfferingIf 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.
2. Choose which traffic types will be carried by the physical network.
47
Chapter 8. Steps to Provisioning Your Cloud Infrastructure
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.
3. 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.
4. Click Next.
5. (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. CloudPlatform 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.
6. (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.
7. In a new zone, CloudPlatform adds the first pod for you. You can always add more pods later. For
an overview of what a pod is, see Section 3.3, “About Pods”.
To configure the first pod, enter the following, then click Next:
48
Steps to Add a New Zone
• 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 CloudPlatform
uses to manage various system VMs, such as Secondary Storage VMs, Console Proxy VMs,
and DHCP. For more information, see System Reserved IP Addresses.
8. 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
CloudPlatform 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.
9. In a new pod, CloudPlatform 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. The type of hypervisor software that all hosts in this cluster will run. If the
hypervisor is 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 CloudPlatform. See Section 8.5.3, “Add Cluster: vSphere”.
• Cluster name. Enter a name for the cluster. This can be text of your choosing and is not used
by CloudPlatform.
10. In a new cluster, CloudPlatform 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 CloudPlatform, 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 CloudPlatform and
what additional configuration is required to ensure the host will work with CloudPlatform. To find
these installation details, see:
• Citrix XenServer Installation and Configuration
• VMware vSphere Installation and Configuration
49
Chapter 8. Steps to Provisioning Your Cloud Infrastructure
• KVM vSphere Installation and Configuration
• Oracle VM (OVM) 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.
11. In a new cluster, CloudPlatform 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 or
SharedMountPoint. For vSphere choose either VMFS (iSCSI or FiberChannel) or NFS. The
remaining fields in the screen vary depending on what you choose here.
8.3.3.2. Advanced Zone Configuration
1. 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 CloudPlatform 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. Choose the hypervisor for the first cluster in the zone. You can add clusters with
different hypervisors later, after you finish adding the zone.
50
Steps to Add a New 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.
2. 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 3.8.3, “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.
3. 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. 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.
51
Chapter 8. Steps to Provisioning Your Cloud Infrastructure
4. Click Next.
5. 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.
6. In a new zone, CloudPlatform adds the first pod for you. You can always add more pods later. For
an overview of what a pod is, see Section 3.3, “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.
52
Steps to Add a New Zone
• Start/End Reserved System IP. The IP range in the management network that CloudPlatform
uses to manage various system VMs, such as Secondary Storage VMs, Console Proxy VMs,
and DHCP. For more information, see Section 3.8.6, “System Reserved IP Addresses”.
7. Specify a range of VLAN IDs to carry guest traffic for each physical network (see VLAN Allocation
Example ), then click Next.
8. In a new pod, CloudPlatform adds the first cluster for you. You can always add more clusters later.
For an overview of what a cluster is, see Section 3.4, “About Clusters”.
To configure the first cluster, enter the following, then click Next:
• Hypervisor. The type of hypervisor software that all hosts in this cluster will run. If the
hypervisor is 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 CloudPlatform. See Section 8.5.3, “Add Cluster: vSphere”.
• Cluster name. Enter a name for the cluster. This can be text of your choosing and is not used
by CloudPlatform.
9. In a new cluster, CloudPlatform adds the first host for you. You can always add more hosts later.
For an overview of what a host is, see Section 3.5, “About Hosts”.
Note
When you deploy CloudPlatform, 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 CloudPlatform and
what additional configuration is required to ensure the host will work with CloudPlatform. To find
these installation details, see:
• Citrix XenServer Installation for CloudPlatform
• VMware vSphere Installation and Configuration
• KVM Installation and Configuration
• Oracle VM (OVM) 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
53
Chapter 8. Steps to Provisioning Your Cloud Infrastructure
more information, see HA-Enabled Virtual Machines as well as HA for Hosts, both in the
Administration Guide.
10. In a new cluster, CloudPlatform 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 3.6, “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 or
SharedMountPoint. 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 CloudPlatform.
54
• 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.
Adding a Pod
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.
11. In a new zone, CloudPlatform adds the first secondary storage server for you. For an overview of
what secondary storage is, see Section 3.7, “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 CloudPlatform System VM template. See Section 8.8, “Adding
Secondary Storage”.
To configure the first secondary storage server, enter the following, then click Next:
• NFS Server. The IP address of the server.
• Path. The exported path from the server.
12. Click Launch.
8.4. Adding a Pod
When you create a new zone, CloudPlatform adds the first pod for you. You can add more pods at any
time using the procedure in this section.
1. Log in to the CloudPlatform UI. See Section 6.2, “Log In to the UI”.
2. In the left navigation, choose Infrastructure. In Zones, click View More, then click the zone to
which you want to add a pod.
3. Click the Compute and Storage tab. In the Pods node of the diagram, click View All.
4. Click Add Pod.
55
Chapter 8. Steps to Provisioning Your Cloud Infrastructure
5. 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 CloudPlatform
uses to manage various system VMs, such as Secondary Storage VMs, Console Proxy VMs,
and DHCP. For more information, see System Reserved IP Addresses.
6. Click OK.
8.5. Adding a Cluster
You need to tell CloudPlatform 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.
8.5.1. Add Cluster: KVM or XenServer
These steps assume you have already installed the hypervisor on the hosts and logged in to the
CloudPlatform UI.
1. In the left navigation, choose Infrastructure. In Zones, click View More, then click the zone in
which you want to add the cluster.
2. Click the Compute tab.
3. In the Clusters node of the diagram, click View All.
4. Click Add Cluster.
5. Choose the hypervisor type for this cluster.
6. Choose the pod in which you want to create the cluster.
7. Enter a name for the cluster. This can be text of your choosing and is not used by CloudPlatform.
8. Click OK.
8.5.2. Add Cluster: OVM
To add a Cluster of hosts that run Oracle VM (OVM):
1. Add a companion non-OVM cluster to the Pod. This cluster provides an environment where the
CloudPlatform System VMs can run. You should have already installed a non-OVM hypervisor on
at least one Host to prepare for this step. Depending on which hypervisor you used:
• For VMWare, follow the steps in Add Cluster: vSphere. When finished, return here and continue
with the next step.
• For KVM or XenServer, follow the steps in Section 8.5.1, “Add Cluster: KVM or XenServer”.
When finished, return here and continue with the next step
2. In the left navigation, choose Infrastructure. In Zones, click View More, then click the zone in
which you want to add the cluster.
56
Add Cluster: vSphere
3. Click the Compute tab. In the Pods node, click View All. Select the same pod you used in step 1.
4. Click View Clusters, then click Add Cluster.
The Add Cluster dialog is displayed.
5. In Hypervisor, choose OVM.
6. In Cluster, enter a name for the cluster.
7. Click Add.
8.5.3. Add Cluster: vSphere
Host management for vSphere is done through a combination of vCenter and the CloudPlatform UI.
CloudPlatform requires that all hosts be in a CloudPlatform 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.
For vSphere servers, we recommend creating the cluster of hosts in vCenter and then adding the
entire cluster to CloudPlatform.
8.5.3.1. VMware Cluster Size Limit
The maximum number of hosts in a vSphere cluster is determined by the VMware hypervisor software.
For VMware versions 4.2, 4.1, 5.0, and 5.1, the limit is 32 hosts. CloudPlatform adheres to this
maximum.
Note
Best Practice: It is advisable for VMware clusters in CloudPlatform to be smaller than the VMware
hypervisor's maximum size. A cluster size of up to 8 hosts has been found optimal for most realworld situations.
8.5.3.2. Adding a vSphere Cluster
To add a vSphere cluster to CloudPlatform:
1. 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.
57
Chapter 8. Steps to Provisioning Your Cloud Infrastructure
2. Log in to the UI.
3. In the left navigation, choose Infrastructure. In Zones, click View More, then click the zone in
which you want to add the cluster.
4. Click the Compute tab, and click View All on Pods. Choose the pod to which you want to add the
cluster.
5. Click View Clusters.
6. Click Add Cluster.
7. In Hypervisor, choose VMware.
8. Provide the following information in the dialog. The fields below make reference to values from
vCenter.
• Cluster Name. Enter the name of the cluster you created in vCenter. For example,
"cloud.cluster.2.2.1"
• vCenter Host. Enter the hostname or IP address of the vCenter server.
• vCenter Username. Enter the username that CloudPlatform should use to connect to vCenter.
This user must have all administrative privileges.
• 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".
58
Add Cluster: vSphere
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 applicance.
• 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
59
Chapter 8. Steps to Provisioning Your Cloud Infrastructure
8.6. Adding a Host
1. Before adding a host to the CloudPlatform configuration, you must first install your chosen
hypervisor on the host. CloudPlatform can manage hosts running VMs under a variety of
hypervisors.
The CloudPlatform Installation Guide provides instructions on how to install each supported
hypervisor and configure it for use with CloudPlatform. 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 CloudPlatform.
Warning
Be sure you have performed the additional CloudPlatform-specific configuration steps
described in the hypervisor installation section for your particular hypervisor.
2. Now add the hypervisor host to CloudPlatform. The technique to use varies depending on the
hypervisor.
• Section 8.6.1, “Adding a Host (XenServer, KVM, or OVM)”
• Section 8.6.2, “Adding a Host (vSphere)”
8.6.1. Adding a Host (XenServer, KVM, or OVM)
XenServer, KVM, and Oracle VM (OVM) hosts can be added to a cluster at any time.
8.6.1.1. Requirements for XenServer, KVM, and OVM Hosts
Warning
Make sure the hypervisor host does not have any VMs already running before you add it to
CloudPlatform.
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 CloudPlatform
Installation Guide.
8.6.1.1.1. XenServer Host Additional Requirements
If network bonding is in use, the administrator must cable the new host identically to other hosts in the
cluster.
60
Adding a Host (XenServer, KVM, or OVM)
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.
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.
1. 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.
2. Run the script:
# ./cloud-setup-bonding.sh
8.6.1.1.2. 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.
8.6.1.1.3. OVM Host Additional Requirements
Before adding a used host in CloudPlatform, as part of the cleanup procedure on the host, be sure to
remove /etc/ovs-agent/db/.
8.6.1.2. Adding a XenServer, KVM, or OVM Host
1. 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 CloudPlatform and what
additional configuration is required to ensure the host will work with CloudPlatform. To find these
installation details, see the appropriate section for your hypervisor in the CloudPlatform Installation
Guide.
2. Log in to the CloudPlatform UI as administrator.
3. In the left navigation, choose Infrastructure. In Zones, click View More, then click the zone in
which you want to add the host.
4. Click the Compute tab. In the Clusters node, click View All.
5. Click the cluster where you want to add the host.
6. Click View Hosts.
61
Chapter 8. Steps to Provisioning Your Cloud Infrastructure
7. Click Add Host.
8. 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 named above (from your XenServer, KVM, or OVM
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.
9. Repeat for additional hosts.
8.6.2. Adding a Host (vSphere)
For vSphere servers, we recommend creating the cluster of hosts in vCenter and then adding the
entire cluster to CloudPlatform. See Add Cluster: vSphere.
8.7. Adding Primary Storage
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 CloudPlatform
will destroy any existing data.
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.
1. Log in to the CloudPlatform UI.
2. In the left navigation, choose Infrastructure. In Zones, click View All, then click the zone in which
you want to add the primary storage.
3. Click the Compute and Storage tab.
4. In the Primary Storage node of the diagram, click View All.
5. Click Add Primary Storage.
6. 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.
62
Adding Secondary Storage
• 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
• 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".
• SR Name-Label (for PreSetup). Enter the name-label of the SR that has been set up outside
CloudPlatform.
• 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.
7. Click OK.
8.8. Adding Secondary Storage
Note
Be sure there is nothing stored on the server. Adding the server to CloudPlatform will destroy any
existing data.
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.
1. To prepare for the zone-based Secondary Staging Store, you should have created and mounted
an NFS share during Management Server installation.
2. Make sure you prepared the system VM template during Management Server installation.
63
Chapter 8. Steps to Provisioning Your Cloud Infrastructure
3. Log in to the CloudPlatform UI as root administrator.
4. In the left navigation bar, click Infrastructure.
5. In Secondary Storage, click View All.
6. Click Add Secondary Storage.
7. Fill in the following fields:
• Name. Give the storage a descriptive name.
• Provider. Choose the type of storage provider (such as S3, Swift, or NFS). NFS can be
used for zone-based storage, and the others for region-wide object storage. S3 can be used
with Amazon Simple Storage Service or any other provider that supports the S3 interface.
Depending on which provider you choose, additional fields will appear. Fill in all the required
fields for your selected provider. For more information, consult the provider's documentation
(such as the S3 or Swift website).
Warning
You can use only a single region-wide object storage account per region. For example, you
can not mix both Swift and S3, or use S3 accounts from multiple different users.
• 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 object storage (such as 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.
• NFS server. The name of the zone's Secondary Staging Store.
• Path. The path to the zone's Secondary Staging Store.
8.8.1. 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:
1. To prepare for the zone-based Secondary Staging Store, you should have created and mounted
an NFS share during Management Server installation.
2. Make sure you prepared the system VM template during Management Server installation.
3. Log in to the CloudPlatform UI as root administrator.
4. In the left navigation bar, click Infrastructure.
64
Initialize and Test
5. In Secondary Storage, click View All.
6. In Select View, choose Secondary Staging Store.
7. Click the Add NFS Secondary Staging Store button.
8. 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.
8.9. Initialize and Test
After everything is configured, CloudPlatform 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 CloudPlatform UI.
1. 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.
2. Go to the Instances tab, and filter by My Instances.
3. Click Add Instance and follow the steps in the wizard.
a. Choose the zone you just added.
b. 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.
c. Select a service offering. Be sure that the hardware you have allows starting the selected
service offering.
d. 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 PVenabled OS kernel in use.
e. In default network, choose the primary network for the guest. In a trial installation, you would
have only one option here.
f.Optionally give your VM a name and a group. Use any descriptive text you would like.
g. 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.
4.
To use the VM, click the View Console button.
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 CloudPlatform Installation.
65
Chapter 8. Steps to Provisioning Your Cloud Infrastructure
If you decide to grow your deployment, you can add more hosts, primary storage, zones, pods, and
clusters.
66
Chapter 9.
Service Offerings
In this chapter we discuss compute, disk, and system service offerings. Network offerings are
discussed in the section on setting up networking for users.
9.1. Compute and Disk Service Offerings
A service offering is a set of virtual hardware features such as CPU core count and speed, memory,
and disk size. The CloudPlatform administrator can set up various offerings, and then end users
choose from the available offerings when they create a new VM. A service offering includes the
following elements:
• CPU, memory, and network resource guarantees
• How resources are metered
• How the resource usage is charged
• How often the charges are generated
For example, one service offering might allow users to create a virtual machine instance that is
equivalent to a 1 GHz Intel® Core™ 2 CPU, with 1 GB memory at $0.20/hour, with network traffic
metered at $0.10/GB. Based on the user’s selected offering, CloudPlatform emits usage records
that can be integrated with billing systems. CloudPlatform separates service offerings into compute
offerings and disk offerings. The computing service offering specifies:
• Guest CPU
• Guest RAM
• Guest Networking type (virtual or direct)
• Tags on the root disk
The disk offering specifies:
• Disk size (optional). An offering without a disk size will allow users to pick their own
• Tags on the data disk
9.1.1. Creating a New Compute Offering
To create a new compute offering:
1. Log in with admin privileges to the CloudPlatform UI.
2. In the left navigation bar, click Service Offerings.
3. In Select Offering, choose Compute Offering.
4. Click Add Compute Offering.
5. In the dialog, make the following choices:
• Name: Any desired name for the service offering.
• Description: A short description of the offering that can be displayed to users
67
Chapter 9. Service Offerings
• Storage type: The type of disk that should be allocated. Local allocates from storage attached
directly to the host where the system VM is running. Shared allocates from storage accessible
via NFS.
• # of CPU cores: The number of cores which should be allocated to a system VM with this
offering
• CPU (in MHz): The CPU speed of the cores that the system VM is allocated. For example,
“2000” would provide for a 2 GHz clock.
• Memory (in MB): The amount of memory in megabytes that the system VM should be
allocated. For example, “2048” would provide for a 2 GB RAM allocation.
• Network Rate: Allowed data transfer rate in MB per second.
• Offer HA: If yes, the administrator can choose to have the system VM be monitored and as
highly available as possible.
• Storage Tags: The tags that should be associated with the primary storage used by the system
VM.
• Host Tags: (Optional) Any tags that you use to organize your hosts
• CPU cap: Whether to limit the level of CPU usage even if spare capacity is available.
• isVolatile: If checked, VMs created from this service offering will have their root disks reset
upon reboot. This is useful for secure environments that need a fresh start on every boot and for
desktops that should not retain state.
• Public: Indicate whether the service offering should be available all domains or only some
domains. Choose Yes to make it available to all domains. Choose No to limit the scope to a
subdomain; CloudPlatform will then prompt for the subdomain's name.
6. Click Add.
9.1.2. Creating a New Disk Offering
To create a new disk offering:
1. Log in with admin privileges to the CloudPlatform UI.
2. In the left navigation bar, click Service Offerings.
3. In Select Offering, choose Disk Offering.
4. Click Add Disk Offering.
5. In the dialog, make the following choices:
• Name. Any desired name for the disk offering.
• Description. A short description of the offering that can be displayed to users
• Storage Type. Type of disk for the VM. Local is attached to the hypervisor host where the VM is
running. Shared is storage accessible via the secondary storage provider.
• Custom Disk Size. If checked, the user can set their own disk size. If not checked, the root
administrator must define a value in Disk Size.
68
Modifying or Deleting a Service Offering
• Disk Size. Appears only if Custom Disk Size is not selected. Define the volume size in GB.
• QoS Type. Three options: Empty (no Quality of Service), hypervisor (rate limiting enforced
on the hypervisor side), and storage (guaranteed minimum and maximum IOPS enforced on
the storage side). If using QoS, make sure that the hypervisor or storage system supports this
feature.
• (Optional) Storage Tags. The tags that should be associated with the primary storage for this
disk. Tags are a comma separated list of attributes of the storage. For example "ssd,blue".
Tags are also added on Primary Storage. CloudPlatform matches tags on a disk offering to tags
on the storage. If a tag is present on a disk offering that tag (or tags) must also be present on
Primary Storage for the volume to be provisioned. If no such primary storage exists, allocation
from the disk offering will fail..
• Public. Indicate whether the service offering should be available all domains or only some
domains. Choose Yes to make it available to all domains. Choose No to limit the scope to a
subdomain; CloudPlatform will then prompt for the subdomain's name.
6. Click Add.
9.1.3. Modifying or Deleting a Service Offering
Service offerings cannot be changed once created. This applies to both compute offerings and disk
offerings.
A service offering can be deleted. If it is no longer in use, it is deleted immediately and permanently. If
the service offering is still in use, it will remain in the database until all the virtual machines referencing
it have been deleted. After deletion by the administrator, a service offering will not be available to end
users that are creating new instances.
9.2. System Service Offerings
System service offerings provide a choice of CPU speed, number of CPUs, tags, and RAM size, just
as other service offerings do. But rather than being used for virtual machine instances and exposed
to users, system service offerings are used to change the default properties of virtual routers, console
proxies, and other system VMs. System service offerings are visible only to the CloudPlatform root
administrator. CloudPlatform provides default system service offerings. The CloudPlatform root
administrator can create additional custom system service offerings.
When CloudPlatform creates a virtual router for a guest network, it uses default settings which are
defined in the system service offering associated with the network offering. You can upgrade the
capabilities of the virtual router by applying a new network offering that contains a different system
service offering. All virtual routers in that network will begin using the settings from the new service
offering.
9.2.1. Creating a New System Service Offering
To create a system service offering:
1. Log in with admin privileges to the CloudPlatform UI.
2. In the left navigation bar, click Service Offerings.
3. In Select Offering, choose System Offering.
4. Click Add System Service Offering.
69
Chapter 9. Service Offerings
5. In the dialog, make the following choices:
• Name. Any desired name for the system offering.
• Description. A short description of the offering that can be displayed to users
• System VM Type. Select the type of system virtual machine that this offering is intended to
support.
• Storage type. The type of disk that should be allocated. Local allocates from storage attached
directly to the host where the system VM is running. Shared allocates from storage accessible
via NFS.
• # of CPU cores. The number of cores which should be allocated to a system VM with this
offering
• CPU (in MHz). The CPU speed of the cores that the system VM is allocated. For example,
“2000” would provide for a 2 GHz clock.
• Memory (in MB). The amount of memory in megabytes that the system VM should be allocated.
For example, “2048” would provide for a 2 GB RAM allocation.
• Network Rate. Allowed data transfer rate in MB per second.
• Offer HA. If yes, the administrator can choose to have the system VM be monitored and as
highly available as possible.
• Storage Tags. The tags that should be associated with the primary storage used by the system
VM.
• Host Tags. (Optional) Any tags that you use to organize your hosts
• CPU cap. Whether to limit the level of CPU usage even if spare capacity is available.
• Public. Indicate whether the service offering should be available all domains or only some
domains. Choose Yes to make it available to all domains. Choose No to limit the scope to a
subdomain; CloudPlatform will then prompt for the subdomain's name.
6. Click Add.
9.2.2. Changing the Secondary Storage VM Service Offering on a
Guest Network
A user or administrator can change the SSVM service offering that is associated with an existing guest
network.
1. Log in to the CloudPlatform UI as an administrator or end user.
2. To change the SSVM service offering, you must first stop all the SSVMs on the network.
For more information, see Section 11.7, “Stopping and Starting VMs”.
3. In the left navigation, click Instances.
4. Choose the VM that you want to work with.
5.
Click the Stop button to stop the VM.
70
Changing the Secondary Storage VM Service Offering on a Guest Network
6.
Click the Change Service button.
7. Select the offering you want.
The Change service dialog box is displayed.
8. Click OK.
9. If you stopped any VMs, restart them.
71
72
Chapter 10.
Setting Up Networking for Users
10.1. Overview of Setting Up Networking for Users
People using cloud infrastructure have a variety of needs and preferences when it comes to the
networking services provided by the cloud. As a CloudPlatform administrator, you can do the following
things to set up networking for your users:
• Set up physical networks in zones
• Set up several different providers for the same service on a single physical network (for example,
both Cisco and Juniper firewalls)
• Bundle different types of network services into network offerings, so users can choose the desired
network services for any given virtual machine
• Add new network offerings as time goes on so end users can upgrade to a better class of service on
their network
• Provide more ways for a network to be accessed by a user, such as through a project of which the
user is a member
10.2. About Virtual Networks
A virtual network is a logical construct that enables multi-tenancy on a single physical network. In
CloudPlatform a virtual network can be shared or isolated.
10.2.1. Isolated Networks
An isolated network can be accessed only by virtual machines of a single account. Isolated networks
have the following properties.
• Resources such as VLAN are allocated and garbage collected dynamically
• There is one network offering for the entire network
• The network offering can be upgraded or downgraded but it is for the entire network
For more information, see Section 16.5.1, “Configuring Isolated Guest Network”.
10.2.2. Shared Networks
A shared network can be accessed by virtual machines that belong to many different accounts.
Network Isolation on shared networks is accomplished by using techniques such as security groups,
which is supported only in Basic zones.
• Shared Networks are created by the administrator
• Shared Networks can be designated to a certain domain
• Shared Network resources such as VLAN and physical network that it maps to are designated by
the administrator
• Shared Networks can be isolated by security groups
• Public Network is a shared network that is not shown to the end users
73
Chapter 10. Setting Up Networking for Users
• Source NAT per zone is not supported when the service provider is virtual router. However, Source
NAT per account is supported with virtual router in a Shared Network.
For information, see Section 16.5.3, “Configuring a Shared Guest Network”.
10.2.3. Runtime Allocation of Virtual Network Resources
When you define a new virtual network, all your settings for that network are stored in CloudPlatform.
The actual network resources are activated only when the first virtual machine starts in the network.
When all virtual machines have left the virtual network, the network resources are garbage collected
so they can be allocated again. This helps to conserve network resources.
10.3. Network Service Providers
Note
For the most up-to-date list of supported network service providers, see the CloudPlatform UI or
call listNetworkServiceProviders.
A service provider (also called a network element) is hardware or virtual appliance that makes a
network service possible; for example, a firewall appliance can be installed in the cloud to provide
firewall service. On a single network, multiple providers can provide the same network service. For
example, a firewall service may be provided by Cisco or Juniper devices in the same physical network.
You can have multiple instances of the same service provider in a network (say, more than one
Juniper SRX device).
If different providers are set up to provide the same service on the network, the administrator can
create network offerings so users can specify which network service provider they prefer (along with
the other choices offered in network offerings). Otherwise, CloudPlatform will choose which provider to
use whenever the service is called for.
10.4. Network Service Providers Support Matrix
10.4.1. Individual
Y = Supported
N = Not Supported
Virtual RouterVPC Virtual
Router
BigIP F5Juniper SRXCitrix
NetScaler
DHCPYYNNN
DNSYYNNN
User DataYYNNN
Source NATYYNYN
Static NATYYNYN
74
Support Matrix for an Isolated Network (Combination)
10.4.2. Support Matrix for an Isolated Network (Combination)
Y = Supported
N = Not Supported
NW
Devices
DHCP DNSUser
Data
Source
NAT
Static
NAT
Port
Forwarding
Load
Balancing
Remote
VPN
Network
ACL
Usage
Monitoring
NetScaler
Security
Group
Firewall
Virtual
Router
(VR)
VPC
Virtual
Router
VR
and
F5
Side
by
side
VR
and
NetScaler
Side
by
Side
SRX
and
F5
Side
by
Side
VRVRVRVRVRVRVRVRNYNY
VPCVRVPCVRVPCVRVPCVRVPCVRVPCVRVPCVRNVPCVRYNN
VRVRVRVRVRVRF5VRNYNStatic
NAT /
PF Yes
LB No
VRVRVRVRVRVRNetScalerVRNYNStatic
NAT /
PF Yes
LB No
VRVRVRSRXSRXSRXF5SRXSRXYNStatic
NAT /
PF Yes
LB No
SRX
and
NetScaler
Side
VRVRVRSRXSRXSRXNetScalerSRXSRXYNStatic
NAT /
PF Yes
75
Chapter 10. Setting Up Networking for Users
NW
Devices
by
Side
SRX
and
F5
Inline
DHCP DNSUser
Data
VRVRVRSRXSRXSRXF5SRXSRXYNStatic
Source
NAT
Static
NAT
Port
Forwarding
Load
Balancing
Remote
VPN
Network
ACL
10.4.3. Support Matrix for Shared Network (Combination)
Y = Supported
N = Not Supported
NW
Devices
Virtual
Router
VR
and
F5
Side
by
side
DHCP DNSUser
Data
VRVRVRNNNNNNYNN
VRVRVRVRVRVRF5VRNYNStatic
Source
NAT
Static
NAT
Port
Forwarding
Load
Balancing
Remote
VPN
Network
ACL
Usage
Monitoring
Usage
Monitoring
Security
Group
Security
Group
Firewall
LB No
NAT /
PF Yes
LB Yes
Firewall
NAT /
PF Yes
LB No
VR
and
NetScaler
Side
by
Side
SRX
and
F5
Side
by
Side
SRX
and
NetScaler
Side
by
Side
SRX
and
F5
Inline
VRVRVRVRVRVRNetScalerVRNYNStatic
NAT /
PF Yes
LB No
VRVRVRSRXSRXSRXF5SRXSRXYNStatic
NAT /
PF Yes
LB No
VRVRVRSRXSRXSRXNetScalerSRXSRXYNStatic
NAT /
PF Yes
LB No
VRVRVRSRXSRXSRXF5SRXSRXYNStatic
NAT /
PF Yes
LB Yes
76
10.4.4. Support Matrix for Basic Zone
Y = Supported
N = Not Supported
Support Matrix for Basic Zone
NW
Devices
Virtual
Router
VR
and
NetScaler
(EIP/
ELB)
DHCP DNSUser
Data
VRVRVRNNNNNNYYN
VRVRVRNNetScalerNNetScalerNNYYN
Source
NAT
Static
NAT
Port
Forwarding
Load
Balancing
Remote
VPN
Network
ACL
Usage
Monitoring
10.5. Network Offerings
Note
For the most up-to-date list of supported network services, see the CloudPlatform UI or call
listNetworkServices.
A network offering is a named set of network services, such as:
• DHCP
• DNS
Security
Group
Firewall
• Source NAT
• Static NAT
• Port Forwarding
• Load Balancing
• Firewall
• VPN
• Optional) Name one of several available providers to use for a given service, such as Juniper for the
firewall
• (Optional) Network tag to specify which physical network to use
When creating a new VM, the user chooses one of the available network offerings, and that
determines which network services the VM can use.
The CloudPlatform administrator can create any number of custom network offerings, in addition
to the default network offerings provided by CloudPlatform. By creating multiple custom network
offerings, you can set up your cloud to offer different classes of service on a single multi-tenant
physical network. For example, while the underlying physical wiring may be the same for two tenants,
tenant A may only need simple firewall protection for their website, while tenant B may be running
77
Chapter 10. Setting Up Networking for Users
a web server farm and require a scalable firewall solution, load balancing solution, and alternate
networks for accessing the database backend.
Note
If you create load balancing rules while using a network service offering that includes an external
load balancer device such as NetScaler, and later change the network service offering to one that
uses the CloudPlatform virtual router, you must create a firewall rule on the virtual router for each
of your existing load balancing rules so that they continue to function.
When creating a new virtual network, the CloudPlatform administrator chooses which network offering
to enable for that network. Each virtual network is associated with one network offering. A virtual
network can be upgraded or downgraded by changing its associated network offering. If you do this,
be sure to reprogram the physical network to match.
CloudPlatform also has internal network offerings for use by CloudPlatform system VMs. These
network offerings are not visible to users but can be modified by administrators.
10.5.1. Creating a New Network Offering
To create a network offering:
1. Log in with admin privileges to the CloudPlatform UI.
2. In the left navigation bar, click Service Offerings.
3. In Select Offering, choose Network Offering.
4. Click Add Network Offering.
5. In the dialog, make the following choices:
• Name. Any desired name for the network offering.
• Description. A short description of the offering that can be displayed to users.
• Network Rate. Allowed data transfer rate in MB per second.
• Guest Type. Choose whether the guest network is isolated or shared.
For a description of this term, see Section 10.2, “About Virtual Networks”.
• Persistent. Indicate whether the guest network is persistent or not. The network that you
can provision without having to deploy a VM on it is termed persistent network. For more
information, see Section 16.28, “Persistent Networks”.
• Specify VLAN. (Isolated guest networks only) Indicate whether a VLAN could be specified
when this offering is used. If you select this option and later use this network offering while
creating a VPC tier or an isolated network, you will be able to specify a VLAN ID for the network
you create.
• VPC. This option indicate whether the guest network is Virtual Private Cloud-enabled. A Virtual
Private Cloud (VPC) is a private, isolated part of CloudPlatform. A VPC can have its own virtual
network topology that resembles a traditional physical network. For more information on VPCs,
see Section 16.27.1, “About Virtual Private Clouds”.
78
Creating a New Network Offering
• Supported Services. Select one or more of the possible network services. For some services,
you must also choose the service provider; for example, if you select Load Balancer, you can
choose the CloudPlatform virtual router or any other load balancers that have been configured
in the cloud. Depending on which services you choose, additional fields may appear in the rest
of the dialog box.
Based on the guest network type selected, you can see the following supported services:
Supported ServicesDescriptionIsolatedShared
DHCPFor more information,
see Section 16.23,
“DNS and DHCP”.
DNSFor more information,
see Section 16.23,
“DNS and DHCP”.
Load BalancerIf you select Load
Balancer, you
can choose the
CloudPlatform virtual
router or any other
load balancers that
have been configured
in the cloud.
FirewallFor more
information, see the
Administration Guide.
Source NATIf you select Source
NAT, you can choose
the CloudPlatform
virtual router or any
other Source NAT
providers that have
been configured in
the cloud.
SupportedSupported
SupportedSupported
SupportedSupported
SupportedSupported
SupportedSupported
Static NATIf you select Static
NAT, you can choose
the CloudPlatform
virtual router or any
other Static NAT
providers that have
been configured in
the cloud.
Port ForwardingIf you select Port
Forwarding, you
can choose the
CloudPlatform virtual
router or any other
Port Forwarding
providers that have
SupportedSupported
SupportedSupported
79
Chapter 10. Setting Up Networking for Users
Supported ServicesDescriptionIsolatedShared
been configured in
the cloud.
VPNFor more information,
see Section 16.24,
“Remote Access
VPN”.
User DataFor more information,
see Section 20.3,
“User Data and Meta
Data”.
Network ACLFor more information,
see Section 16.27.4,
“Configuring Network
Access Control List”.
Security GroupsFor more information,
see Section 16.6.4,
“Adding a Security
Group”.
• System Offering. If the service provider for any of the services selected in Supported Services
is a virtual router, the System Offering field appears. Choose the system service offering that
you want virtual routers to use in this network. For example, if you selected Load Balancer in
Supported Services and selected a virtual router to provide load balancing, the System Offering
field appears so you can choose between the CloudPlatform default system service offering
and any custom system service offerings that have been defined by the CloudPlatform root
administrator.
SupportedSupported
Not SupportedSupported
SupportedNot Supported
Not SupportedSupported
For more information, see Section 9.2, “System Service Offerings”.
• LB Isolation: Specify what type of load balancer isolation you want for the network: Shared or
Dedicated.
Dedicated: If you select dedicated LB isolation, a dedicated load balancer device is assigned
for the network from the pool of dedicated load balancer devices provisioned in the zone. If
no sufficient dedicated load balancer devices are available in the zone, network creation fails.
Dedicated device is a good choice for the high-traffic networks that make full use of the device's
resources.
Shared: If you select shared LB isolation, a shared load balancer device is assigned for
the network from the pool of shared load balancer devices provisioned in the zone. While
provisioning CloudPlatform picks the shared load balancer device that is used by the least
number of accounts. Once the device reaches its maximum capacity, the device will not be
allocated to a new account.
• Mode: You can select either Inline mode or Side by Side mode:
Inline mode: Supported only for Juniper SRX firewall and BigF5 load balancer devices. In inline
mode, a firewall device is placed in front of a load balancing device. The firewall acts as the
gateway for all the incoming traffic, then redirect the load balancing traffic to the load balancer
behind it. The load balancer in this case will not have the direct access to the public network.
80
Changing the Network Offering on a Guest Network
Side by Side: In side by side mode, a firewall device is deployed in parallel with the load
balancer device. So the traffic to the load balancer public IP is not routed through the firewall,
and therefore, is exposed to the public network.
• Associate Public IP: Select this option if you want to assign a public IP address to the VMs
deployed in the guest network. This option is available only if
• Guest network is shared.
• StaticNAT is enabled.
• Elastic IP is enabled.
For information on Elastic IP, see Section 16.18, “About Elastic IP”.
• Redundant router capability. Available only when Virtual Router is selected as the Source
NAT provider. Select this option if you want to use two virtual routers in the network for
uninterrupted connection: one operating as the master virtual router and the other as the
backup. The master virtual router receives requests from and sends responses to the user’s
VM. The backup virtual router is activated only when the master is down. After the failover, the
backup becomes the master virtual router. CloudPlatform deploys the routers on different hosts
to ensure reliability if one host is down.
• Conserve mode. Indicate whether to use conserve mode. In this mode, network resources are
allocated only when the first virtual machine starts in the network. When conservative mode is
off, the public IP can only be used for a single service. For example, a public IP used for a port
forwarding rule cannot be used for defining other services, such as StaticNAT or load balancing.
When the conserve mode is on, you can define more than one service on the same public IP.
Note
If StaticNAT is enabled, irrespective of the status of the conserve mode, no port forwarding
or load balancing rule can be created for the IP. However, you can add the firewall rules by
using the createFirewallRule command.
• Tags. Network tag to specify which physical network to use.
• Default egress policy: Configure the default policy for firewall egress rule. Options are Allow
and Deny. Default is Allow if no egress policy is specified, which indicates that all the egress
traffic is accepted when a guest network is created from this offering.
To block the egress traffic for a guest network, select Deny. In this case, when you configure an
egress rules for an isolated guest network, rules are added to allow the specified traffic.
6. Click Add.
10.5.2. Changing the Network Offering on a Guest Network
A user or administrator can change the network offering that is associated with an existing guest
network.
1. Log in to the CloudPlatform UI as an administrator or end user.
81
Chapter 10. Setting Up Networking for Users
2. If you are changing from a network offering that uses the CloudPlatform virtual router to one
that uses external devices as network service providers, you must first stop all the VMs on the
network. See Section 11.7, “Stopping and Starting VMs”.
3. In the left navigation, choose Network.
4. Click the name of the network you want to modify.
5.
In the Details tab, click Edit.
6. In Network Offering, choose the new network offering, then click Apply.
A prompt is displayed asking whether you want to keep the existing CIDR. This is to let you know
that if you change the network offering, the CIDR will be affected.
If you upgrade between virtual router as a provider and an external network device as provider,
acknowledge the change of CIDR to continue, so choose Yes.
7. Wait for the update to complete. Don’t try to restart VMs until the network change is complete.
8. If you stopped any VMs, restart them.
10.5.3. Creating and Changing a Virtual Router Network Offering
To create the network offering in association with a virtual router system service offering:
1. Log in to the CloudPlatform UI as a user or admin.
2. First, create a system service offering, for example: VRsystemofferingHA.
For more information on creating a system service offering, see Section 9.2.1, “Creating a New
System Service Offering”.
3. From the Select Offering drop-down, choose Network Offering.
4. Click Add Network Offering.
5. In the dialog, make the following choices:
• Name. Any desired name for the network offering.
• Description. A short description of the offering that can be displayed to users.
• Network Rate. Allowed data transfer rate in MB per second.
• Traffic Type. The type of network traffic that will be carried on the network.
• Guest Type. Choose whether the guest network is isolated or shared. For a description of these
terms, see Section 10.2, “About Virtual Networks”.
• Specify VLAN. (Isolated guest networks only) Indicate whether a VLAN should be specified
when this offering is used.
• Supported Services. Select one or more of the possible network services. For some services,
you must also choose the service provider; for example, if you select Load Balancer, you can
choose the CloudPlatform virtual router or any other load balancers that have been configured
in the cloud. Depending on which services you choose, additional fields may appear in the rest
of the dialog box. For more information, see Section 10.5.1, “Creating a New Network Offering”
82
Creating and Changing a Virtual Router Network Offering
• System Offering. Choose the system service offering that you want virtual routers to use in
this network. In this case, the default “System Offering For Software Router” and the custom
“VRsystemofferingHA” are available and displayed.
6. Click OK and the network offering is created.
To change the network offering of a guest network to the virtual router service offering:
1. Select Network from the left navigation pane.
2. Select the guest network that you want to offer this network service to.
3. Click the Edit button.
4. From the Network Offering drop-down, select the virtual router network offering you have just
created.
5. Click OK.
83
84
Chapter 11.
Working With Virtual Machines
11.1. About Working with Virtual Machines
CloudPlatform provides administrators with complete control over the life cycle of all guest VMs
executing in the cloud. CloudPlatform provides several guest management operations for end users
and administrators. VMs may be stopped, started, rebooted, and destroyed.
Guest VMs have a name and group. VM names and groups are opaque to CloudPlatform and are
available for end users to organize their VMs. Each VM can have three names for use in different
contexts. Only two of these names can be controlled by the user:
• Instance name – a unique, immutable ID that is generated by CloudPlatform, and can not be
modified by the user. This name conforms to the requirements in IETF RFC 1123.
• Display name – the name displayed in the CloudPlatform web UI. Can be set by the user. Defaults
to instance name.
• Name – host name that the DHCP server assigns to the VM. Can be set by the user. Defaults to
instance name.
Note
You can append the display name of a guest VM to its internal name. For more information, see
Section 11.6, “Appending a Display Name to the Guest VM’s Internal Name”.
Guest VMs can be configured to be Highly Available (HA). An HA-enabled VM is monitored by the
system. If the system detects that the VM is down, it will attempt to restart the VM, possibly on a
different host. For more information, see Section 18.2, “HA-Enabled Virtual Machines”.
In a zone that uses basic networking with EIP enabled, each new VM is by default allocated one public
IP address. When the VM is started, CloudPlatform automatically creates a static NAT between this
public IP address and the private IP address of the VM.
If Elastic IP is in use (with the NetScaler load balancer), the IP address initially allocated to the new
VM is not marked as elastic. The user must replace the automatically configured IP with a specifically
acquired elastic IP, and set up the static NAT mapping between this new IP and the guest VM’s
private IP. The VM’s original IP address is then released and returned to the pool of available public
IPs. Optionally, you can also decide not to allocate a public IP to a VM in an EIP-enabled Basic zone.
For more information on Elastic IP, see Section 16.18, “About Elastic IP”.
CloudPlatform cannot distinguish a guest VM that was shut down by the user (such as with the
“shutdown” command in Linux) from a VM that shut down unexpectedly. If an HA-enabled VM is shut
down from inside the VM, CloudPlatform will restart it. To shut down an HA-enabled VM, you must go
through the CloudPlatform UI or API.
11.2. Best Practices for Virtual Machines
For VMs to work as expected and provide excellent service, follow these guidelines.
85
Chapter 11. Working With Virtual Machines
11.2.1. Monitor VMs for Max Capacity
The CloudPlatform 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 CloudPlatform 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
CloudPlatform UI to disable allocation of more VMs to the cluster.
11.2.2. Install Required Tools and Drivers
Be sure the following are installed on each VM:
• 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.
• 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.
To be sure that Xen tools or VMware Tools is installed, use one of the following techniques:
• Create each VM from a template that already has the tools installed; or,
• 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,
• 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 CloudPlatform using the
updateVirtualMachine API. After installing the tools and updating the virtual machine, stop and start
the VM.
11.3. VM Lifecycle
Virtual machines can be in the following states:
86
Creating VMs
Once a virtual machine is destroyed, it cannot be recovered. All the resources used by the virtual
machine will be reclaimed by the system. This includes the virtual machine’s IP address.
A stop will attempt to gracefully shut down the operating system, which typically involves terminating
all the running applications. If the operation system cannot be stopped, it will be forcefully terminated.
This has the same effect as pulling the power cord to a physical machine.
A reboot is a stop followed by a start.
CloudPlatform preserves the state of the virtual machine hard disk until the machine is destroyed.
A running virtual machine may fail because of hardware or network issues. A failed virtual machine is
in the down state.
The system places the virtual machine into the down state if it does not receive the heartbeat from the
hypervisor for three minutes.
The user can manually restart the virtual machine from the down state.
The system will start the virtual machine from the down state automatically if the virtual machine is
marked as HA-enabled.
11.4. Creating VMs
Virtual machines are usually created from a template. Users can also create blank virtual machines.
A blank virtual machine is a virtual machine without an OS template. Users can attach an ISO file and
install the OS from the CD/DVD-ROM.
Note
You can create a VM without starting it. You can determine whether the VM needs to be started
as part of the VM deployment. A new request parameter, startVM, is introduced in the deployVm
API to support this feature. For more information, see the Developer's Guide
11.4.1. Creating a VM from a template
1. Log in to the CloudPlatform UI as an administrator or user.
87
Chapter 11. Working With Virtual Machines
2. In the left navigation bar, click Instances.
3. Click Add Instance.
4. Select a zone.
5. Select a template, then follow the steps in the wizard. For more information about how the
templates came to be in this list, see Chapter 13, Working with Templates.
6. Be sure that the hardware you have allows starting the selected service offering.
7. Click Submit and your VM will be created and started.
Note
For security reasons, the internal name of the VM is visible only to the root admin.
11.4.2. Creating a VM from an ISO
Note
(XenServer) Windows VMs running on XenServer require PV drivers, which may be provided
in the template or added after the VM is created. The PV drivers are necessary for essential
management functions such as mounting additional volumes and ISO images, live migration, and
graceful shutdown.
1. Log in to the CloudPlatform UI as an administrator or user.
2. In the left navigation bar, click Instances.
3. Click Add Instance.
4. Select a zone.
5. Select ISO Boot, and follow the steps in the wizard.
6. Click Submit and your VM will be created and started.
7. (Oracle VM only) After ISO installation, the installer reboots into the operating system. Due to a
known issue in OVM, the reboot will place the VM in the Stopped state. In the CloudPlatform UI,
detach the ISO from the VM (so that the VM will not boot from the ISO again), then click the Start
button to restart the VM.
11.4.3. Configuring Usage of Linked Clones on VMware
(For ESX hypervisor in conjunction with vCenter)
VMs can be created as either linked clones or full clones on VMware.
For a full description of clone types, refer to VMware documentation. In summary: A full clone is a
copy of an existing virtual machine which, once created, does not depend in any way on the original
88
Accessing VMs
virtual machine. A linked clone is also a copy of an existing virtual machine, but it has ongoing
dependency on the original. A linked clone shares the virtual disk of the original VM, and retains
access to all files that were present at the time the clone was created.
The use of these different clone types involves some side effects and tradeoffs, so it is to the
administrator's advantage to be able to choose which of the two types will be used in a CloudPlatform
deployment.
A new global configuration setting has been added, vmware.create.full.clone. When the administrator
sets this to true, end users can create guest VMs only as full clones. The default value is true for fresh
installations of CloudPlatform. For customers upgrading from CloudPlatform 2.x or 3.x, the default
value of vmware.create.full.clone is false.
It is not recommended to change the value of vmware.create.full.clone in a cloud with running VMs.
However, if the value is changed, existing VMs are not affected. Only VMs created after the setting is
put into effect are subject to the restriction.
11.5. Accessing VMs
Any user can access their own virtual machines. The administrator can access all VMs running in the
cloud.
To access a VM through the CloudPlatform UI:
1. Log in to the CloudPlatform UI as a user or admin.
2. Click Instances, then click the name of a running VM.
3.
Click the View Console
To access a VM directly over the network:
1. The VM must have some port open to incoming traffic. For example, in a basic zone, a new
VM might be assigned to a security group which allows incoming traffic. This depends on what
security group you picked when creating the VM. In other cases, you can open a port by setting up
a port forwarding policy. See IP Forwarding and Firewalling.
2. If a port is open but you can not access the VM using ssh, it’s possible that ssh is not already
enabled on the VM. This will depend on whether ssh is enabled in the template you picked when
creating the VM. Access the VM through the CloudPlatform UI and enable ssh on the machine
using the commands for the VM’s operating system.
3. If the network has an external firewall device, you will need to create a firewall rule to allow
access. See IP Forwarding and Firewalling.
11.6. Appending a Display Name to the Guest VM’s Internal
Name
Every guest VM has an internal name. The host uses the internal name to identify the guest VMs.
CloudPlatform gives you an option to provide a guest VM with a display name. You can add this
display name to the internal name so that it is displayed in contexts where the internal name is shown,
such as in vCenter. This feature is intended to make the correlation between instance names and
internal names easier in large data center deployments.
To append display names to VM internal names, set the global configuration parameter
vm.instancename.flag to true. The default value of this parameter is false.
89
Chapter 11. Working With Virtual Machines
The default format of the internal name is i-<user_id>-<vm_id>-<instance.name>, where
instance.name is a global parameter. When vm.instancename.flag is set to true, if a display name is
provided during the creation of a guest VM, the display name is appended to the internal name of the
guest VM on the host. This changes the internal name format to i-<user_id>-<vm_id>-<displayName>.
The following table explains how a VM name is displayed in different scenarios.
User-Provided
Display Name
YesTrueDisplay namei-<user_id>-
NoTrueUUIDi-<user_id>-
YesFalseDisplay namei-<user_id>-
NoFalseUUIDi-<user_id>-
vm.instancename.flagHostname on theVMName on
vCenter
<vm_id>displayName
<vm_id><instance.name>
<vm_id><instance.name>
<vm_id><instance.name>
Internal Name
i-<user_id><vm_id>displayName
i-<user_id><vm_id><instance.name>
i-<user_id><vm_id><instance.name>
i-<user_id><vm_id><instance.name>
11.7. Stopping and Starting VMs
Once a VM instance is created, you can stop, reset, or delete it as needed. In the CloudPlatform UI,
click Instances, select the VM, and use the Stop, Start, Reset, Reboot, and Destroy buttons.
Reseting leads to restarting a VM. You can reset when a VM is either running or stopped.
11.8. Assigning VMs to Hosts
At any point in time, each virtual machine instance is running on a single host. How does
CloudPlatform determine which host to place a VM on? There are several ways:
• Automatic default host allocation. CloudPlatform can automatically pick the most appropriate host to
run each virtual machine.
• Instance type preferences. CloudPlatform administrators can specify that certain hosts should have
a preference for particular types of guest instances. For example, an administrator could state that
a host should have a preference to run Windows guests. The default host allocator will attempt to
place guests of that OS type on such hosts first. If no such host is available, the allocator will place
the instance wherever there is sufficient physical capacity.
• Vertical and horizontal allocation. Vertical allocation consumes all the resources of a given host
before allocating any guests on a second host. This reduces power consumption in the cloud.
Horizontal allocation places a guest on each host in a round-robin fashion. This may yield better
performance to the guests in some cases.
• End user preferences. Users can not control exactly which host will run a given VM instance, but
they can specify a zone for the VM. CloudPlatform is then restricted to allocating the VM only to one
of the hosts in that zone.
90
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.