Xen and Cloudstack
Total Page:16
File Type:pdf, Size:1020Kb
Xen and CloudStack Ewan Mellor Director, Engineering, Open-source Cloud Platforms Citrix Systems Agenda • What is CloudStack? • Move to the Apache Foundation • CloudStack architecture on Xen • The future for CloudStack • Developing on CloudStack CloudStack is… • Infrastructure-as-a-Service software • For people to build Amazon-style clouds – either as a public service, – or as a private cloud within your own organization. CloudStack is… Compute Hypervisor XenServer Oracle VM vSphere KVM Bare metal Storage Block & Object Fiber Local Disk iSCSI NFS Swift Channel Network Network & Network Services Network Load Isolation Firewall VPN Type balancer CloudStack versus OpenStack CloudStack OpenStack Apache Foundation OpenStack Foundation (incubating) (founding in progress) 2008-present 2010-present Java Python Fairly centralized Aggressively distributed Complete solution More of a framework Apache incubation • Citrix donated the CloudStack code to the Apache Software Foundation and Apache Incubator • The project now needs to prove that it can operate openly and independent of Citrix • If it can do that, it can be accepted as a top-level Apache project. CloudStack and Xen Most CloudStack users choose Xen or XenServer Xen VMware KVM It is the combination that works the best! CloudStack is… • A cluster of management servers • An orchestration engine • State and user management • Region, zone, pod, cluster model • A large collection of effectors • System VMs • Usage reporting • User interface Users Router Management cluster Load balancer L3 core switch Access layer switches Servers Secondary Storage Pod 1 Pod 2 Pod 3 Pod N Two types of storage Primary storage • Stores virtual disks L3 switch • Configured at cluster level • Close to hosts for better performance Pod 1 L2 switch • Requires high IOPS Secondary Cluster 1 storage Host 1 Primary Secondary storage storage Host 2 • Stores templates, ISOs and snapshots • Configured at zone level • Zone can have one or more • High capacity, low cost Users Router Management cluster Load balancer L3 core switch Access layer switches Servers Secondary Storage Pod 1 Pod 2 Pod 3 Pod N Networking features • Choice of network isolation – Physical, VLAN, L3 (anti-spoof), overlay (GRE) • Multiple networks – Shared networks, project networks • IPAM / DHCP • Gateway (inc VRRP) • VPN, stateful firewall, NAT, port forwarding • Traffic monitoring • Load balancing • User-data / password-change services Virtual network topologies CS Virtual Router provides network services External devices provide network services Guest network Guest network Public network Public network Guest Guest 10.1.1.1 10.1.1.1 VM 1 VM 1 SRX CS firewall Guest Guest Virtual 10.1.1.3 VM 2 10.1.1.3 VM 2 Router NetScaler DHCP, DNS, NAT, Guest Guest 10.1.1.4 LB LB, VPN VM 3 10.1.1.4 VM 3 Guest Guest 10.1.1.5 VM 4 10.1.1.5 VM 4 CS DHCP, DNS Virtual Router Multi-tier virtual network topology Guest network Guest network Guest network Public network App VM 10.1.2.31 1 10.1.3.21 Web VM 10.1.1.1 1 10.1.2.21 SRX firewall App VM Web VM 10.1.2.24 2 10.1.3.45 10.1.1.3 2 10.1.2.18 Netscaler Web VM DB VM 1 LB 10.1.1.4 3 10.1.2.38 10.1.3.24 Web VM 10.1.1.5 4 10.1.2.39 DHCP, DNS, CS DHCP, CS DHCP, DNS CS user-data Virtual DNS, Virtual user-data, Virtual Router user-data Router NAT, VPN Router Public network Users Router Management cluster Load balancer L3 core switch Access layer switches Servers Secondary Storage Pod 1 Pod 2 Pod 3 Pod N Users Router Management cluster Load balancer L3 core switch Access layer switches Servers Secondary Storage Pod 1 Pod 2 Pod 3 Pod N System VMs Customer VMs Driver domains Control domain Guest VMn Driver Domain (dom0) e.g. • Disk Apps • Network PV Back Ends PV Front Ends PV Back End HW Drivers HW Driver Guest OS Kernel Xen Hypervisor Host HW I/O Memory CPUs 18 The road ahead The future for CloudStack • Disentangle some core components – Make it easier for people to work on subsystems – Make it easier to scale the API layers S3 API system VM S3 API NFS, CIFS, HDFS, 3rd- party object S3 API VM store API, … S3 API Object store VM … … … (e.g., NetApp, Hadoop, …) S3 API VM The future for CloudStack • Absorb new changes from Xen and XS – Storage migration – The Windsor architecture – I/O subsystem changes The future for CloudStack • New object storage systems – Caringo CAStor – HDFS – Riak CS • New block storage systems – GlusterFS? – Ceph? • Open vSwitch / OpenFlow / VXLAN DevCloud DevCloud – What is inside? • VirtualBox VM – Xen Cloud Platform – Ubuntu 12.04 dom0 (aka Kronos) • JVM, Tomcat, developer tools • NFS server • MySQL – Working, pre-configured CloudStack – System VMs – Tiny Linux template Why? • Eliminates – need for another machine / hypervisor – Primary and secondary storage – Networking, VLAN, etc – Install and configuration of environment • Disposable changes – Revert to snapshot Run • Start the DevCloud VM from VirtualBox UI • Access the CloudStack UI – http://localhost:8080/client • Access the dom0 – ssh root@localhost –p 2222 • From the UI, enable the zone – System VMs will start up CloudStack architecture Management Server Cluster MS is stateless. MS can be deployed as physical server or VM MySQL User API Management Single MS node can Server manage up to 10K Load Balancer Replication hosts. Multiple nodes Admin API Management can be deployed for Server scale or redundancy Replica Infrastructure Resources Components • Hosts • Servers onto which services will be VM provisioned Host • Primary Storage VM Network • VM disk storage Host • Cluster Primar • A grouping of hosts and their associated y storage Storag e • Pod Cluster • Collection of clusters in the same failure boundary Seconda ry Cluster • Network Storage • Logical network associated with service offerings CloudStack Pod • Secondary Storage • Template, snapshot and ISO storage CloudStack Pod • Zone Zone • Collection of pods, network offerings and secondary storage • Management Server Farm • Management and provisioning tasks Deployment Architecture Management Internet Hypervisor is the basic Server Cluster unit of scale. Zone 1 Cluster consists of one ore more hosts of same L3 hypervisor All hosts in cluster have Pod 1 Pod N Secondar L2 access to shared y …. (primary) storage Cluster N Storage Pod is one or more clusters, usually with L2 …. switches. Cluster 1 Availability Zone has one Host 1 or more pods, has Primary access to secondary Host 2 Storage storage. One or more zones represent cloud DevCloud step-by-step Overview • Install Virtual Box • Download DevCloud virtual machine • Install DevCloud VM • Run the VM • Login to the CloudStack GUI • Start a CloudStack VM. Virtual Box • Download / install from Oracle • Ensure that VT-d and virtualization extensions are enabled in your laptop CPU • Recommend at least 2 GB for DevCloud VM DevCloud VM • Download from http://download.cloud.com/templates/devcl oud/DevCloud.ova • Latest install instructions here: http://wiki.cloudstack.org/display/COMM/DevClo ud • Import DevCloud into VirtualBox – Change memory allocation to 2 GB • Snapshot for known good state .