openstack architecture

41
KIẾN TRÚC HẠ TẦNG OPENSTACK Người thực hiện: Phan Anh Sơn

Upload: srbit

Post on 03-Jun-2015

186 views

Category:

Education


8 download

DESCRIPTION

Detail about Arch Openstack

TRANSCRIPT

Page 1: Openstack Architecture

KIẾN TRÚC HẠ TẦNG OPENSTACK

Người thực hiện: Phan Anh Sơn

Page 2: Openstack Architecture

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

Page 3: Openstack Architecture

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

Page 4: Openstack Architecture

Conceptual Architecture

Page 5: Openstack Architecture

Logical Architecture

Page 6: Openstack Architecture
Page 7: Openstack 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.

Page 8: Openstack Architecture

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)

Page 9: Openstack Architecture

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

Page 10: Openstack Architecture

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.

Page 11: Openstack Architecture

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

Page 12: Openstack Architecture

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.

Page 13: Openstack Architecture

Nova Compute

Page 14: Openstack Architecture

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).

Page 15: Openstack Architecture

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))]

Page 16: Openstack Architecture

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.

Page 17: Openstack Architecture

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

Page 18: Openstack Architecture
Page 19: Openstack Architecture

Comparing VMware and KVM

Page 20: Openstack Architecture

KVM architecture

Page 21: Openstack 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.

Page 22: Openstack Architecture

VMware architecture

Page 23: Openstack Architecture

VMware architecture(cont)

Page 24: Openstack Architecture

VMware architecture(cont)

Page 25: Openstack Architecture

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.

Page 26: Openstack Architecture

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)

Page 27: Openstack Architecture

Comparing VMware and Openstack

Page 28: Openstack Architecture

Comparing VMware and Openstack

Page 29: Openstack Architecture

Comparing VMware and Openstack

Page 30: Openstack Architecture

Comparing VMware and Openstack

Page 31: Openstack Architecture

OpenStack Deployment

Page 32: Openstack Architecture

Architecture: Components

Page 33: Openstack Architecture

Physical architecture

Compute Nodes

Provides virtual servers upon demand-> Compute: Nova

Page 34: Openstack Architecture

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”

Page 35: Openstack Architecture

Physical architecture

Controller Node

Page 36: Openstack Architecture

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"

Page 37: Openstack Architecture

Physical architectureNetwork Node

● Provides "network connectivity as a service"

Page 38: Openstack Architecture

Physical architecture

Multinode architecture

Page 39: Openstack Architecture

Architecture for SYS

Page 40: Openstack Architecture

Conclusions

● Performance for SYS: Maximum● The problem that need to solves about connecting inside

each component○ Database○ Cache○ Storage○ Configuration

Page 41: Openstack Architecture

THANK YOU !