天天看點

華為網課雲計算筆記一、雲計算的産生背景二、雲計算的價值三、虛拟化技術的簡介四、OpenStack 的架構—了解各個元件五、NOVA六、提供對象存儲服務的Swift介紹七、Keystone認證模型八、Neutron介紹

一、雲計算的産生背景

1.雲計算的産生背景

雲計算的驅動力:

1.技術驅動

2.需求驅動

3.商業模式驅動

海量的資料和終端

IT的複雜性、商業延遲也是促進雲計算産生的一個因素

2.雲計算的概念

—商業視角 雲計算=資訊電廠

–技術視角 雲計算=計算/存儲的網絡

雲計算分為狹義和廣義兩個

狹義的是指:IT技術設施的傳遞和使用模式,通過按需易擴充的方式獲得所需的資源,包括基礎架構,平台,軟體等

廣義的是指:通過網絡按需、易擴充的方式獲得所需的服務,這種服務可以是IT和軟體,網際網路相關的,也可以是任意其他的服務。比如,醫療雲,教育雲等

3.雲計算的部署模式:

1.private cloud(私有雲)

2.public cloud(公有雲)

【私有雲和公有雲通過企業防火牆隔離】

3.混合雲

4.雲計算的商業應用模式:

IaaS(Infrastructure as a service):将基礎設施當作服務(虛拟機的租用,雲盤等)

PaaS(Platform as a service):主要面型技術開發者

SaaS(Software as a service):面向中斷使用者

二、雲計算的價值

1.行業客戶對雲的認知

  • 大多數客戶人為雲計算必須演進至開放平台
  • 認為傳遞将基于雲來進行
  • 認為找到合适的戰略合作夥伴以啟動雲戰略至關重要
  • 且和多人關心雲平台的安全性

2.行業客戶反應的困難與挑戰

  • 複雜性與平滑過度
  • 可靠性
  • 工作負載及可遷移性
  • 資料的安全性
  • 廠商鎖定
  • 看不到投資回報

3.雲計算的價值:

  • 隻能資源的排程,即實作負載均衡和通過熱遷移來實作節能減排
  • 提高資源的使用率通過的方式:通過資源共享通過分時共享
  • 分布式的計算和存儲
  • 統一管理
  • 業務快速部署

4.雲計算帶來的機會

- 對于雲計算供應商

- 對于最終的消費者

- 對于中小型客戶

- 對于企業級的客戶

- 對于政府機構

三、虛拟化技術的簡介

  1. 虛拟化技術的起源

    虛拟化技術的發展由來:

    60年代在大型機有所應用

    90年代在小型機上出現邏輯區分的應用

    2000年,X86平台虛拟技術開始出現

    2001年,X86平台虛拟化技術在伺服器上開始應用

    虛拟化技術的推動力:

    CPU的處理速度越來越快,超出軟體對硬體性能的要求

    INTER和AMD在CPU裡加入了虛拟指令

    企業成本壓力

    環保壓力

    不斷增長的業務壓力

  2. 虛拟化的概念

    虛拟化是指通過虛拟化技術,将一台計算機虛拟為堕胎邏輯計算機,在一台計算機上同時運作多個邏輯計算機,每個邏輯計算機可以運作不同的作業系統,并且,應用程式都可以在互相獨立的空間内運作而互不影響,進而顯著的提高了計算機的工作效率。

    實體機:主控端

    虛拟機:客戶機

虛拟化後的差別就是:實體機上可以同時運作多個虛拟機,而且還有虛拟機監控器,通過虛拟機監控器的模拟,可以使得虛拟機在上層軟體看來就是一個真實的機器。

虛拟機是将實體資源池化了,多個虛拟機直接從資源池種擷取資源,與硬體解耦和。

  1. 虛拟化的主要内容
  2. 計算虛拟化:CPU虛拟化 記憶體虛拟化 IO虛拟化
  3. 存儲虛拟化:裸裝置+邏輯卷 儲存設備虛拟化 主機存儲虛拟化+檔案系統
  4. 網絡虛拟化: VPN VLAN
  5. 虛拟化的本質

    分區

    隔離

    封裝

    獨立

  6. 5.虛拟化技術的應用案例:—熱遷移

四、OpenStack 的架構—了解各個元件

  1. 提供身份認證服務的 Keystone元件

    主要負責身份服務,管理使用者、租戶、角色、服務和服務斷點

    可以支援SQL,PAM,LDAP作為後端

  2. 提供計算服務的Nova元件

    主要負責虛拟機執行個體的排程配置設定以及執行個體的建立、起停、遷移、重新開機等操作,進而來管理雲中執行個體的生命周期。

    是整個雲中的組織控制器

    主要功能:

    計算服務:

    計算節點運作虛拟機的分布式控制器

    負責處理器排程政策及API調用等。

  3. 提供鏡像服務的 Glance元件

    能夠實作鏡像的建立、鏡像快照管理、以及鏡像模闆等等。

    同時也支援各種格式的鏡像格式

  4. 提供對象存儲服務的Swift

    主要提供了存取資料的應用服務。

    通常用于儲存非結構化的資料,比如通常作為Glance元件的存儲後端或者作為一些雲盤等應用

  5. 提供網絡服務的Neutron

    基于軟體定義網絡的思想,實作網路資源的軟體化管理。支援各種各樣類型的插件,實作多租戶網絡的隔離。也可以對硬體以及軟體的解決方案進行內建。

  6. 提供塊存儲服務 Cinder

    為虛拟機執行個體提供卷的持久化服務,同時支援一些對卷的快照、備份等的一些管理。基于插件的架構,非常易于擴充。

    總結:塊存儲服務 持久化磁盤 基于插件的架構,易于擴充

  7. 提供WEB統一化管理界面服務的 HORIZON元件

    主要提供了自動化儀表闆的管理服務,實作對使用者、租戶、卷、網絡等幾乎多有資源的圖形化管理。

  8. 提供監控和計量服務的 Ceilometer

    提供對Opens tack中平台元件的監控

    提供紀良服務

五、NOVA

1、什麼是Nova?

Nova是Open stack雲中的計算組織控制器,管理opens tack雲中執行個體的生命周期的左右活動,使得nova稱為一個負責管理計算資源、網絡、認證所需的可擴充性平台。

2.常用術語

KVM:核心虛拟化,Open Stack 預設的Hypervisor

Qemu: KVM 的替補角色,沒有KVM的執行效率高,不支援全虛拟化

Flavor:建立虛拟機的配置清單,虛拟機模闆

Keypair:ssh連接配接通路執行個體的密鑰對

安全組:是一個控制通路政策的容器,裡面包含了各種各樣的安全組規則

安全組規則:用來控制執行個體通路的具體政策

3.Nova架構

Nova元件

Nova API:提供了統一風格的 RestAPI接口,作為Nova元件的入口,接受使用者的請求

Nova scheduler :負責排程,将執行個體配置設定到具體的計算節點

Nova conductor:主要負責與Nova資料庫進行互動

Nova compute:用于虛拟機執行個體的建立和管理

以及提供消息傳遞的消息隊列:Nova各個元件之間的消息傳遞

和資料庫子產品:

【重要!!!!】Nova各個元件如何協作運作?

首先,使用者通過CLI指令行或者horizon向Nova元件提出建立執行個體的請求時,Nova API 作為Nova的入口,将會接受使用者的請求,将會以消息隊列的方式,将請求發送給Nova scheduler,Nova scheduler從消息隊列中,偵聽到Nova API的消息隊列後,去資料庫中查詢,目前計算節點的負載和使用情況,由于Nova scheduler不能直接跟資料庫進行互動,是以,将會借助于消息隊列的方式通過Nova conductor元件,進而與資料庫進行互動,然後将查詢到的結果,将虛拟機執行個體配置設定到目前負載最小,并且滿足啟動虛拟機執行個體的那個計算節點上,但最終的虛拟機執行個體的元件,還是要靠Nova compute來完成。但是執行個體的建立,離不開鏡像、網絡等一些資源的配合,是以,Nova compute将會與Nova volume、Nova network等等一些元件通過消息隊列的方式實作互相的協作。最終完成虛拟機執行個體的建立。

  1. Nova的功能特性:

    • 實作執行個體的生命周期的管理

    • 調動管理平台的網絡、存儲等資源

    • 提供了統一風格的 RestAPI接口

    • 支援KVM、VMware等透明的hypervisor

    • 各個子產品之間通過消息隊列來進行消息傳遞

六、提供對象存儲服務的Swift介紹

1.什麼是Swift?

Swift 是 提供高可用分布式對象存儲的服務,為nova元件提供虛拟機鏡像存儲服務,在資料備援方面,無需采用read【?】通過在軟體層面,引入一緻性散列技術和資料備援,犧牲一定得資料一緻性,來達到高可用和可伸縮性。支援多租戶模式下,容器和對象讀寫操作,适用于網際網路應用場景下非結構化的資料存儲,比如,華為雲盤等。

2. Swift中的常用術語【1】

Account:使用者定義的管理存儲區域

Container:存儲隔間,類似于檔案夾或者目錄

Object:包含了基本的存儲實體和它自身的中繼資料

Ring:環,記錄了磁盤上存儲的實體名稱和實體位置的映射關系。

以上術語之間的關系:

首先,可以建立多個account,每個account裡可以建立多個容器container,每個container下可以建立多個object,【container 之間不能互相嵌套】

Swift的介紹

Swift在實體結構上往往會存儲對象的多個副本,通常按照實體位置的特點,将對象拷貝到不同的實體位置的特點,将對象拷貝到不同的實體位置上,來保證資料的可靠性。

常用術語2

Region:地域,從地理位置上劃分的一個概念

Zone:可用區,按照獨立的供網、供電既基礎裝置劃分

Node:節點,代表了一台存儲伺服器

Disk:磁盤,代表着實體伺服器上的儲存設備

Cluster:群集,為備援考慮而設計的架構

以上術語之間的關系:

可以根據不同的實體位置,有不同的Region,不同的region代表兩個不同的城市,然後在同一個region下,為備援的考慮,設定了多個可用區,zone。每一個可用去可以有不同的存儲節點,node;在更大的架構上,兩個region可以構成一個cluster。

  1. Swift的架構

    首先,使用者提出一個對象存儲服務的申請,由Swift的API接受和處理,收到之後,先去找???認證節點,對使用者的身份進行認證。認證通過後,将請求送出給,名稱為Swift Proxy的元件,Swift Proxy是Swift 的代理,由Swift Proxy來确定究竟應該将存儲對象放在哪一個滿足存儲要求的存儲節點上。最終将對象存儲到指定的存儲節點上即可。最終将傳回結果傳回給使用者。

    05Keystone 簡介

    提供身份驗證、服務規則和服務令牌功能

    任何服務之間互相調用,都需要經過keystone的身份驗證

常用術語:

User:Openstack最基本的使用者

Project:指配置設定給使用者的資源的集合

Role:代表一組使用者可以通路組員的權限

Domain:定義管理邊界,可以包含多個project/tenant、user、role等

Endpoint:服務的URL路徑,暴露出來的通路點

七、Keystone認證模型

首先建立兩個域domain1和2,給兩個公司使用,每個公司在domain下建立三個子公司project1 2 3,project下可以建立多個使用者User,使用者User可以跨多個project存在。

Keystone認證原理

當使用者再建立時,将通過Keystone将會建立一個通路令牌accesstoken,假設當使用者提出建立虛拟機執行個體的請求時,首先将自己的通路令牌和通路請求送出給NOVE服務,NOVE服務為確定使用者的通路令牌并沒有篡改過,是以首先會将通路令牌交給keystone進行驗證,驗證通過後nova為了啟動虛拟機的執行個體,還需要向Glance元件申請相關的鏡像資源,Glance為保證通路令牌在傳遞的過程中沒有被篡改過,也需要将通路令牌發送給keystone做确認,驗證通過後将會發放鏡像資源給nova元件,虛拟機執行個體的建立還需要存儲、網絡等資源,是以nova元件還需要給負責各種資源的子產品傳遞申請資源的請求,資源申請的過程中都會伴随這通路令牌的驗證,nova拿到啟動虛拟機執行個體的所有資源後進行執行個體的啟動,然後配置設定給相關的使用者。整個過程來看元件之間資源的調用都離不開keystone的驗證….

八、Neutron介紹

1.Neutron的簡介:

Neutron時open stack中負責提供網絡服務的元件,基于軟體定義網絡的思想,實作軟體化的網絡資源管理,在實作上,充分利用了linux系統中各種與網絡相關的技術,支援第三方插件

2. Neutron中常用的術語

Bridge-int:綜合網橋,常用于實作内部網路通訊功能的網橋

Br-ex:外部網橋,通常用于跟外部網絡通訊的網橋。

Neutron-server:提供了API接口,将配置好的API接口,提供給相關的插件,進行後續處理

Neutron-L2-agent:二層代理,用于實作二層網絡通訊的代理,用于管理VLAN的插件,接受Neutron-server的指令來建立VLAN。

Neutron-DHCP-agent:為子網自動分發IP位址

Neutron-L3-agent:負責租戶網絡和floating IP之間的位址轉換,通過linux iptables 中的NAT功能來實作IP轉換

Neutron-metadata-agent:運作在網絡節點上,用來響應nova中的metadata請求

LBaaS agent:為堕胎執行個體和open vswitch agent提供負載均衡服務

3. Neutron的架構

當Neutron通過API接口,接受來自使用者或者其他元件的網絡請求時,以消息隊列的方式送出給2、3層代理,其中Neutron-DHCP-agent實作子網的建立和IP位址的自動分發。而Neutron-L2-agent實作相同VLAN下,網絡的通信,Neutron-L3-agent實作同一個租戶網絡下,不同子網間的通信

繼續閱讀