OpenStack----Nova 计算服务器基础理论(持续更新)
文章目錄
- 前言:
- 一、Nova計(jì)算服務(wù)基本概念
- 二、Nova主要功能與工作流程
- 2.1 Nova 主要功能
- 2.2 Nova虛擬機(jī)創(chuàng)建工作流程圖
- 2.2.1 詳細(xì)工作流程
- 三、Nova組件及功能
- 3.1 主要組件
- 3.2 其他組件簡介
前言:
本篇博客為OpenStack—Nova組件基礎(chǔ)理論,之后會(huì)持續(xù)更新其他組件理論部分
一、Nova計(jì)算服務(wù)基本概念
- Nova主要負(fù)責(zé)計(jì)算資源的模塊,同時(shí)支持、處理openstack云中的實(shí)例生命周期的所有活動(dòng),這樣使得nova成為一個(gè)負(fù)責(zé)管理計(jì)算資源、網(wǎng)絡(luò)、認(rèn)證、所需可擴(kuò)展性的平臺。
- nova服務(wù)是由多個(gè)子服務(wù)構(gòu)成,子服務(wù)是通過RPC(遠(yuǎn)程過程調(diào)用)實(shí)現(xiàn)通信。服務(wù)之間有很松的耦合性。
- PS 解耦:耦合是指兩個(gè)或兩個(gè)以上的體系或兩種運(yùn)動(dòng)形式間通過相互作用而彼此影響以至聯(lián)合起來的現(xiàn)象。 解耦就是用數(shù)學(xué)方法將兩種運(yùn)動(dòng)分離開來處理問題,常用解耦方法就是忽略或簡化對所研究問題影響較小的一種運(yùn)動(dòng),只分析主要的運(yùn)動(dòng)。
二、Nova主要功能與工作流程
2.1 Nova 主要功能
- ① 實(shí)現(xiàn)實(shí)例的生命周期的管理
- ② 調(diào)動(dòng)管理平臺的網(wǎng)絡(luò)、存儲等資源
- ③ 支持KVM、VMware等同名的hypervisor(虛擬機(jī)監(jiān)視器)
- ④ hypervisor 提供軟件來管理虛擬機(jī)對底層硬件的訪問
- ⑤ 異步的一致性通信
2.2 Nova虛擬機(jī)創(chuàng)建工作流程圖
2.2.1 詳細(xì)工作流程
- 請求nova boot --image ttylinux --flavor 1 i-01
- 接收nova-api 接受請求(tcp REST請求)
- nova-api 發(fā)送一個(gè)創(chuàng)建虛擬機(jī)的請求到消息隊(duì)列,并會(huì)存儲到數(shù)據(jù)庫,產(chǎn)生uuid.
- nova-scheduler 接受到請求后進(jìn)行過濾,調(diào)度器會(huì)根據(jù)請求的虛擬資源,即flavor的信息,選擇出最優(yōu)的計(jì)算節(jié)點(diǎn)A(裝有nova-computer的物理主機(jī))
- nova-scheduler發(fā)送消息到nova-network,進(jìn)入下一步(配置網(wǎng)絡(luò)),此過程虛擬機(jī)處于scheduling任務(wù)狀態(tài)。
- nova-network 接收到消息后,從fixed IP表(數(shù)據(jù)庫)里拿出一個(gè)可用IP,設(shè)置dnsmsq(DHCP server),確保此IP可以與生成的MAC地址對應(yīng)
- nova-network對fixed IP 進(jìn)行地址轉(zhuǎn)換,使虛擬機(jī)可以訪問外網(wǎng)
- network設(shè)置完成后,nova-network發(fā)消息到消息隊(duì)列,scheduler選擇的計(jì)算節(jié)點(diǎn)服務(wù)器A會(huì)收到創(chuàng)建虛擬機(jī)的消息
- 計(jì)算節(jié)點(diǎn)A接收到消息后,開始創(chuàng)建虛擬機(jī),首先會(huì)從glance上下載鏡像,然后會(huì)根據(jù)之前生成的uuid、MAC,鏡像位置、創(chuàng)建一個(gè)啟動(dòng)虛擬機(jī)的xml文件,同時(shí)調(diào)用libvirt接口,根據(jù)xml配置創(chuàng)建虛擬機(jī),
- 虛擬機(jī)創(chuàng)建完后,把虛擬機(jī)狀態(tài)改成ACTIVE
- 以上,虛擬機(jī)發(fā)布完成
三、Nova組件及功能
3.1 主要組件
-
nova-api
HTTP服務(wù),對內(nèi)接收處理客戶端發(fā)送的HTTP請求 對外提供一個(gè)云基礎(chǔ)設(shè)施的接口,也是外部可用于管理基礎(chǔ)設(shè)施的唯一組件
-
nova-scheduler
① 在接收到一個(gè)來自消息隊(duì)列的創(chuàng)建虛擬機(jī)實(shí)例請求時(shí),根據(jù)配置從計(jì)算節(jié)點(diǎn)集群中選擇最優(yōu)節(jié)點(diǎn),并將請求轉(zhuǎn)給該節(jié)點(diǎn),最終將虛擬機(jī)部署創(chuàng)建在該節(jié)點(diǎn)上,類似于負(fù)載均衡
② Nova-Scheduler服務(wù)將根據(jù)負(fù)載,內(nèi)存,可用域的物理距離,CPU架構(gòu)等信息,并運(yùn)行調(diào)度算法,最終做出調(diào)度決策,同時(shí)負(fù)責(zé)Nova主機(jī)選擇,提供決策,配置在contron下的noca.conf中
③ /Contron/nova.conf中配置:
scheduler_default_filter默認(rèn)的過濾器
scheduler_avavilable_filter 可用的過濾器
④ 工作在邏輯控制層
-
nova-compute
nova-compute是一個(gè)非常重要的守護(hù)進(jìn)程,負(fù)責(zé)創(chuàng)建和終止虛擬機(jī)實(shí)例,即管理虛擬機(jī)實(shí)例的生命周期
上層發(fā)來的請求通過compute去管理虛擬化組件,kvm、qemu去創(chuàng)建虛擬機(jī)實(shí)例,通過 Hypervisor 的 API來創(chuàng)建 和銷毀虛擬機(jī)
-
nova-network daemon
安裝在compute節(jié)點(diǎn)上,功能與nova-compute類似,管理IPtables規(guī)則和網(wǎng)卡
-
nova-conductor
RPC(遠(yuǎn)程過程調(diào)用)服務(wù),主要提供數(shù)據(jù)查詢功能
工作于Nova-Compute服務(wù)與數(shù)據(jù)庫之間,避免了Nova-Compute服務(wù)對云數(shù)據(jù)庫的直接訪問,但是,不能將它部署在運(yùn)行Nova-Compute服務(wù)的主機(jī)節(jié)點(diǎn)上
-
Nova-api-metadata
接收來自虛擬機(jī)發(fā)送的源數(shù)據(jù)請求,一般在安裝Nova-Network 服務(wù)的所主機(jī)模式下使用
-
Nova-placement-api
用于追蹤記錄資源提供者目錄和資源使用情況,這些資源包括計(jì)算,存儲以及IP地址池等。
3.2 其他組件簡介
-
nova-consoleauth daemon
身份驗(yàn)證的一個(gè)進(jìn)程,用戶的授權(quán)令牌.
Noca-consoleauth 守護(hù)進(jìn)程,由用戶的console控制臺代理提供授權(quán)tokens,兩種模式nova-novncproxy和nova-xvpnvcproxy
-
nova-novncproxy daemon
通過vnc(虛擬網(wǎng)絡(luò)控制臺)連接來訪問運(yùn)行的虛擬機(jī)實(shí)例的代理。
-
nova client
是指使用 Neutron服務(wù)的應(yīng)用程序,可以是命令行工具(腳本)、 Horizon( OpenStack圖形操作界面)和Nova計(jì)算服務(wù)等
-
the queue
消息隊(duì)列rabbitmq。進(jìn)程之間傳遞消息的中心
-
sql database
數(shù)據(jù)庫(默認(rèn)使用 Maria DB)用于存放 OpenStack的網(wǎng)絡(luò)狀態(tài)信息、包括網(wǎng)絡(luò)、子網(wǎng)端口、路由器等等
-
Nova-conductor——數(shù)據(jù)庫訪問代理
負(fù)載均衡,可擴(kuò)展性高
防止計(jì)算節(jié)點(diǎn)直接訪問數(shù)據(jù)庫
總結(jié)
以上是生活随笔為你收集整理的OpenStack----Nova 计算服务器基础理论(持续更新)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BIOS实战之读写逻辑设备(SIO)
- 下一篇: CUBA Platform系列:自定义可