OpenStack and its composition introduction 1

Source: Internet
Author: User
Tags failover openstack swift

The first part of OpenStack and its composition introduction one, cloud computing

Cloud computing is a computational model that abstracts resources such as computing power, storage, networking, and software into services so that users can enjoy them remotely over the Internet, and pay in the same way as traditional public service facilities. requirements, ease of access, dynamic change, and unlimited virtualization scalability are some of the key features of cloud computing.

Different "clouds" correspond to different infrastructures. Here are three broad "clouds":

• Infrastructure as a service (IaaS)

L Platform as a service (PaaS)

L Software as a service (SaaS)

Translator Note: Open for the idea of opening, stack is stacked, OpenStack together as its name, is a lot of open softwares stacked collection, but 1 + 1 > 2, the system has more powerful functions.

Related reading:

Installing the OpenStack http://www.linuxidc.com/Linux/2013-08/88184.htm on Ubuntu 12.10

Ubuntu 12.04 OpenStack Swift Single-node deployment manual http://www.linuxidc.com/Linux/2013-08/88182.htm

Install OpenStack Swift components on Ubuntu-installing OpenStack Object Storage http://www.linuxidc.com/Linux/2013-08/88180.htm

OpenStack Hands on Lab series Http://www.linuxidc.com/Linux/2013-08/88170.htm

Ii. OpenStack (i) OpenStack overview

OpenStack is a comprehensive set of open source software projects that allow businesses or service providers to build and run their own cloud computing and storage facilities. Rackspace and NASA were the first two contributors to the "cloud file" platform code that enhanced the functionality of the OpenStack Object Storage section, which brought the "Nebula" platform to form the rest of OpenStack. Today, the OpenStack Foundation has more than 150 members, including many well-known companies such as "Canonical, DELL, Citrix" and so on.

Here are the important components of 5 OpenStack:

L Nova-COMPUTE services

L Swift-Storage services

L Glance-Mirroring service

L Keystone-Certification services

L HORIZON-UI Service

Figure 1 OpenStack Basic architecture

Shows the interaction of Keystone, dashboard, and other OpenStack parts.

(ii) OpenStack computing facility----Nova

Nova is an elastic controller for OpenStack computing. The various actions required by the OpenStack Cloud instance life cycle will be processed and supported by Nova, which means that Nova is on the management platform to manage computing resources, networks, authorizations, and measures across the cloud. Although the Nova itself does not provide any virtual capabilities, it will use the Libvirt API to interact with the host of the virtual machine. Nova provides processing interfaces externally through the Web Services API, and these interfaces are compatible with Amazon's Web service interfaces.

Functions and characteristics

L Instance life Cycle management

• Compute Resource Management

L Network and authorization management

L Rest-based API

L Asynchronous Continuous communication

Supports various hosts: Xen, XENSERVER/XCP, KVM, UML, VMware vsphere, and Hyper-V

OpenStack COMPUTE Parts

The Nova Elastic cloud contains the following major sections:

L API Server (NOVA-API)

L Message Queuing (RABBIT-MQ server)

L arithmetic Workstation (Nova-compute)

L Network Controller (nova-network)

L Volume management (nova-volume)

L Scheduler (Nova-scheduler)

API Server (NOVA-API)

The API server provides an interface for cloud facilities to interact with the outside world, and it is the only channel for external users to manage cloud implementations. By using a Web service to invoke various EC2 APIs, the API server then passes the request through Message Queuing to the target facility in the cloud for processing. As an alternative to EC2-API, the user can also use OpenStack's native API, which we call "OpenStack API".

Message Queuing (Rabbit MQ Server)

OpenStack internally uses Message Queuing to communicate based on the AMQP (Advanced Message Queuing protocol). Nova makes an asynchronous call to the request answer, triggering a callback immediately after the request is received. Because asynchronous communication is used, no user's actions are put on hold for long. For example, the process of starting an instance or uploading a copy of a mirror is time-consuming, and the API call waits for the result to be returned without affecting other operations, and this asynchronous communication plays a big role in making the whole system more efficient.

Computing Workstations (Nova-compute)

The primary task of an arithmetic workstation is to manage the entire life cycle of an instance. They receive requests through Message Queuing and execute them to perform various operations on the instance. In a typical production environment, a number of computing workstations will be set up, according to the scheduling algorithm, an instance can be deployed on any of the operational workstations available.

Network Controller (Nova-network)

The network controller processes the host's network configuration, such as IP address assignment, configuring the Project VLAN, setting up security groups, and configuring the network for the compute nodes.

Volume workstations (nova-volume)

Volume workstations manage LVM-based instance volumes, which can create, delete, attach, or detach volumes from one instance. Why is volume management so important? Because it provides a means to keep the instance continuously stored, for example, if the root partition is non-persistent after the end of an instance, any changes to it will be lost. However, if you detach a volume from an instance, or attach a roll-up to the instance, the data is saved even if the instance is closed. This data can be re-accessed by attaching the volume to the original instance or to another instance.

Therefore, for future access, important data must be written to the volume. This application is especially important for storage of data server instances.

Scheduler (Nova-scheduler)

The scheduler is responsible for serving the NOVA-API call to the target. The scheduler runs as a daemon named "Nova-schedule" and chooses the computing server appropriately from the available resource pool based on the scheduling algorithm. There are many factors that can affect scheduling results, such as load, memory, sub-node proximity, CPU architecture, and so on. What's powerful is that the Nova Scheduler uses pluggable architectures.

Currently, the Nova Scheduler uses several basic scheduling algorithms:

Randomization: The host randomly selects the available nodes;

Available: Similar to random, just randomly selected range is specified;

Simplification: Using this approach, the host chooses the least load to run the instance. Load data can be obtained from elsewhere, such as a load balancer server.

(iii) OpenStack mirror server----Glance

OpenStack mirror server is a set of virtual machine image discovery, registration, retrieval system, we can store the image in any one of the following storage:

Local file system (default)

L OpenStack Object Storage

L S3 Direct Storage

L S3 Object Storage (intermediate channel for S3 access)

L HTTP (Read only)

Functions and characteristics

Provide mirror-related services

Glance components

L Glance Controller

L Glance Registrar



(iv) OpenStack storage facility----Swift

Swift provides OpenStack with a distributed, persistent virtual object store that resembles the S3 simple storage service for Amazon Web Services. Swift has the ability to store rooms objects across nodes. Swift's built-in redundancy and failover management can also handle archiving and media streaming, especially for large data (gigabytes) and large capacity (multi-object count) measurements.

Functions and characteristics

L Mass Object Storage

L large file (object) storage

• Data redundancy Management

L Archiving capability-----processing large data sets

L Provide data containers for virtual machines and cloud applications

L Process Streaming Media

L Object Safe Storage

L Backup and Archive

L Good Scalability

Swift components

L Swift Account

L Swift Container

L Swift Object

L Swift Agent

L Swift RING

Swift Proxy Server

The user interacts with the proxy server through SWIFT-API, which is the gatekeeper that receives requests from outside, detects legitimate entity locations and routes their requests.

Additionally, the failover entity repeats the routing request when the proxy server also handles entity invalidation while it is being transferred.

Swift Object Server

An Object server is a binary store that handles the storage, retrieval, and deletion of object data in local storage. Objects are typical binaries stored in the file system, with metadata for extended file attributes (xattr).

Note: The XATTR format is supported by EXT3/4,XFS,BTRFS,JFS and ReiserFS in Linux, but there is no valid test to prove that it works well under Xfs,jfs,reiserfs,reiser4 and ZFS. However, XFS is considered to be the best choice at the moment.

Swift Container Server

The container server will list all objects in a container, and the default object list will be stored as SQLite files (translator Note: You can also modify MySQL as an example of MySQL in the installation). The container server also counts the number of objects contained in the container and the storage space consumed by the container.

Swift Account Server

The account server, like the container server, lists the objects in the container.

Ring (Index ring)

The ring container records the location information of the physical storage object in Swift, which is a virtual map of the entity name of the real physical storage location, similar to the Indexing Service that locates and locates the real physical location of entities of different clusters. The so-called entities refer to accounts, containers, and objects, all of which have their own different rings.

(v) OpenStack certification services (Keystone)

Keystone provides authentication and access policy services for all OpenStack components, relying on its own rest (identity-based API) system to perform its work, primarily authenticating and authorizing (but not limited to) Swift, Glance, Nova, etc. In fact, authorization is authenticated by the legality of the request of the source of the action message. As shown in the following:

Keystone uses two kinds of authorization, one based on username/password and the other based on token. In addition, Keystone offers the following three types of services:

L Token Service: Authorization information containing authorized users

L Directory Service: List of available services with user's legal action

L Policy Services: Use Keystone to specify specific user or group access rights

Authentication Service Components

Service portals: Like Nova, Swift and glance, each OpenStack service has a specified port and a dedicated URL, which we call a portal (endpoints).

L Location: In a data center, a location specifically specifies a physical location. In a typical cloud architecture, if not all services have access to a distributed datacenter or server, it is also called a location.

L User: Keystone authorized users

Translator Note: Represents an individual, and OpenStack authorizes the service to them in the form of a user. The user has a certificate (credentials) and may be assigned to one or more tenants. Once validated, a specific token is provided for each individual tenant. [Source: http://blog.sina.com.cn/s/blog_70064f190100undy.html]

L Services: In general, any component that is connected or managed through Keystone is called a service. For example, we can call glance the service of Keystone.

L Role: In order to maintain security limits, the role associated with the user is very important in terms of what a particular user in the cloud can do.

Translator Note: A role is a collection of usage rights applied to a tenant to allow a specified user to access or use a specific action. A role is a logical grouping of permissions, which makes common permissions simple to group and bind to users associated with a specified tenant.

L rent room: Refers to a project with a full service entrance with a specific member role.

Translator Note: A rental room maps to a Nova "Project-id", in the object store, a tenant can have multiple containers. Depending on the installation method, a rental room can represent a customer, account number, organization or project.

(vi) OpenStack managed Web interface----Horizon

Horizon is a Web control panel for managing and controlling OpenStack services that manages instances, mirrors, creates key pairs, adds volumes to instances, operates swift containers, and more. In addition, users can access the instance directly in the control Panel using either the terminal (console) or VNC. In short, Horizon has some of the following features:

• Instance management: Create, terminate instances, view terminal logs, VNC connections, add volumes, etc.

L Access and Security management: Create security groups, manage key pairs, set up floating IPs, etc.

L Preferences: Virtual hardware templates can be set to different preferences

L Image management: Edit or delete images

L View Service Catalog

L Manage users, quotas, and project uses

User management: Create users, etc.

L Volume Management: creating volumes and snapshots

L Object Storage Processing: creating, deleting containers and objects

L Download Environment variables for the project

OpenStack and its composition introduction 1

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.