

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 、nova介紹:Nova是 OpenStack最核的服務(wù),負(fù)責(zé)維護(hù)和管理云環(huán)境的計(jì)算資源。OpenStack作為 IaaS的云操作系統(tǒng),虛擬機(jī)命周期管理也就是通過(guò) Nova來(lái)實(shí)現(xiàn)的。途與功能 :1)實(shí)例命周期管理2)管理計(jì)算資源3)絡(luò)和認(rèn)證管理4)REST 風(fēng)格的 API5)異步的致性通信6)Hypervisor透明:持Xen,XenServer/XCP,KVM, UML,VMware vSphere and Hyper-V在上圖中可以看到,Nova 處于 Openstak架構(gòu)的中,其他組件都為Nova提供持: Glance為 VM提供 image Cinder 和 Swift分別為VM提供
2、塊存儲(chǔ)和對(duì)象存儲(chǔ)Neutron為 VM提供絡(luò)連接。Nova 架構(gòu)如下:Nova 的架構(gòu)較復(fù)雜,包含很多組件。這些組件以服務(wù)(后臺(tái)deamon進(jìn)程)的形式運(yùn),可以分為以下類:APInova-api是整個(gè) Nova組件的門戶,接收和響應(yīng)客戶的API調(diào)。所有對(duì)Nova的請(qǐng)求都先由nova-api處理。nova-api 向外界暴露若HTTPREST API 接在 keystone中我們可以查詢nova-api的 endponits??蛻舳司涂梢詫⒄?qǐng)求發(fā)送到endponits指定的地址,向nova-api請(qǐng)求操作。當(dāng)然,作為最終戶的我們不會(huì)直接發(fā)送RestAP 請(qǐng)求。OpenStack ,Dashboa
3、rd 和其他需要跟Nova交換的組件會(huì)使這些API。Nova-api 對(duì)接收到的 HTTP API 請(qǐng)求會(huì)做如下處理:1.檢查客戶端傳的參數(shù)是否合法有效2.調(diào) Nova其他服務(wù)的處理客戶端HTTP 請(qǐng)求3.格式化 Nova其他服務(wù)返回的結(jié)果并返回給客戶端nova-api 接收哪些請(qǐng)求?簡(jiǎn)單的說(shuō),只要是跟虛擬機(jī)命周期相關(guān)的操作,nova-api 都可以響應(yīng)。部分操作都可以在Dashboard上找到。打開(kāi)Instance管理界除了提供 OpenStack的API,nova-api 還持 Amazon EC2 API。 也就是說(shuō),如果客戶以前使Amazon EC2,并且 EC2 的 API開(kāi)發(fā)了些具
4、來(lái)管理虛機(jī),那么如果現(xiàn)在要換成OpenStack,這些具可以縫遷移到OpenStack,因?yàn)?nova-api兼容 EC2 API,需做任何修改。Compute Corea)nova-scheduler:1虛機(jī)調(diào)度服務(wù),負(fù)責(zé)決定在哪個(gè)計(jì)算節(jié)點(diǎn)上運(yùn)虛機(jī)。創(chuàng)建Instance時(shí),戶會(huì)提出資源需求,例如CPU、內(nèi)存、磁盤各需要多少。OpenStack將這些需求定義在flavor中,戶只需要指定哪個(gè)flavor就可以了。可的 flavor在 System-Flavors中管理。下介紹 nova-scheduler是如何實(shí)現(xiàn)調(diào)度的。在/etc/nova/nova.conf中,nova通過(guò) driver=
5、filter_scheduler這個(gè)參數(shù)來(lái)配置nova-scheduler。driver=filter_schedulerFilter schedulerFilter scheduler 是 nova-scheduler默認(rèn)的調(diào)度器,調(diào)度過(guò)程分為兩步:1.通過(guò)過(guò)濾器(filter)選擇滿條件的計(jì)算節(jié)點(diǎn)(運(yùn)nova-compute)2.通過(guò)權(quán)重計(jì)算(weighting)選擇在最優(yōu)(權(quán)重值最)的計(jì)算節(jié)點(diǎn)上創(chuàng)建Instance。Nova 允許使第三scheduler,配置 scheduler_driver即可。這次體現(xiàn)了OpenStack的開(kāi)放性。Scheduler 可以使多個(gè)filter依次進(jìn)過(guò)濾
6、,過(guò)濾之后的節(jié)點(diǎn)再通過(guò)計(jì)算權(quán)重選出最適合的節(jié)點(diǎn)。上圖是調(diào)度過(guò)程的個(gè)例:1.最開(kāi)始有 6個(gè)計(jì)算節(jié)點(diǎn) Host1-Host62.通過(guò)多個(gè) filter層層過(guò)濾,Host2和 Host4沒(méi)有通過(guò),被刷掉了3. Host1,Host3,Host5,Host6計(jì)算權(quán)重,結(jié)果Host5得分最,最終選當(dāng) Filter scheduler需要執(zhí)調(diào)度操作時(shí),會(huì)讓filter對(duì)計(jì)算節(jié)點(diǎn)進(jìn)判斷,filter返回 True或 False。經(jīng)過(guò)前堆filter的過(guò)濾,nova-scheduler 選出了能夠部署instance的計(jì)算節(jié)點(diǎn)。如果有多個(gè)計(jì)算節(jié)點(diǎn)通過(guò)了過(guò)濾,那么最終選擇哪個(gè)節(jié)點(diǎn)呢?Scheduler 會(huì)對(duì)每個(gè)
7、計(jì)算節(jié)點(diǎn)打分,得分最的獲勝。打分的過(guò)程就是weight,翻譯過(guò)來(lái)就是計(jì)算權(quán)重值,那么scheduler是根據(jù)什么來(lái)計(jì)算權(quán)重值呢?前 nova-scheduler的默認(rèn)實(shí)現(xiàn)是根據(jù)計(jì)算節(jié)點(diǎn)空閑的內(nèi)存量計(jì)算權(quán)重值:空閑內(nèi)存越多,權(quán)重越,instance 將被部署到當(dāng)前空閑內(nèi)存最多的計(jì)算節(jié)點(diǎn)上。b)nova-compute:nova-compute是管理虛機(jī)的核服務(wù),在計(jì)算節(jié)點(diǎn)上運(yùn)。通過(guò)調(diào)Hypervisor API實(shí)現(xiàn)節(jié)點(diǎn)上的instance的命周期管理。OpenStack對(duì) instance的操作,最后都是交給nova-compute來(lái)完成的。 nova-compute與 Hypervisor起實(shí)
8、現(xiàn) OpenStack對(duì) instance命周期的管理。Openstack中虛機(jī)默認(rèn)的保存路徑在:/var/lib/nova/instances通過(guò)Driver架構(gòu)持多種HypervisorHypervisor是計(jì)算節(jié)點(diǎn)上跑的虛擬化管理程序,虛機(jī)管理最底層的程序。不同虛擬化技術(shù)提供的Hypervisor。 常的 Hypervisor有KVM,Xen, VMWare等。nova-compute為這些 Hypervisor定義了統(tǒng)的接,Hypervisor 只需要實(shí)現(xiàn)這些接,就可以Driver的形式即插即到 OpenStack系統(tǒng)中。下是Nova Driver的架構(gòu)意圖:c)nova-conduc
9、tor:nova-compute經(jīng)常需要更新數(shù)據(jù)庫(kù),如更新和獲取虛機(jī)的狀態(tài)。出于安全性和伸縮性的考慮,nova-compute并不會(huì)直接訪問(wèn)數(shù)據(jù)庫(kù),是將這個(gè)任務(wù)委托給nova-conductor。這樣做有兩個(gè)顯著好處:1.更的系統(tǒng)安全性2.更好的系統(tǒng)伸縮性Console Interfacenova-console: 戶可以通過(guò)多種式訪問(wèn)虛機(jī)的控制臺(tái):nova-novncproxy: 基于 Web瀏覽器的 VNC 訪問(wèn)nova-spicehtml5proxy: 基于 HTML5瀏覽器的 SPICE 訪問(wèn)nova-xvpnvncproxy: 基于 Java客戶端的 VNC 訪問(wèn)nova-conso
10、leauth: 負(fù)責(zé)對(duì)訪問(wèn)虛機(jī)控制臺(tái)請(qǐng)求提供Token認(rèn)證nova-cert: 提供 x509證書持DatabaseNova 會(huì)有些數(shù)據(jù)需要存放到數(shù)據(jù)庫(kù)中,般使MySQL。數(shù)據(jù)庫(kù)安裝在控制節(jié)點(diǎn)上。Nova使命名為 “nova”的數(shù)據(jù)庫(kù)。Message Queue在前我們了解到Nova包含眾多的服務(wù),這些服務(wù)之間需要相互協(xié)調(diào)和通信。為解耦各個(gè)服務(wù),Nova 通過(guò) Message Queue作為服務(wù)的信息中轉(zhuǎn)站。所以在架構(gòu)圖上我們看到了服務(wù)之間沒(méi)有直接的連線,是通過(guò)Message Queue聯(lián)系的。OpenStack默認(rèn)是 RabbitMQ作為 Message 。 MQ是 OpenStack的核基
11、礎(chǔ)組件,我們后也會(huì)詳細(xì)介紹。、Nova 組件如何協(xié)同作Nova 物理部署案前家已經(jīng)看到Nova由很多服務(wù)組成,我們也知道OpenStack是個(gè)分布式系統(tǒng),可以部署到若節(jié)點(diǎn)上,那么接下來(lái)家可能就會(huì)問(wèn):Nova 的這些服務(wù)在物理上應(yīng)該如何部署呢?對(duì)于 Nova,這些服務(wù)會(huì)部署在兩類節(jié)點(diǎn)上:計(jì)算節(jié)點(diǎn)和控制節(jié)點(diǎn)。計(jì)算節(jié)點(diǎn)上安裝了Hypervisor,上運(yùn)虛擬機(jī)。由此可知:1.只有 nova-compute需要放在計(jì)算節(jié)點(diǎn)上。2.其他服務(wù)則是放在控制節(jié)點(diǎn)上的。下我們可以看看實(shí)驗(yàn)環(huán)境的具體部署情況。通過(guò)在計(jì)算節(jié)點(diǎn)和控制節(jié)點(diǎn)上運(yùn)ps -elf | grep nova來(lái)查看運(yùn)的nova服務(wù)計(jì)算節(jié)點(diǎn)comput
12、e只運(yùn)了nova-compute服務(wù)控制節(jié)點(diǎn)controller運(yùn)了若nova-*服務(wù)RabbitMQ和 MySQL也是放在控制節(jié)點(diǎn)上的??赡芗?xì)的同學(xué)已經(jīng)發(fā)現(xiàn)我們的控制節(jié)點(diǎn)上也運(yùn)了nova-compute。 這實(shí)際上也就意味著devstack-controller既是個(gè)控制節(jié)點(diǎn),同時(shí)也是個(gè)計(jì)算節(jié)點(diǎn),也可以在上運(yùn)虛機(jī)。這也向我們展了OpenStack這種分布式架構(gòu)部署上的靈活性:可以將所有服務(wù)都放在臺(tái)物理機(jī)上,作為個(gè)All-in-One 的測(cè)試環(huán)境;也可以將服務(wù)部署在多臺(tái)物理機(jī)上,獲得更好的性能和可。另外,也可以nova service-list查看 nova-*服務(wù)都分布在哪些節(jié)點(diǎn)上從虛機(jī)創(chuàng)建
13、流程看nova-*服務(wù)如何協(xié)同作從學(xué)習(xí) Nova的度看,虛機(jī)創(chuàng)建是個(gè)常好的場(chǎng)景,涉及的nova-*服務(wù)很全,下是流程圖。1. 客戶(可以是OpenStack最終戶,也可以是其他程序)向API(nova-api)發(fā)送請(qǐng)求:幫我創(chuàng)建個(gè)虛機(jī)”2. API對(duì)請(qǐng)求做些必要處理后,向Messaging(RabbitMQ)發(fā)送了條消息:讓 Scheduler 創(chuàng)建個(gè)虛機(jī)”3. Scheduler(nova-scheduler)從 Messaging獲取到 API發(fā)給它的消息,然后執(zhí)調(diào)度算法,從若計(jì)算節(jié)點(diǎn)中選出節(jié)點(diǎn)A4. Scheduler 向 Messaging發(fā)送了條消息:在計(jì)算節(jié)點(diǎn) A上創(chuàng)建這個(gè)虛機(jī)”5
14、. 計(jì)算節(jié)點(diǎn) A的 Compute(nova-compute)從 Messaging中獲取到 Scheduler 發(fā)給它的消息,然后在本節(jié)點(diǎn)的Hypervisor上啟動(dòng)虛機(jī)。6. 在虛機(jī)創(chuàng)建的過(guò)程中,Compute如果需要查詢或更新數(shù)據(jù)庫(kù)信息,會(huì)通過(guò)Messaging向 Conductor(nova-conductor)發(fā)送消息,Conductor負(fù)責(zé)數(shù)據(jù)庫(kù)訪問(wèn)。以上是創(chuàng)建虛機(jī)最核的步驟,這個(gè)步驟向我們展了nova-*服務(wù)之間的協(xié)作的式,也體現(xiàn)了OpenStack整個(gè)系統(tǒng)的分布式設(shè)計(jì)思想,掌握這種思想對(duì)我們深理解OpenStack會(huì)常有幫助。三、Nova 創(chuàng)建虛擬機(jī)詳細(xì)過(guò)程1、界或命令通過(guò)RE
15、STful API向keystone獲取認(rèn)證信息。2、keystone通過(guò)戶請(qǐng)求認(rèn)證信息,并成auth-token返回給對(duì)應(yīng)的認(rèn)證請(qǐng)求。3、界或命令通過(guò)RESTful API向nova-api發(fā)送個(gè)boot instance的請(qǐng)求(攜帶auth-token)。4、nova-api接受請(qǐng)求后向keystone發(fā)送認(rèn)證請(qǐng)求,查看token是否為有效戶和token。5、keystone驗(yàn)證token是否有效,如有效則返回有效的認(rèn)證和對(duì)應(yīng)的(注:有些操作需要有權(quán)限才能操作)。6、通過(guò)認(rèn)證后nova-api和數(shù)據(jù)庫(kù)通訊。7、初始化新建虛擬機(jī)的數(shù)據(jù)庫(kù)記錄。8、nova-api通過(guò)rpc.call向nova
16、-scheduler請(qǐng)求是否有創(chuàng)建虛擬機(jī)的資源(Host 。9、nova-scheduler進(jìn)程偵聽(tīng)消息隊(duì)列,獲取nova-api的請(qǐng)求。10、nova-scheduler通過(guò)查詢nova數(shù)據(jù)庫(kù)中計(jì)算資源的情況,并通過(guò)調(diào)度算法計(jì)算符合虛擬機(jī)創(chuàng)建需要的主機(jī)。11、對(duì)于有符合虛擬機(jī)創(chuàng)建的主機(jī),nova-scheduler更新數(shù)據(jù)庫(kù)中虛擬機(jī)對(duì)應(yīng)的物理主機(jī)信息。12、nova-scheduler通過(guò)向nova-compute發(fā)送對(duì)應(yīng)的創(chuàng)建虛擬機(jī)請(qǐng)求的消息。13、nova-compute會(huì)從對(duì)應(yīng)的消息隊(duì)列中獲取創(chuàng)建虛擬機(jī)請(qǐng)求的消息。14、nova-compute通過(guò)rpc.call向nova-condu
17、ctor請(qǐng)求獲取虛擬機(jī)消息。(Flavor)15、nova-conductor從消息隊(duì)隊(duì)列中拿到nova-compute請(qǐng)求消息。16、nova-conductor根據(jù)消息查詢虛擬機(jī)對(duì)應(yīng)的信息。17、nova-conductor從數(shù)據(jù)庫(kù)中獲得虛擬機(jī)對(duì)應(yīng)信息。18、nova-conductor把虛擬機(jī)信息通過(guò)消息的式發(fā)送到消息隊(duì)列中。19、nova-compute從對(duì)應(yīng)的消息隊(duì)列中獲取虛擬機(jī)信息消息。20、nova-compute通過(guò)keystone的RESTfull API拿到認(rèn)證的token,并通過(guò)HTTP請(qǐng)求glance-api獲取創(chuàng)建虛擬機(jī)所需要鏡像。21、glance-api向keys
18、tone認(rèn)證token是否有效,并返回驗(yàn)證結(jié)果。22、token驗(yàn)證通過(guò),nova-compute獲得虛擬機(jī)鏡像信息(URL)。23、nova-compute通過(guò)keystone的RESTfull API拿到認(rèn)證k的token,并通過(guò)HTTP請(qǐng)求neutron-server獲取創(chuàng)建虛擬機(jī)所需要的絡(luò)信息。24、neutron-server向keystone認(rèn)證token是否有效,并返回驗(yàn)證結(jié)果。25、token驗(yàn)證通過(guò),nova-compute獲得虛擬機(jī)絡(luò)信息。26、nova-compute通過(guò)keystone的RESTfull API拿到認(rèn)證的token,并通過(guò)HTTP請(qǐng)求cinder-api
19、獲取創(chuàng)建虛擬機(jī)所需要的持久化存儲(chǔ)信息。27、cinder-api向keystone認(rèn)證token是否有效,并返回驗(yàn)證結(jié)果。28、token驗(yàn)證通過(guò),nova-compute獲得虛擬機(jī)持久化存儲(chǔ)信息。29、nova-compute根據(jù)instance的信息調(diào)配置的虛擬化驅(qū)動(dòng)來(lái)創(chuàng)建虛擬機(jī)。四、徹底刪除nova-compute節(jié)點(diǎn)1、控制節(jié)點(diǎn)上操作查看計(jì)算節(jié)點(diǎn),刪除node11openstack host list2nova service-list2、將node1上的計(jì)算服務(wù)設(shè)置為down,然后disabled1systemctl stop openstack-nova-compute2nova
20、service-list1nova service-disable node1 nova-compute2nova service-list3、在數(shù)據(jù)庫(kù)清理(nova庫(kù))(1)參看現(xiàn)在數(shù)據(jù)庫(kù)狀態(tài)123rootnode1 # mysql-u root -p4Enter password:5Welcome to the MariaDB monitor. Commands end with ; or g.6Your MariaDB connectionid is 907 Server version: 10.1.20-MariaDB MariaDB Server89 Copyright (c) 20
21、00, 2016, Oracle, MariaDB Corporation Ab and others.1011Typehelp;orhfor help. Typec toclear the current input statement.1213MariaDB (none) use nova;Reading table informationforcompletion of table and column names14You can turn off this feature to get a quicker startup with -A1516Database changed17Ma
22、riaDB novaselect host from nova.services;18+-+19| host|+-+| | |202122| node1 |23| node1 | node1 |24| node1 |25| node2 |26+-+277 rowsin set (0.00 sec)2829MariaDB novaselect hypervisor_hostname from compute_nodes;30+-+| hypervisor_hostname |31+-+32| node133| node2|34+-+352 rowsin set (0.00 sec)3637(2)
23、刪除數(shù)據(jù)庫(kù)中的node1節(jié)點(diǎn)信息123MariaDB nova delete from nova.services where host=node1;4 Query OK,4 rows affected (0.01 sec)5MariaDB nova delete from compute_nodes where hypervisor_hostname=node1;6Query OK,1 row affected (0.00 sec)78MariaDB nova9MariaDB nova10MariaDB nova11MariaDB novaselect host from nova.serv
24、ices;+-+12| host|13+-+14| |15| | node2 |16+-+173 rowsin set (0.00 sec)1819MariaDB novaselect hypervisor_hostname from compute_nodes;20+-+21| hypervisor_hostname |22+-+23| node2|24+-+1 rowinset (0.00 sec)2526MariaDB nova2728五、nova配置件:DEFAULTmy_ip=3use_neutron = Truefirewall_driver = nova.virt.firewal
25、l.NoopFirewallDriverenabled_apis=osapi_compute,metadatatransport_url =apiauth_strategy = keystoneapi_databaseconnection = mysql+barbicancachecellscinderos_region_name = RegionOnecloudpipeconductorconsoleconsoleauthcorscors.subdomaincryptodatabaseconnection = mysql+ephemeral_storage_encryptionfilter_
26、schedulerglanceapi_servers =guestfshealthcheckhypervimage_file_urlironickey_managerkeystone_authtokenauth_uri =auth_url =memcached_servers = controller:11211auth_type = passwordproject_domain_name = defaultuser_domain_name = defaultproject_name = serviceusername = novapassword = novalibvirtvirt_type=qemumatchmaker_redismetricsmksneutron
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 一種用于儲(chǔ)能集裝箱的消防系統(tǒng)及儲(chǔ)能集裝箱的制作方法
- 2025年高職筆試試題及答案
- 2025年優(yōu)缺點(diǎn)面試試題及答案
- 2025年小學(xué)科目面試題及答案
- 2025年以前的公司法試題及答案
- 2025年音樂(lè)教室樂(lè)理試題及答案
- 2025年醫(yī)療直播面試題及答案
- 2025年初一音樂(lè)測(cè)試題及答案
- 2025年達(dá)鋼鉗工考試題及答案
- 2025年ug考試試題及答案
- 電子級(jí)(高純)氫氟酸生產(chǎn)工藝和質(zhì)量指標(biāo)介紹
- 2024年煤礦安全管理人員(機(jī)電運(yùn)輸)考試題庫(kù)(濃縮500題)
- 支付令異議申請(qǐng)書(2篇)
- 數(shù)據(jù)崗位招聘筆試題與參考答案(某大型央企)2025年
- 第六單元 資本主義制度的初步確立 復(fù)習(xí)課件 2024-2025學(xué)年統(tǒng)編版九年級(jí)歷史上冊(cè)
- 供應(yīng)鏈安全培訓(xùn)教材課件
- 口腔頜面外科創(chuàng)口的處理(口腔頜面外科課件)
- 智鼎在線測(cè)評(píng)規(guī)律題題庫(kù)
- 蘋果電腦macOS效率手冊(cè)
- 緊急停車按鈕的安全設(shè)置要求
- 城區(qū)綠地養(yǎng)護(hù)服務(wù)費(fèi)項(xiàng)目成本預(yù)算績(jī)效分析報(bào)告
評(píng)論
0/150
提交評(píng)論