1. 程式人生 > >初識OpenStack(2)

初識OpenStack(2)

OpenStack架構

openstack模組簡介

openstack主要由七個核心組建組成,分別為計算(Compute),物件儲存(Object Storage),認證(Identity),使用者介面(Dashboard),塊儲存(Block Storage),網路(Network)和映象服務(Image Service),而每個組建又是多個服務的集合。

這裡寫圖片描述

這裡寫圖片描述

Compute(Nova)

Copmute的代號為Nova,它根據需求提供虛擬機器服務,比如建立虛擬機器或者對虛擬機器做熱遷移。
Nova主要分為一下幾個元件:

  • API Server (nova-api)
  • Message Queue (rabbit-mq server)
  • Compute Workers (nova-compute)
  • Network Controller (nova-network)
  • Volume Worker (nova-volume)
  • Scheduler (nova-scheduler)

這裡寫圖片描述

Nova在OpenStack中的位置如下圖:

這裡寫圖片描述

Object Storage(Swift)

Object Storage的專案代號為Swift,他允許儲存或檢索物件,也可以認為他允許儲存或檢索檔案,它能以低成本的方式通過RESTful API管理大量的無結構資料。
Swift主要由一下一系列程序或者服務組成:

  • proxy-server
  • account-server
  • container-server
  • object-server

Swift典型部署結構

Swift典型部署結構

Swift架構示意圖

Swift物件儲存模型

Swift物件儲存模型

Identity(Keystone)

Identity的專案代號為Keystone,為所有OpenStack服務提供身份驗證和授權,跟蹤使用者以及他們的許可權,提供一個可用的服務以及API的列表.

Keystone構成比較簡單,只包含接收前臺請求的Keystone API和後臺的Keystone-db,但是卻在整個系統中佔據這至關重要的位置。

keystone在openstack的位置如下:

這裡寫圖片描述

Dashboard(Horizon)

Dashboard的專案代號是Horizon,他為所有OpenStack的服務提供一個模組化的基於Django的介面,通過這個介面,不論是終端使用者還是運維管理人員都可以完成大多數的操作,比如啟動虛擬機器,分配IP地址,動態遷移等。
詳見:openstack horizon小結

Block Storage(Cinder)

Block Storage的專案代號為Cinder,提供塊儲存服務。
Cinder由一下幾個部分組成:

  • cinder-api
  • cinder-volume
  • cinder-db
  • volumeprovider
  • cinder-scheduler

Network(Neutron)

Network的專案代號為Neutron,用於提供網路連線服務,允許使用者建立自己的虛擬網路並連線各種網路裝置介面。
詳細內容參見:OpenStack 網路-Neutron 初探

Image Service(Glance)

Image Service的專案代號為Glance,他是Openstack的映象服務元件,相對於其他元件來說,Glance功能比較單一程式碼量也比較的少。
Glance由glance-api,glance-registry和glance-db三個元件組成。
關於Glance詳細參見:OpenStack Glance簡介