What’s 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). A Secure Cloud Eucalyptus is a Linux-based open source software architecture that implements efficiency-enhancing private and hybrid clouds within an enterprise’s existing IT Infrastructure. A Eucalyptus private cloud is deployed across an enterprise’s “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. Why 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). Why 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. CLOUD ROLES CLOUD ROLES Managers Availability of cloud resources Quality of cloud services Cloud usage billing and costing Establishing IT processes and best practices CLOUD ROLES Administrators Daily production and operational support of cloud platform Continuous monitoring and status reporting of cloud platform Maintaining service level agreements CLOUD 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 CLOUD ROLES Users On-demand provisioning of compute, network, and storage resources Self-service configuration of cloud resources Transparency on service costs and levels Compute Compatibility Operating System & Hypervisors CentOS+XEN CentOS+KVM Ubuntu+KVM Ubuntu+KVM RHEL+XEN RHEL+KVM VMWare ESX VMWare ESXi VMware vCenter Version 5. 6. 10.04 12.04 5. 6 4.0, 4.1 4.0, 4.1, 5.0 4.0, 4.1, 5.0 Architecture xx86_64 xx86_64 x86_64 x86_64 xx86_64 xx86_64 x86_64 x86_64 x86_64 Guest Operating Systems Operating System TypeVersion/Edition Windows Server 2003R2 Windows Server 2008Datacenter Windows Server 2008R2 Windows 7Professional All Modern Linux Distributions RedHat , CentOS, Ubuntu, Fedora, Debian, OpenSUSE, SLES, etc. Architecture i386/x86_64 i386/x86_64 x86_64 i386/x86_64 i386/x86_64 Hierarchical Design Eucalyptus employs a hierarchical design to reflect underlying resource topologies Overview 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 Eucalyptus Components Cloud controller (CLC) Warlus Storage controller Cluster controller VMBroker (optional) Node controller Cloud 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 Cluster 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 Node 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 Storage 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 Walrus 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 Amazon’s Simple Storage Service (S3), providing a mechanism for storing and accessing virtual machine images and user data VMware 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. Administrative interface Administrative 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. Administrator 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 controller’s configuration. Virtual 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 instance’s 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 Users 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. Benefits 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 Webbased network communication protocols that allow users to access computing resources through a highly customizable Web-interface. Benefits 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. Benefits 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 Hardware 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 Hardware 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. Hardware Requirements for NC Hardware CPU Memory Disk Disk space Networking Minimum VT extensions VT, 2 GB 5400rpm IDE 100 GB 100 Mbps Suggested 64-bit, multi-core 4 GB 7200rpm SATA or SCSI 300 GB 1000 Mbps Verifying Component Disk Space Component Directory Minimum Size CLC /var/lib/eucalyptus/db 20GB CLC logging /var/log/eucalyptus 2GB Walrus /var/lib/eucalyptus/bukkits 250GB Walrus logging /var/log/eucalyptus 2GB /var/lib/eucalyptus/volumes (EBS SC storage) This disk space on the SC is only required if you are not using a SAN driver. 250GB CC /var/lib/eucalyptus/CC 5GB CC logging /var/log/eucalyptus 2GB NC /var/lib/eucalyptus/instances 250GB NC logging /var/log/eucalyptus 2GB Prerequisite 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.32279.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 Installation 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/software/eucalyptu s/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/software/euca2ools/2.1/r hel/6/x86_64/euca2ools-release-2.1.noarch.rpm Configure the EPEL package repository on each host that will run a Eucalyptus component or Euca2ools: yum install http://downloads.eucalyptus.com/software/eucalyptu s/3.1/rhel/6/x86_64/epel-release-6.noarch.rpm Configure the ELRepo repository on each host that will run Walrus: yum install http://downloads.eucalyptus.com/software/eucalyptu s/3.1/rhel/6/x86_64/elrepo-release-6.noarch.rpm Install the Eucalyptus subscription package on each host that will run a Eucalyptus component: yum install eucalyptus-enterprise-release3.1*.noarch.rpm Install the Eucalyptus cloud controller software on each planned CLC host: Yum group install eucalyptus-cloud-controller Install the software for the remaining Eucalyptus components. yum install eucalyptus-cc eucalyptus-sc eucalyptus-walrus Tip:We 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. 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/jgroups2.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. Configure 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 Start 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/ Once all the services are started properly, access the service through a web user interface with the URL https://<IP of the CLC>:8443/ Prerequisite 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. Installation 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. Configure the Eucalyptus package repository on each host that will run a Eucalyptus component: yum install http://downloads.eucalyptus.com/software/eucaly ptus/3.1/rhel/6/x86_64/eucalyptus-release3.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/software/euca2ools /2.1/rhel/6/x86_64/euca2ools-release-2.1.noarch.rpm Configure the EPEL package repository on each host that will run a Eucalyptus component or Euca2ools: yum install http://downloads.eucalyptus.com/software/eucalyptus/3.1/r hel/6/x86_64/epel-release-6.noarch.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 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.!!!!!!!!!!!! Configuration 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 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 <clc_#2_IP_address> --component <clc_name> To register Walrus: # /usr/sbin/euca_conf --register-walrus --partition walrus -host <walrus_IP_address> --component <walrus_name> To register CC: # /usr/sbin/euca_conf --register-cluster --partition <partition_name> --host <CC_IP_address> --component <cc_name> NOTE: the partition names of CC and SC must be same. To register SC # /usr/sbin/euca_conf --register-sc --partition <partition_name> --host <SC_IP_address> --component <SC_name> To register NC: # /usr/sbin/euca_conf --register-nodes "<node0_IP_address> ... <nodeN_IP_address>" Network Modes Administration 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”. 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 INSTALLATION 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. 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. 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://<CLC-IP-Address:8773/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_KEY”values respectively and add the “Preferred Region” by selecting one of the regions created earlier. 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. THANK YOU