580 likes | 775 Views
EUCALYPTUS Cloud. What’s in a name?. E lastic U tility C omputing A rchitecture L inking Y our P rograms T o U seful S ystems Eucalyptus is a simple open architecture for implementing cloud functionality at the IaaS level.
E N D
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 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 Version Architecture • CentOS+XEN 5. xx86_64 • CentOS+KVM 6. xx86_64 • Ubuntu+KVM 10.04 x86_64 • Ubuntu+KVM 12.04 x86_64 • RHEL+XEN 5. xx86_64 • RHEL+KVM 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
Guest 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
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 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 Web- based 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. • HardwareMinimumSuggested • 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 • HardwareMinimumSuggested • 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
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.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
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/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/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/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/eucalyptus/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-release-3.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/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.
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/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/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/rhel/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>"