Openstack overview thomas-goirand


Published on

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Openstack overview thomas-goirand

  1. 1. OpenStack Overview By Thomas GOIRAND (GPLHost CEO and Debian Developer)Presentation released under the therms of the BSD license, made for the Shanghai OpenStack conference of the 6 th of September 2011 /
  2. 2. Overview● Who am I, GPLHost in few words● Overview of all the 4 projects: ● Nova ● Packages overview ● Dependency overview ● High Availability setup ● Using Nova: euca2ools ● Swift: general principles and overview ● Glance & Keystone quick overview● Nova and Xen-api: quick packaging status update
  3. 3. Who is Thomas Goirand?● Debian Developer, 35 years old● CEO and founder of GPLHost● Main author of GPLHost hosting software● French guy living in Shanghai since 2006● Background: ● Embedded (Palm, Windows CE, Navigation) ● Assembly 68k, PHP, Shell, Python, C/C++ ● Linux administration in general
  4. 4. GPLHost in few words● Open source applied to hosting: ● Since 2003 ● XEN VPS since 2005 ● DTC control panel● Fast development: ● Support around the world ● 10 points of presence ● 3 companies (UK, SG, US)● A unique software & hosting company: ● Open source software for hosting companies ● Development directly in Debian
  5. 5. Openstack in the world● Many companies using and contributing to it● Fully open source (Apache license)● Open governance: we decide the design collectively● In China: ● mostly experiments, no service providers yet, not a lot of contributors or participant in the main OpenStack list ● A lot of people interested ● Government pushing for cloud computing ● To sum up: a bright future in mainland, just like everywhere else
  6. 6. 4 projects● Nova: Compute, the core project of OpenStack● Swift: Storage● Glance: OS Image storage, using swift●Keystone: unified authentification for the 3 projectsabove● Many “side” projects (not covered today) ● Load balancing with Atlas ● Clanavi ● Dashboard ● CaaS ● Etc. (see
  7. 7. Nova (OpenStack Compute)● A very young project (1 year old)● Released every 6 months, with Ubuntu● Responsible for maintaining your VM instances ● Start / stop ● Assign IPs and provide network
  8. 8. Nova: package lists/services● Compute: start / stop VMs● Network: assigns IP addresses (DHCP), routes allVMs IP traffic through bridge● Scheduler: performs live migrations between nova-compute nodes, decides where to accommodate aninstance● Volume: elastic, persistent storage for your VMs(RAID is advised)● Instance-monitor: operational reports of running VMs● Object store: basic operating system images storage● ajax-console-proxy
  9. 9. Nova: dependencies● RabitMQ: message routing between services (will bereimplemented in the future)● MySQL server: ● Storage for nova-network and others● Euca2ools: ec2 clients for using OpenStack● Memcached: caching proxy for nova, speeds uprequests● KVM, Xen/Xen-server, VMWare, LXC, and others:virtualization layer● Kpart / parted: online partitioning for instances● Really A LOT of python modules (more than 20python build-dependencies in Cactus)
  10. 10. Normal setup overviewOpenstack runtime Schema courtesy of Dell
  11. 11. HA setup 1/2● OpenStack = no single point of failure●RabitMQ: HA setup with heartbeat or pacemaker &DRDB ● Right now if a message is lost, it seems the DB/other nodes are left in a bad state ● no “reaper” python object that will reap this bad data/instances...●MySQL: 2 nodes, DRDB of /var/lib/mysql withpacemaker or heartbeat for fail over● Memcached: you can setup more than one instance
  12. 12. HA setup 2/2●Nova-compute = disposable hardware, hard to makeHA, but can be thought as disposable● Nova-network: ● The less easy part ● Active/Standby with Linux-HA and keepalived or ● One nova-network per nova-compute node●Nova-api: multiple instance, then 2xHAProxy withheartbeat● MySQL: master/slave setup, or DRDB of/var/lib/mysql with pacemaker
  13. 13. Once its setup: using nova● Client: euca2ools, mainly ec2 compatible ● euca-describe-images ● euca-run-instance ● euca-attach-volume ● etc.● Dashboard: just another OpenStack client ● Start / stop instances ● Attach volumes● Nova-manage: a shell tool to manage access rights ● Users ● Projects ● Instances
  14. 14. The still missing bits● Provider API, to remote control Nova ● Eriksson working on OCCI implementation, soon to be released● Automatic billing, invoicing and accounting
  15. 15. Swift: general principles● 3 elements: ● Users ● Projects ● Objects● Multiple servers synching each others using rsync● Each object replicated N times (N configurable)● Not a filesystem: object storage●Not designed to be fast, but for a large amount ofobjects (billions) and scalability
  16. 16. Swift: overview● Do not install nodes with RAID: swift has redundancy● Smallest setup: 5 nodes, 3 replicas● Replication: everything 3 times (or more)● One ring in /etc/swift/ring* shared among all nodes● A swift-proxy as a user access (like for Nova)● Swift is a mature and stable project
  17. 17. Glance● Uses Swift as a storage back-end● Provides VMs images for nova-compute Keystone● New project in OpenStack (in Diablo only)●Previously, Nova, Swift, with different authenticationschemes: the “pam of OpenStack”● Unifies auth for the 4 projects, and make it modular
  18. 18. Xen in Nova: development status● Xen status in Linux● Xen support in Ubuntu and Debian● Xen support in Nova ● Currently using Xen Cloud Platform (XCP) or XenServer●Ongoing effort to transform XCP into packages:project Kronos ● Modification of Xen 4.1.1 in Debian ● Packaging of blktap + blktap-ko ● Packaging of xen-api-libs and xen-api