Cloud Management Platform : NCTU OpenStack Introduction 國立交通大學 資訊技術服務中心 蘇俊憲 2013/06/04 1 資訊技術服務中心 Outline Cloud Computing What is OpenStack OpenStack Components NCTU OpenStack (Essex) NCTU OpenStack API Support New NCTU OpenStack (Grizzly) Conclusion and Future Work 2 資訊技術服務中心 Cloud Computing The NIST definition of cloud computing identifies Service models On-demand self-service Broad network access Resource pooling Rapid elasticity Measured service IaaS、 PaaS、 SaaS key attributes of cloud computing On-demand availability Ease of provisioning Dynamic and virtually infinite scalability (auto-scaled) 3 資訊技術服務中心 What is OpenStack The open source software for building private and public clouds Controls large pools of compute, storage, and networking resources 4 資訊技術服務中心 OpenStack Release Naming Codename Release Date Cactus Apr. 15 2011 Diablo Sep. 29 2011 Essex Apr. Folsom Sep. 27 2012 Grizzly Apr. 5 2012 4 2013 5 資訊技術服務中心 OpenStack Conceptual Architecture 6 資訊技術服務中心 OpenStack Logical Architecture Version : Grizzly 7 資訊技術服務中心 OpenStack Components Computing Networking OpenStack Networking (Quantum) Storing OpenStack Compute (Nova) OpenStack Image service (Glance) OpenStack Object Storage (Swift) OpenStack Block Storage (Cinder) Identity:Keystone Dashboard :Horizon 8 資訊技術服務中心 OpenStack Components (Cont.) Nova Compute Glance Compute resource management and Scheduler VM life cycle management and VNC proxy Discovering, registering, and retrieving VM images Quantum Manage VM’s Network, assign floating IP, Iptables, openvswitch 9 資訊技術服務中心 OpenStack Components (Cont.) Swift Cinder Provides persistent block storage to VM Keystone Object Storage (ex. Amazon S3) User Identity Components need register to keystone Horizon Web dashboard。(ex. user login, VM create and terminate, volume create, security group and etc.) 10 資訊技術服務中心 OpenStack - Compute API nova-api : supports OpenStack Compute API, Amazon's EC2 API and a special Admin API nova-api-metadata : accepts metadata requests from instances Computing core nova-compute : creates and terminates virtual machine instances(KVM, qemu, XEN and etc) nova-schedule : schedule the VM to run on a host nova-conductor : “mediator” between nova-compute and the database 11 資訊技術服務中心 OpenStack – Compute(Cont.) Networking for VMs Console Interface nova-network : setting up bridging interfaces or changing iptables rules -> quantum nova-dhcpbridge : tracks IP address leases and records -> quantum nova-consoleauth : authorizes user’s tokens that console proxies provide nova-novncproxy : provides a proxy for accessing running instances through a VNC connection Image Management (EC2 scenario) Web dashboard。 12 資訊技術服務中心 OpenStack – Compute(cont.) Image Management (EC2 scenario) nova-objectstore : provides an S3 interface for registering images onto the image management service euca2ools client : euca2ools can be used to issue cloud management commands Command Line Interpreter/Interfaces nova client nova-manage client Queue service : RabbitMQ Database : sqlite3, MySQL and PostgreSQL 13 資訊技術服務中心 OpenStack – Object Store Swift Distributed file system and prevent any single point of failure swift-proxy-server) accepts incoming requests via the OpenStack Object API or HTTP 14 資訊技術服務中心 OpenStack – Image Store glance-api glance-registry stores, processes and retrieves metadata about images (size, type, etc.) A database to store the image metadata accepts Image API calls for image discovery, image retrieval and image storage sqlite3, MySQL and PostgreSQL image repository Swift, normal filesystems, RADOS block devices, Amazon S3 and HTTP 15 資訊技術服務中心 OpenStack – Identity keystone handles API requests as well as providing configurable catalog, policy, token and identity services pluggable backend LDAP or SQL and Key Value Stores 16 資訊技術服務中心 OpenStack – Network quantum-server accepts API requests and then routes them to the appropriate OpenStack Networking plugins for action Networking plugins and agents Plugins : Cisco virtual and physical switches, Nicira NVP product, NEC OpenFlow products, Open vSwitch, Linux bridging and the Ryu Network Operating System Agents : L3 (layer 3), DHCP (dynamic host IP addressing) 17 OpenStack – Block Storage cinder-api cinder-volume accepts API requests and routes them to cinder-volume for action maintain Cinder database state interacting with other processes (like cinder-scheduler) through a message queue access upon block storage cinder-scheduler picks the optimal block storage provider node to create the volume on 18 OpenStack – Dashboard Horizon Horizon is a modular Django web application that provides an end user and administrator interface to OpenStack services 19 資訊技術服務中心 NCTU OpenStack - Essex 20 資訊技術服務中心 OpenStack(Essex) with Swift Version : Essex 21 資訊技術服務中心 NCTU OpenStack(Essex) with Ceph Version : Essex 22 資訊技術服務中心 NCTU OpenStack Dashboard 23 資訊技術服務中心 NCTU OpenStack Dashboard (Cont.) 可產生VM的規格 24 資訊技術服務中心 NCTU OpenStack Dashboard (Cont.) 提供Inage列表 25 資訊技術服務中心 NCTU OpenStack Dashboard (Cont.) 建立一台新的VM 26 資訊技術服務中心 NCTU OpenStack Dashboard (Cont.) Project中正在執行的 VM 控制VM開關機、快 照等等 27 資訊技術服務中心 NCTU OpenStack Dashboard (Cont.) 網頁提供VNC console 28 資訊技術服務中心 Amazon AWS S3 compatible 29 資訊技術服務中心 Amazon AWS S3 compatible (Cont.) CloudBerry 30 資訊技術服務中心 Amazon AWS S3 compatible (Cont.) Gladinet Cloud Drive 31 資訊技術服務中心 NCTU OpenStack API Support OpenStack Controller NOVA API Client EC2API Client 提供使用者下載OpenStack or EC2憑證資料,使用者可以透過nova API或EC2 API撰寫的程式,對OpenStack下命令 32 資訊技術服務中心 NCTU OpenStack API Support (Cont.) #nova flavor-list 33 資訊技術服務中心 NCTU OpenStack API Support (Cont.) #nova image-list 34 資訊技術服務中心 NCTU OpenStack API Support (Cont.) #nova list #nova secgroup-list 35 資訊技術服務中心 NCTU OpenStack API Support (Cont.) #nova secgroup-list-rules default #nova keypair-list 36 資訊技術服務中心 NCTU OpenStack API Support (Cont.) #nova boot --flavor 1 --image 23461b5c-124d-4318-b1de740665be4bab --security_groups default --key_name chsu_openstack "nova-api-create" 37 資訊技術服務中心 NCTU OpenStack API Support (Cont.) #nova list 38 資訊技術服務中心 New NCTU OpenStack – Grizzly Our New Physical Architecture 39 http://openstack-grizzly.it.nctu.edu.tw 40 資訊技術服務中心 New NCTU OpenStack – Grizzly (Cont.) Create Network (IPv4/6、DHCP、DNS、Route) 41 資訊技術服務中心 New NCTU OpenStack – Grizzly (Cont.) Attach the New Network 42 資訊技術服務中心 New NCTU OpenStack – Grizzly (Cont.) View Network Topology 43 資訊技術服務中心 New NCTU OpenStack – Grizzly (Cont.) Create Images 44 資訊技術服務中心 Reference http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf http://en.wikipedia.org/wiki/Cloud_computing https://github.com/mseknibilel/OpenStack-Grizzly-InstallGuide/blob/OVS_MultiNode/OpenStack_Grizzly_Install_Guide.rst http://docs.openstack.org/trunk/openstackcompute/admin/content/conceptual-architecture.html http://www.openstack.org/software/grizzly/ http://docs.openstack.org/trunk/openstackcompute/admin/content/ch_getting-started-with-openstack.html http://openstack-grizzly.it.nctu.edu.tw/horizon/ http://openstack.nctu.edu.tw 45