openstack Nova模塊概覽

背景

本文更多的是基于代碼層面對(duì)openstack nova服務(wù)進(jìn)行簡(jiǎn)單概述的担孔。

概念

Nova是Openstack最核心的服務(wù)模塊眶蕉,負(fù)責(zé)管理和維護(hù)云計(jì)算環(huán)境的計(jì)算資源坊萝,負(fù)責(zé)整個(gè)云環(huán)境虛擬機(jī)生命周期的管理隶症。
Nova位于Openstack架構(gòu)的中心龙屉,其他服務(wù)或者組件(比如Glance呐粘、Cinder满俗、Neutron等)對(duì)它提供支持,另外它本身的架構(gòu)也比較復(fù)雜作岖,包括很多組件:

  • API
  • Compute Core
  • DB
  • Console Interface
  • MQ

下面就這些組件及組件間如何協(xié)同工作來(lái)一一展開(kāi)唆垃,不過(guò)在介紹這些之前,我們有必要了解一下Nova的設(shè)計(jì)思想痘儡。

設(shè)計(jì)思路

nova架構(gòu).png

其實(shí)辕万,這種架構(gòu)思路也是openstack的通用設(shè)計(jì)思路,比如cinder/neutron基本上也是采用這種設(shè)計(jì)思路來(lái)的沉删。

API

負(fù)責(zé)接收客戶(hù)端請(qǐng)求渐尿,nova-api 作為 Nova 組件對(duì)外的唯一窗口,向客戶(hù)暴露 Nova 能夠提供的功能矾瑰。當(dāng)客戶(hù)端需要執(zhí)行虛機(jī)操作砖茸,客戶(hù)端只能通過(guò)這些Rest API來(lái)完成,另外殴穴,這里的客戶(hù)端指的是終端用戶(hù)凉夯、命令行和 OpenStack 其他組件。

Nova Scheduler

當(dāng)上面API的請(qǐng)求可以在多臺(tái)實(shí)例或者節(jié)點(diǎn)上完成時(shí)采幌,Scheduler可以根據(jù)當(dāng)時(shí)的資源情況選擇最合適的實(shí)例或者節(jié)點(diǎn)來(lái)執(zhí)行請(qǐng)求劲够。

Worker

Nova Worker其實(shí)質(zhì)就是計(jì)算節(jié)點(diǎn)的nova-compute服務(wù),前面Scheduler負(fù)責(zé)分發(fā)任務(wù)休傍,而它則是負(fù)責(zé)執(zhí)行任務(wù)再沧。

Driver框架

在計(jì)算節(jié)點(diǎn)運(yùn)行虛機(jī),那必須要有Hypervisor來(lái)支持尊残,而計(jì)算節(jié)點(diǎn)會(huì)支持多種Hypervisor(包括KVM, Hyper-V, VMWare, Xen, Docker, LXC等)炒瘸,nova-compute為Hypervisor定義統(tǒng)一接口,只要這些hypervisor實(shí)現(xiàn)了這些接口寝衫,就可以 以driver 的形式即插即用到 OpenStack 中顷扩,這樣在技術(shù)上保持先進(jìn)性,具有很強(qiáng)的競(jìng)爭(zhēng)力慰毅,同時(shí)又不會(huì)造成廠商鎖定(Lock-in)隘截,具有很大的靈活和開(kāi)放性。

DB

通過(guò)數(shù)據(jù)庫(kù)來(lái)維護(hù)Nova虛機(jī)的狀態(tài)信息汹胃,比如MySQL會(huì)有Nova撞門(mén)的數(shù)據(jù)庫(kù)婶芭。

MQ

在openstack這樣的分布式系統(tǒng)中,一般程序的調(diào)用都是采用異步調(diào)用處理的着饥,而nova各組件間的協(xié)同工作是通過(guò)消息隊(duì)列來(lái)實(shí)現(xiàn)的犀农,默認(rèn)采用RabbitMQ。

一般工作流程

用戶(hù)發(fā)送一個(gè)nova http請(qǐng)求或者服務(wù)宰掉,通常都會(huì)遵循下面的流程:


工作流程圖

大概解釋一下:

  • 用戶(hù)發(fā)送http請(qǐng)求至nova api呵哨,nova api會(huì)把這個(gè)請(qǐng)求放到mq赁濒;
  • nova scheduler從消息隊(duì)列里獲取到請(qǐng)求,開(kāi)始決定由哪個(gè)計(jì)算節(jié)點(diǎn)去執(zhí)行請(qǐng)求孟害,后把結(jié)果存放到消息隊(duì)列里拒炎;
  • nova compute從消息隊(duì)列里知道了由哪個(gè)節(jié)點(diǎn)去執(zhí)行請(qǐng)求后,分派該節(jié)點(diǎn)去執(zhí)行用戶(hù)請(qǐng)求并返回結(jié)果至消息隊(duì)列挨务;
  • 具體執(zhí)行過(guò)程中產(chǎn)生的一些中間態(tài)信息(比如虛機(jī)的運(yùn)行狀態(tài)击你、bdm信息等)通過(guò)nova conductor保存到數(shù)據(jù)庫(kù);

故障分析

當(dāng)我們實(shí)際在虛機(jī)上進(jìn)行操作時(shí)谎柄,可能會(huì)碰到各種各樣的問(wèn)題果漾,這時(shí)我們可以分析nova的日志來(lái)解決,一般情況下日志會(huì)存放到/var/log/nova/目錄下邊谷誓,如果不夠詳盡绒障,我們還可以通過(guò)修改nova配置文件(/etc/nova/nova.conf)打開(kāi)debug開(kāi)關(guān)來(lái)得到更詳細(xì)的日志信息。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末捍歪,一起剝皮案震驚了整個(gè)濱河市户辱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌糙臼,老刑警劉巖庐镐,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異变逃,居然都是意外死亡必逆,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)揽乱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)名眉,“玉大人,你說(shuō)我怎么就攤上這事凰棉∷鹇#” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵撒犀,是天一觀的道長(zhǎng)福压。 經(jīng)常有香客問(wèn)我,道長(zhǎng)或舞,這世上最難降的妖魔是什么荆姆? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮映凳,結(jié)果婚禮上胆筒,老公的妹妹穿的比我還像新娘。我一直安慰自己魏宽,他們只是感情好腐泻,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布决乎。 她就那樣靜靜地躺著队询,像睡著了一般派桩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蚌斩,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天铆惑,我揣著相機(jī)與錄音,去河邊找鬼送膳。 笑死员魏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的叠聋。 我是一名探鬼主播撕阎,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼碌补!你這毒婦竟也來(lái)了虏束?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤厦章,失蹤者是張志新(化名)和其女友劉穎镇匀,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體袜啃,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡汗侵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了群发。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晰韵。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖熟妓,靈堂內(nèi)的尸體忽然破棺而出宫屠,到底是詐尸還是另有隱情,我是刑警寧澤滑蚯,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布浪蹂,位于F島的核電站,受9級(jí)特大地震影響告材,放射性物質(zhì)發(fā)生泄漏坤次。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一斥赋、第九天 我趴在偏房一處隱蔽的房頂上張望缰猴。 院中可真熱鬧,春花似錦疤剑、人聲如沸滑绒。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)疑故。三九已至杠览,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間纵势,已是汗流浹背踱阿。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留钦铁,地道東北人软舌。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像牛曹,于是被迫代替她去往敵國(guó)和親佛点。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 都是自己的學(xué)習(xí)筆記黎比,僅供參考超营。 核心模塊-Nova簡(jiǎn)介 管理instance生命周期生成,調(diào)度焰手,終止實(shí)例作用:處理...
    廖馬兒閱讀 3,549評(píng)論 0 3
  • 第一章 OpenStack基礎(chǔ) OpenStack管理的資源及提供的服務(wù)OpenStack做為一個(gè)操作系統(tǒng)糟描,...
    sgt_tiger閱讀 12,894評(píng)論 4 72
  • 1.環(huán)境準(zhǔn)備 centos7 1.1、yum安裝設(shè)置 yum list |grep openstackcentos...
    davisgao閱讀 5,476評(píng)論 1 16
  • 吳穎欣閱讀 243評(píng)論 2 1
  • 哄小轟閱讀 109評(píng)論 0 0