Nephelae*s Cloud - Laboratory for Internet Computing
Download
Report
Transcript Nephelae*s Cloud - Laboratory for Internet Computing
Papadopoulos Andreas
Presentation Outline
Definition of Cloud Computing
Cloud Computing Stack
Open Source Cloud Computing Software Platforms
Nephelae’s Configuration
Eucalyptus
How to use Nephelae’s infrastructure
Demostration
Definition of Cloud Computing
“Cloud computing is Internet-based computing, whereby
shared resources, software and information are provided
to computers and other devices on-demand, like
electricity” (Wikipedia)
“Cloud computing is a model for enabling ubiquitous,
convenient, on-demand network access to a shared pool
of configurable computing resources (e.g., networks,
servers, storage, applications, and services) that can be
rapidly provisioned and released with minimal
management effort or service provider interaction.”
(NIST)
Cloud Computing Stack
Software As A Service - SAAS
A complete application is offered to the customer, as a
service on demand
A single instance of the service runs on the cloud and
multiple end users are serviced
Customers' side: no need for upfront investment in
servers or software licenses
Providers' side: the costs are lowered, since only a
single application needs to be hosted and maintained
SaaS offered by Google, Salesforce, Microsoft, Zoho,
etc.
Platform As A Service - PAAS
A layer of software, or development environment is
encapsulated and offered as a service
The customer has the freedom to build his own
applications, which run on the provider's
infrastructure
PaaS providers offer a predefined combination of OS
and application servers, such as LAMP platform,
restricted J2EE, Ruby etc.
PaaS example: Google's App Engine, Force.com etc.
Infrastructure As A Service - IAAS
IaaS provides basic storage and computing capabilities
as standardized services over the network
Servers, storage systems, networking equipment,
datacenter space etc. are pooled and made available to
handle workloads
The customer would typically deploy his own software
on the infrastructure.
IaaS examples: Amazon, GoGrid, 3 Tera etc.
Anything As A Service - *AAS
Impact of Cloud Computing – IT
organization governance
Open Source Cloud Computing
Software Platforms
Eucalyptus (also commercial version available)
OpenNebula
Nimbus
CloudStack
OpenStack
OpenQRM
…
Nephelae’s Configuration
Nephelae runs
Ubuntu Enterprise Cloud
Ubuntu Server 11.10
Open source eucalyptus 2.0.2
KVM
Started as a research project in the Computer Science
Department at the University of California, Santa
Barbara
Based on open-source software components that are
used without modification
Compatible with Amazon's EC2, S3, and EBS interfaces
Hypervisors supported: KVM, Xen and VMware (only
enterprise edition)
Eucalyptus Architecture
Nephelae
Architecture
CPU Model
Total
Total
CPUs
RAM
Cores
(GB)
Storage
Capacity
(TB)
Cloud
Controller Walrus
[email protected]
2
8
74
1.6
Cluster and
Storage
Controller
[email protected]
2
8
74
1.6
Node
Controller 1
[email protected]
2
8
60
1.6
Node
[email protected]
Controller 2
2
12
74
1.6
Node
[email protected]
Controller 3
2
12
74
1.6
Node
[email protected]
Controller 4
2
12
74
1.6
Node
[email protected]
Controller 5
2
12
24
460GB
Eucalyptus Architecture
Cloud Controller (CLC)
ClC is a collection of three web services
Resource Services
Manipulation and monitoring of the system component and virtual machines and network
Data Services
Managing of the persistent user and system data
Interface Services
Authentication protocol translation
User-visible interfaces
Cluster Controller (CC)
Schedule incoming instance run requests to specific NCs, FCFS depending on
VM-type
Control the instance virtual network overlay
Report information about NCs
Node Controller (NC)
NC is executed on every node that is designed for hosting VM
It discovers the characteristics of the physical resource
It replies to describeResource, describeInstances, runInstance, terminateInstance
requests
Walrus
Storage controller
Eucalyptus users can stream data into/out of the
cloud
Storage service for VM
compress
encrypt
split
cache
Implements REST (via HTTP) SOAP style of
software architecture for distributed hypermedia
systems such as the World Wide Web.
Block Storage (BS)
Compatible with Elastic Block Store, BS allows
volumes
Creation (from snapshot)
Monitoring
Attaching
Detaching
Deletion
Eucalyptus Virtual Network Overlay
Eucalyptus provides four network configurations
SYSTEM: VMs request IP address trough DHCP
requests
STATIC: MAC ↔ IP address tuple
MANAGED: VM attached to a specific network
(private or public)
Isolation
MANAGED NO-VLAN: Same as MANAGED without
vlan support
Nephelae is configured in SYSTEM mode
How to use Nephelae’s
Infrastructure - Outline
Create an account
Download and install credentials
Install euca2ools
Start-up instances
Attach volumes
Use Walrus storage
Shutting-down instances
Create an account
Use the Eucalyptus Web Interfaces at
https://Nephelae.in.cs.ucy.ac.cy:8443 /
On the Login page click on Apply for account.
On the next page that pops up fill out ALL the
Mandatory AND optional fields of the form.
Once complete click on signup and the Eucalyptus
administrator will be notified of the account request.
You will get an email once the account has been
approved.
Click on the link provided in the email to confirm and
complete the account creation process.
Download
credentials
Download your
credentials as a
zip file from the
web interface for
use with
euca2ools
Use credentials
Save this credential file euca2-{username}-
x509 and extract it for local use
mkdir ~/.euca
cd ~/.euca
unzip euca2-{username}-x509.zip
chmod 0700 ~/.euca
chmod 0600 ~/.euca/*
Source the eucarc file using the command
source eucarc
source ./eucarc
Install euca2ools
Euca2ools are the command line clients
used to interact with Eucalyptus.
Download euca2ools from
http://open.eucalyptus.com/downloads
Instructions for various Linux platforms are
available on the download page.
Create your Keypair
Create a keypair and add the public key to eucalyptus.
$ euca-add-keypair mykey | tee mykey.private
$ chomd 0600 mykey.private
List your existing keypairs
$ euca-describe-keypairs
Start-up instances
Testing your setup
Use euca-describe-availability-zones to test the setup.
$ euca-describe-availability-zones
AVAILABILITYZONE NephelaeCC1 NephelaeCC
List existing images
$ euca-describe-images
IMAGE emi-E240106D debian/debian.5-0.x86-64.img.manifest.xml
admin available
public x86_64 machine eki-4A8E123C eri-83C01326
IMAGE emi-C9A8102E centos/centos.5-3.x86.img.manifest.xml admin available
public
i386 machine eki-36321225 eri-6DF012FE instance-store
IMAGE emi-485F121D ubuntu-9.04/ubuntu.9-04.x86-64.img.manifest.xml admin available public
x86_64 machine eki-8F121374 eri-CB0D1458 instance-store
IMAGE emi-C9CD1067 ubuntu11/ubuntu_11__.img.manifest.xml admin available
public
x86_64 machine eki-559B1299 eri-8EE4137F instance-store
………
Start-up instances
Select image and run
$ euca-run-instances -k mykey -n 1 emi-C9CD1067 -t
c1.medium
View status of your instances
$ euca-describe-instances
VMType
Max
CPU
(#cores)
Ram
(MB)
Disk
(GB)
m1.small
88
1
256
2
c1.medium
88
1
512
5
m1.large
44
2
1024
10
m1.xlarge
44
2
2048
20
Availability Zones
Connect to your instances
View the ip address of your instance using
$ euca-describe-instances
Connect as root with ssh
$ ssh –i mykey.private [email protected]
Install your programs
Changes will be lost on shutdown (halt) or terminate
Use BS - Attach volumes
Persistent Storage
Create volume using:
$ euca-create-volume –-size 5G –-zone NephelaeCC1
Attach Volume to instance
$ euca-attach-volume –i instanceId –d vda volumeID
Use fdisk to create primary partition
vm$ fdisk /dev/vda
Create filesystem with mkfs
vm$ mkfs.ext3 /dev/vda
Mount locally with mount
vm$ mkdir /ebs ; mount /dev/vda1 /ebs
Unmount and detach when done
vm$ umount /ebs
$ euca-detach-volume volumeID
Use Walrus storage
Download s3cmd 0.9.8.3
Get patch from eucalyptus site
Create your config file to include your
SECRET and ACCESS key (from eucarc)
and Nephelae host
Use s3cmd to
create/delete/upload/download to/from
walrus
$ s3cmd -c s3cfg.walrus mb s3://BUCKET
$ s3cmd -c s3cfg.walrus put FILE [FILE...]
s3://BUCKET[/PREFIX]
S3cmd can also be installed on a vm
Shutting-down instances
Unmount and detach any volumes
Log out from the vm
$ euca-terminate-instance instanceId
User Limits
1 bucket maximum size 30Gb
1 block storage maximum size 30Gb
No instances limit
Demo
http://grid.ucy.ac.cy/Nephelae/
Papadopoulos Andreas