openstack architecture
DESCRIPTION
Detail about Arch OpenstackTRANSCRIPT
KIẾN TRÚC HẠ TẦNG OPENSTACK
Người thực hiện: Phan Anh Sơn
Nội dung
• Kiến trúc hạ tầng, cách thức liên lạc, kết nối giữa các component.
• Nghiên cứu về cấu trúc và đưa ra so sánh giữa hai nền tảng ảo hóa là KVM và VMWare
Mục tiêu
• Đưa ra các bước cơ bản để triển khai thành công một hệ thống Openstack đơn giản
• Thực hiện một buổi báo cáo chi tiết về nhiệm vụ của mình
Conceptual Architecture
Logical Architecture
Identity (“Keystone”)
• Keystone provides a single point of integration for OpenStack policy, catalog, token and authentication.
• keystone handles API requests as well as providing configurable catalog, policy, token and identity services.
• Most people will use this as a point of customization for their current authentication services.
Dashboard (“Horizon”)
• Django application that users can access in their web browser
• Communicates with each OpenStack service through their API (and sometimes their admin API)
Object Storage (“Swift”)
• Stores and serves objects (files) • Employs object level replication
to safeguard data• Accepts client requests via
Objectstore API or HTTP from clients through swift-proxy
• Maintains distributed account and container databases
Image Service (“Glance”)
•glance-api accepts Image API calls for image discovery, image retrieval and image storage.•glance-registry stores, processes and retrieves metadata about images (size, type, etc.).•Database to store the image metadata.
Compute (“Nova”)
• nova-api accepts and responds to end user compute API calls.
• Supports OpenStack Compute API, Amazon's EC2 API and a special Admin API (for privileged users to perform administrative actions).
• Initiates most of the orchestration activities (such as running an instance)
• Enforces some policy (mostly quota checks)
• Authentication is handled through middleware before getting to this daemon
Nova Compute
• The nova-compute process is primarily a worker daemon that creates and terminates virtual machine instances via hypervisor's APIs
• The process by which it does so is fairly complex but the basics are simple: accept actions from the queue and then perform a series of system commands (like launching a KVM instance) to carry them out while updating state in the database.
Nova Compute
Nova Scheduler
• The nova-schedule process is conceptually the simplest piece of code in OpenStack Nova: take a virtual machine instance request from the queue and determines where it should run (specifically, which compute server host it should run on).
Nova Scheduler
def _schedule(self, context, topic, request_spec, filter_properties): """Picks a host that is up at random."""
elevated = context.elevated() hosts = self.hosts_up(elevated, topic) if not hosts: msg = _("Is the appropriate service running?") raise exception.NoValidHost(reason=msg)
hosts = self._filter_hosts(request_spec, hosts, filter_properties) if not hosts: msg = _("Could not find another compute") raise exception.NoValidHost(reason=msg) return hosts[int(random.random() * len(hosts))]
Block Storage (“Cinder”)
• cinder-api accepts API requests and routes them to cinder-volume for action.
• cinder-volume acts upon the requests by reading or writing to the Cinder database to maintain state, interacting with other processes (like cinder-scheduler) through a message queue and directly upon block storage providing hardware or software..
• Much like nova-scheduler, the cinder-scheduler daemon picks the optimal block storage provider node to create the volume on.
Networking (“Quantum”)
• quantum-server accepts API requests and then routes them to the appropriate quantum plugin for action.
• Quantum ships with plugins and agents for:
• Cisco virtual and physical switches
• Nicira NVP product• NEC OpenFlow products• Open vSwitch• Linux bridging • Ryu Network Operating
System• Midokua
Comparing VMware and KVM
KVM architecture
KVM architecture
• When using KVM, guests run as a Linux process on the host.
• Virtual CPUs (vCPUs) are implemented as normal threads, handled by the Linux scheduler.
• Guests inherit features such as NUMA and Huge Pages from the kernel.
• Disk and network I/O settings in the host have a significant performance impact.
• Network traffic typically travels through a software-based bridge.
VMware architecture
VMware architecture(cont)
VMware architecture(cont)
Comparing VMware and KVM
• VMware and KVM both offer similar functionality when it comes to performing the functions required by most IT managers (the ability to build, deploy, and manage virtual machines)
• KVM can cost up-to 40% less to implement and operate as compared with VMware.
Comparing VMware and KVM
• Background•EMC’s VMware is the x86 market share leader when it comes to virtualization and related infrastructure and management (1998).
•KVM (which stands for kernel -based virtual machine) is an open source implementation of virtualization (it leverages the Linux kernel)
•KVM was released as part of Linux 2.6.20 (in February, 2007)
Comparing VMware and Openstack
Comparing VMware and Openstack
Comparing VMware and Openstack
Comparing VMware and Openstack
OpenStack Deployment
Architecture: Components
Physical architecture
Compute Nodes
Provides virtual servers upon demand-> Compute: Nova
Physical architecture
Storage Node
● Provides object storage.It allows to store or retrieve files→ Object storage : “Swift”
● Provides persistent blockstorage to guest Vms.→ Block storage : “Cinder”
Physical architecture
Controller Node
Physical architecture
Network Node
● Provides a modular WebUIfor all the OpenStack services. → Dashboard : "Horizon"● Provides authentication and authorization for all the OpenStack services.→ Identity : "Keystone"● Provides a catalog and repository for virtual disk images.● → Image : "Glance"
Physical architectureNetwork Node
● Provides "network connectivity as a service"
Physical architecture
Multinode architecture
Architecture for SYS
Conclusions
● Performance for SYS: Maximum● The problem that need to solves about connecting inside
each component○ Database○ Cache○ Storage○ Configuration
THANK YOU !