Title: EUCALYPTUS Cloud
1EUCALYPTUS Cloud
2Whats in a name?
- Elastic Utility Computing Architecture
Linking Your Programs To Useful Systems - Eucalyptus is a simple open architecture for
implementing cloud functionality at the IaaS
level. - It is specifically designed to be easy to install
and maintain in a research setting, and that it
is easy to modify, instrument, and extend. - Eucalyptus can be deployed and executed without
modification to the underlying infrastructure. - Eucalyptus components have well defined
interfaces (described by WSDL documents), support
secure communication (using WS-Security
policies), and rely upon industry-standard
Web-services software packages (Axis2, Apache,
and Rampart).
3A Secure Cloud
- Eucalyptus is a Linux-based open source software
architecture that implements efficiency-enhancing
private and hybrid clouds within an enterprises
existing IT Infrastructure. - A Eucalyptus private cloud is deployed across an
enterprises on-premise data center
infrastructure and is accessed by users over
enterprise intranet. Thus sensitive data remains
Entirely secure from external intrusion behind
the enterprise firewall.
4Why Eucalyptus
- Open Source
- you can download it and have the source code at
your fingertips. - Modular
- The Eucalyptus components have well-defined
interfaces (via WSDL, since they are web
services) and thus can be easily swapped out for
custom components. - Distributed
- Eucalyptus allows its components to be installed
strategically close to the needed/used resources.
For example Walrus can be installed close to the
storage, while the Cluster Controller can be
installed close to the cluster it will manage. - Designed to Perform
- Eucalyptus was designed from the ground up to be
scalable and to achieve optimal performance in
diverse environments (designed to overlay an
existing infrastructure). -
5Why Eucalyptus
- Flexible
- Eucalyptus is flexible and can be installed on a
very minimal setup. Yet it can be installed on
thousands of cores and terabytes of storage. And
it can do so as an overlay on top of an existing
infrastructure. - Compatible
- Eucalyptus is compatible with the most popular
and widely used Cloud API currently available
Amazon EC2 and S3. - Hypervisor Agnostic
- Currently Eucalyptus fully supports KVM and Xen.
Additionally, the Enterprise Edition supports the
proprietary VMware hypervisor. - Hybrid Cloud
- The above characteristics makes Eucalyptus easy
to deploy as an hybrid cloud. An hybrid cloud
combines resources drawn from multiple clouds,
typically one private and one public. -
6Cloud Roles
7Cloud Roles
- Managers
- Availability of cloud resources
- Quality of cloud services
- Cloud usage billing and costing
- Establishing IT processes and best practices
8Cloud Roles
- Administrators
- Daily production and operational support of cloud
platform - Continuous monitoring and status reporting of
cloud platform - Maintaining service level agreements
9Cloud Roles
- Application Architects
- Developing and adapting applications to cloud
deployments - Information management and adapting data
management to cloud deployments - Cloud Service design, implementation, and
lifecycle support
10Cloud Roles
- Users
- On-demand provisioning of compute, network, and
storage resources - Self-service configuration of cloud resources
- Transparency on service costs and levels
11Compute Compatibility
- Operating System Hypervisors Version
Architecture - CentOSXEN
5. xx86_64 - CentOSKVM
6. xx86_64 - UbuntuKVM
10.04 x86_64 - UbuntuKVM
12.04 x86_64 - RHELXEN
5. xx86_64 - RHELKVM
6 xx86_64 - VMWare ESX
4.0, 4.1 x86_64 - VMWare ESXi
4.0, 4.1, 5.0 x86_64 - VMware vCenter
4.0, 4.1, 5.0 x86_64
12Guest Operating Systems
- Operating System TypeVersion/Edition
Architecture - Windows Server 2003R2
i386/x86_64 - Windows Server 2008Datacenter
i386/x86_64 - Windows Server 2008R2
x86_64 - Windows 7Professional
i386/x86_64 - All Modern Linux Distributions RedHat
- , CentOS, Ubuntu, Fedora, Debian,
- OpenSUSE, SLES, etc.
i386/x86_64
13Hierarchical Design
Eucalyptus employs a hierarchical design to
reflect underlying resource topologies
14Overview of Services
Overview of services that comprise the Cloud
Controller. Lines indicate the flow of messages
where the dashed lines correspond to internal
service messages
15Eucalyptus Components
- Cloud controller (CLC)
- Warlus
- Storage controller
- Cluster controller
- VMBroker (optional)
- Node controller
16Cloud Controller (CLC)
- The Cloud Controller (CLC) is the entry-point
into the cloud for administrators, developers,
project managers, and end-users. - Functions
- Monitor the availability of resources on
various components of the - cloud infrastructure, including hypervisor nodes
that are used to actually provision the
instances and the cluster controllers that manage
the hypervisor nodes - Resource arbitration Deciding which clusters
will be used for provisioning the instances - Monitoring the running instances
17Cluster Controller(CC)
- The Cluster Controller (CC) generally executes
on a cluster front--end machine, or any machine
that has network - Connectivity to both the nodes running NCs and to
the machine running the CLC. CCs gather
information about a set of VMs and schedules VM
execution on specific NCs. The CC also manages
the virtual instance network and participates in
the enforcement of - All nodes served by a single CC must be in the
same broadcast domain (Ethernet). - Functions
- To receive requests from CLC to deploy instances
- To decide which NCs to use for deploying the
instances on - To control the virtual network available to the
instances - To collect information about the NCs registered
with it and report it - to the CLC
18Node Controller (NC)
- The Node Controller (NC) is executed on every
node that is designated for hosting VM instances. - NCs control the execution, inspection, and
termination of VM instances on the host where it
runs, fetches and cleans up local copies of
instance images (the kernel, the root file
system, and the ramdisk image), and queries and
controls the system software on its node (host OS
and the hypervisor) in response to queries and
control requests from the cluster controller. The
Node controller is also responsible for the
management of the virtual network endpoint. - Functions
- Collection of data related to the resource
availability and utilization - on the node and reporting the data to CC
- Instance life cycle management
19Storage Controller
- The Storage Controller (SC) provides
functionality similar to the Amazon Elastic Block
Store (Amazon EBS). The SC is capable of
interfacing with various storage systems (NFS,
iSCSI, SAN devices, etc.). - Elastic block storage exports storage volumes
that can be attached by a VM and mounted or
accessed as a raw block device
20Walrus
- Walrus allows users to store persistent data,
organized as buckets and objects. You can use
Walrus to create, delete, and list buckets, or to
put, get, and delete objects, or to set access
control policies. - Walrus is interface compatible with Amazons
Simple Storage Service (S3), providing a
mechanism for storing and accessing virtual
machine images and user data
21VMware Broker
- VMware Broker (Broker or VB) is an optional
Eucalyptus component, which is available if you
are a Eucalyptus Subscriber. - VMware Broker enables Eucalyptus to deploy
virtual machines (VMs) on VMware infrastructure
elements. VMware Broker mediates all interactions
between the CC and VMware hypervisors (ESX/ESXi)
either directly or through VMware vCenter.
22Administrative interface
23Administrative interface
- administrative tasks, such as adding and removing
users and disk images. - supports such tasks though aWebbased interface,
implemented by the cloud controller, and
commandline tools - the system that is independent of any specific
client interface or intrinsic IaaS functionality.
24Administrator
- User account can be temporarily disabled or
permanently removed by an administrator . - The administrator can find out which instances a
user is executing and terminate them. - Currently, disk images in Eucalyptus can be added
to the system only by an administrator. - An image consists of a (Xen-)compatible guest OS
kernel, a root file system image, and,
optionally, a RAM disk image. - Adding an image constitutes uploading these three
components into the system and naming the image.
After a image is added, any user can run
instances of that image. - Administrators may temporarily disable or
permanently remove the image - Finally, the administrator is in charge of adding
and removing nodes from cluster controllers
configuration.
25Virtual networking
- Eucalyptus, network solution addresses
connectivity, isolation, and performance . - First and foremost, every virtual machine that
Eucalyptus controls must have network
connectivity to each other. - Each instance controlled by Eucalyptus is given
two virtual network interfaces one is referred
to as public while the other is termed
private. - The public interface is assigned the role of
handling communication outside of a given set of
VM instances, or between instances within the
same availability zone,allowing communication
both to and from the instance. - The instances private interface, however, is
used only for inter-VM communication across
zones, handling the situation where two VM
instances are running inside separate private
networks (zones) but need to communicate with one
another. - Within Eucalyptus, the cluster controller
currently handles the set up and tear down of
instance virtual network interfaces
26Users
- Users are added to a Eucalyptus installation
either through the action of an administrator or
by filling out an on-line form that is sent to
the administrator for approval. - Eucalyptus maps the identity of a user to the
their email address.
27Benefits of Cloud Computing
- The Eucalyptus open source private cloud gives IT
organizations the features so essential to
improving the efficiency of an IT infrastructure,
including the following - Data center optimization. Eucalyptus optimizes
existing data center resources with consolidation
through virtualization of all data center
elements, including machines, storage and
network. Eucalyptus is compatible with most
widely used virtualization technologies,
including Xen and KVM hypervisors. - Automated self-service. Eucalyptus automates
computer resource provisioning By allowing users
to access their own flexible configurations of
machines,storage, and networking devices as
needed through a convenient self-service Web
interface. - Customizable Web-interface. Eucalyptus uses
universally accepted Web- based network
communication protocols that allow users to
access computing resources through a highly
customizable Web-interface.
28Benefits of The Eucalyptus
- Scalable data center infrastructure. Eucalyptus
clouds are highly scalable, which enables an
organization to efficiently scale-up or
scale-down data center resources according to the
needs of the enterprise. - Elastic resource configuration. The elasticity of
a Eucalyptus cloud allows users to flexibly
reconfigure computing resources as requirements
change. This helps the enterprise workforce
remain adaptable to sudden changes in business
needs. - Open source innovation. Highly transparent and
extensible, Eucalyptus open source core
architecture remains entirely open and available
for value- adding customizations and innovations
provided by the open source development
community. The Eucalyptus open source software
core is available for free download at
www.eucalyptus.com.
29Benefits of Cloud Computing
- Hybrid cloud capability. Eucalyptus interacts
seamlessly with Amazon public cloud services,
including EC2 and S3, with no software
modification required. This allows IT
organizations to quickly cloudburst into the
public cloud space without purchasing additional
data center hardware during very large spikes in
enterprise resource demand. For example,
RightScale, CohesiveFT, Zmanda, rPath are just a
few of the partners that deliver solutions for
Amazon AWS that in turn work seamlessly with
Eucalyptus
30Hardware Requirements for CLC
- The following minimum specifications are
suggested for machines that will be used for
running the CC, CLC, Walrus, or SC. - Hardware Minimum
Suggested - CPU 2GHz
2 x 2GHz - Memory 2GB
4 GB - Disk 5400rpm IDE
7200rpm SATA - Disk space 100 GB
300 GB - Networking 100 Mbps
1000 Mbps
31Hardware Requirements
- Machines that will be used for running the NC
need much more horsepower since they will run
each of the virtual instances. - They will also need sufficient disk space to
store the images used for launching the
instances. - The machines that run the NC should preferably be
multi-core, with at least 4 GB of memory, and use
speedy disk drives.
32Hardware Requirements for NC
- Hardware Minimum
Suggested - CPU VT extensions VT,
64-bit, multi-core - Memory 2 GB
4 GB - Disk 5400rpm IDE
7200rpm SATA or SCSI - Disk space 100 GB
300 GB - Networking 100 Mbps
1000 Mbps
33Verifying Component Disk Space
Component Directory Minimum Size
CLC CLC logging /var/lib/eucalyptus/db /var/log/eucalyptus 20GB 2GB
Walrus Walrus logging /var/lib/eucalyptus/bukkits /var/log/eucalyptus 250GB 2GB
SC /var/lib/eucalyptus/volumes (EBS storage) This disk space on the SC is only required if you are not using a SAN driver. 250GB
CC CC logging /var/lib/eucalyptus/CC /var/log/eucalyptus 5GB 2GB
NC NC logging /var/lib/eucalyptus/instances /var/log/eucalyptus 250GB 2GB
34Prerequisite Check of CLC, CC, SC and Walrus
- Minimum Requirements
- Minimum requirement of the OS is RHEL 5.6 and
above. - Minimum requirement of the kernel is
2.6.32-279.9.1.el6.x86_64 - Disable the firewall (iptables) and SELinux.
Restart after modifications in SELinux. - Setup the date referring to the centralized NTP
Server - Internet connection
35Installation Process of CLC, CC, SC and Walrus
- Configure the Eucalyptus package repository on
each host that will run a Eucalyptus component - yum install http//downloads.eucalyptus.com/softwa
re/eucalyptus/3.1/rhel/6/x86_64/eucalyptus-release
-3.1.noarch.rpm - Configure the Euca2ools package repository on
each host that will run a Eucalyptus component or
Euca2ools - yum install http//downloads.eucalyptus.com/softwa
re/euca2ools/2.1/rhel/6/x86_64/euca2ools-release-2
.1.noarch.rpm
36- Configure the EPEL package repository on each
host that will run a Eucalyptus component or
Euca2ools - yum install http//downloads.eucalyptus.com/softwa
re/eucalyptus/3.1/rhel/6/x86_64/epel-release-6.noa
rch.rpm - Configure the ELRepo repository on each host that
will run Walrus - yum install http//downloads.eucalyptus.com/softwa
re/eucalyptus/3.1/rhel/6/x86_64/elrepo-release-6.n
oarch.rpm
37- Install the Eucalyptus subscription package on
each host that will run a Eucalyptus component - yum install eucalyptus-enterprise-relea
se-3.1.noarch.rpm - Install the Eucalyptus cloud controller software
on each planned CLC host - Yum group install eucalyptus-cloud-co
ntroller
38- Install the software for the remaining Eucalyptus
components. - yum install eucalyptus-cc eucalyptus-sc
eucalyptus-walrus - TipWe recommend that you use different hosts for
each component - After you have installed Eucalyptus, test
multicast connectivity between each CLC and
Walrus, SC, and VMware broker host.
39- Run the following receiver command on the CLC
- java -classpath /usr/share/eucalyptus/jgroups-2.11
.1.Final.jar org.jgroups.tests.McastReceiverTest
-mcast_addr 224.10.10.10 -port 5555 - Once the receiver command blocks, simultaneously
run the following sender command on each Walrus
host - java -classpath /usr/share/eucalyptus/jgroups-2.11
.1.Final.jar org.jgroups.tests.McastSenderTest
-mcast_addr 224.10.10.10 -port 5555 - The two applications should be able to connect
and arbitrary lines entered on the sender should
appear on the receiver.
40Configure Eucalyptus
- Start the CLC
- Log in to the CLC.
- /usr/sbin/euca_conf --initialize
- Note This command might take a minute or more to
finish. - Enter the following command to start the CLC,
Walrus,SC. - service eucalyptus-cloud start
41Start the CC
- Log in to the CC server and enter the following
- service eucalyptus-cc start
- Verify the Startup
- Verify that everything has started without error.
Expected outcomes include - The CLC is listening on ports 8443 and 8773
- Walrus is listening on port 8773
- The SC is listening on port 8773
- The CC is listening on port 8774
- The NCs are listening on port 8775
- Log files are being written to /var/log/eucalyptus
/
42- Once all the services are started properly,
access the service through a web user interface
with the URL https//ltIP of the CLCgt8443/
43Prerequisite Check of NC
- Minimum Requirements
- Minimum requirement of the OS is RHEL 5.6 and
above. - Disable the firewall (iptables) and SELinux.
Restart after the modifications in SELinux. - Setup the date referring to the centralized NTP
Server.
44Installation of KVM on NC
- If the NC is not installed with the KVM
hypervisor by the time of the Operating system
installation, installation the KVM hypervisor
with the following command - yum install kvm virt-manager
virt-install virsh - Once after the KVM hypervisor is installed,
reboot the machine.
45- Configure the Eucalyptus package repository on
each host that will run a Eucalyptus component - yum install http//downloads.eucalyptus.com/softwa
re/eucalyptus/3.1/rhel/6/x86_64/eucalyptus-release
-3.1.noarch.rpm - Configure the Euca2ools package repository on
each host that will run a Eucalyptus component or
Euca2ools - yum install http//downloads.eucalyptus.com/softwa
re/euca2ools/2.1/rhel/6/x86_64/euca2ools-release-2
.1.noarch.rpm
46- Configure the EPEL package repository on each
host that will run a Eucalyptus component or
Euca2ools - yum install http//downloads.eucalyptus.com/softwa
re/eucalyptus/3.1/rhel/6/x86_64/epel-release-6.noa
rch.rpm - Install the KVM driver appropriate to your
hardware. - For systems with Intel processors
- modprobekvm_intel
- modprobevhost_net
- For systems with AMD processors
- modprobekvm_amd
- modprobevhost_net
47- Restart libvirtd by running the following
command - service libvirtd restart
- Install the Eucalyptus node controller software
on each planned NC host - yum install eucalyptus-nc
- Your installation is complete.!!!!!!!!!!!!
48Configuration of Eucalyptus Components
- To check whether the CLC,CC,NC service is running
or not, run the following command on CLC,CC,NC
respectively. - /etc/init.d/eucalyptus-cloud status
- /etc/init.d/eucalyptus-cc status
- /etc/init.d/eucalyptus-cc status
49- For the centralized managing of all the
eucalyptus components from CLC, it is mandatory
to register them on CLC. By default, CLC is
registered in itself and no more commands are
required for registering CLC. - In the case if there is any secondary CLC
- /usr/sbin/euca_conf --register-cloud
--partition eucalyptus --host ltclc_2_IP_addressgt
--component ltclc_namegt - To register Walrus
- /usr/sbin/euca_conf --register-walrus
--partition walrus --host ltwalrus_IP_addressgt
--component ltwalrus_namegt
50- To register CC
- /usr/sbin/euca_conf --register-cluster
--partition ltpartition_namegt --host
ltCC_IP_addressgt --component ltcc_namegt - NOTE the partition names of CC and SC must be
same. - To register SC
- /usr/sbin/euca_conf --register-sc --partition
ltpartition_namegt --host ltSC_IP_addressgt
--component ltSC_namegt - To register NC
- /usr/sbin/euca_conf --register-nodes
"ltnode0_IP_addressgt ... ltnodeN_IP_addressgt"
51Network Modes
52Administration
- Administration of cloud can be done in two ways.
- One is through command line and
- Another is through the GUI.
- The command line tools used for the
administration of the Eucalyptus Cloud is
Euca2ools in Linux and EC2 in Windows. - The GUI tool used for the administration of the
Eucalyptus Cloud is Hybridfox. - Euca2ools admin credentials are to be downloaded
from the dashboard of CLC by logging in as
admin.
53- Once after locating the euca2ools in the CLC, we
need to source the eucarc file on the CLC only
when it is possible to run the euca2ools as
below. - source eucarc
- To check whether the euca2ools is installed
properly and the euca commands are running or
not, check any command related to euca. For
example - euca-describe-availability-zones
54INSTALLATION OF HYBRIDFOX
- Before the installation of the Eucalyptus
graphical administration tool Hybridfox on CLC,
ensure the latest version of Mozilla Firefox has
been installed on the CLC machine or any machine
that you want to use Hybridfox. - Hybridfox is an add-on to the Mozilla Firefox.
- The GUI tool Hybridfox can be downloaded from the
eucalyptus site http//code.google.com/p/hybridfox
/. - After downloading the Hybridfox software, locate
it at one of the locations as you wish.
55- Important You must be synchronize with ntp
server of both CLC and the system in which you
are installing Hybridfox. - Open the parent directory of the Hybridfox
software in an explorer window, and right click
on the Hybridfox icon and click on Open with
other Application and open with Mozilla
Firefox. -
- After selecting the Mozilla Firefox as the
opening application, it opens a wizard of
Software Installation and click Install Now
on that which proceeds for the installation of
the Hybridfox. - Once after the Hybridfox is installed, restart
the browser. - Open the Firefox browser, drop down the menu list
of the Tools in the menu bar and click on
Hybridfox. - On clicking the Hybridfox option, it opens a
separate tab which is used to administrate in GUI
mode as euca commands do in the CLI mode.
56- In the Hybridfox tab, click on the Region
button to add the Region name as the cc-name,
type of the cloud as one of Eucalyptus, EC2,
opennimbula and etc. and Endpoint URL as the
value mentioned for the variable EC2_URL in the
eucarc file. The Endpoint URL looks like - http//ltCLC-IP-Address8773/services/Eucalyptus.
- In the Hybridfox tab, click on the Credentials
button to add the user credentials. For the first
time, the administrator enters his own
credentials to get full administration powers. - On clicking the Credentials button, Manage EC2
Credentials wizard opens. Here we have to add
any user defined Account Name. And along with
the Account Name of the user, add the AWS
Access key and AWS Secret Access key that are
present in the eucarc file as EC2_ACCESS_KEY
and EC2_SECRET_KEYvalues respectively and add
the Preferred Region by selecting one of the
regions created earlier.
57- Once after the above configuration has been
completed, just refresh the Hybridfox. - To confirm the configuration, check the created
regions are present in the Region drop down menu
and check the created credential names are
present in the Credential drop down menu.
58 THANK YOU