Nova是OpenStack計算的彈性控制器。OpenStack雲實例生命期所需的各類動做都將由Nova進行處理和支撐,這就意味着Nova以管理平臺的身份登場,負責管理整個雲的計算資源、網絡、受權及測度。雖然Nova自己並不提供任何虛擬能力,可是它將使用libvirt API與虛擬機的宿主機進行交互。Nova經過Web服務API來對外提供處理接口,並且這些接口與Amazon的Web服務接口是兼容的。html
功能及特色web
l 實例生命週期管理算法
l 計算資源管理api
l 網絡與受權管理安全
l 基於REST的API服務器
l 異步連續通訊網絡
l 支持各類宿主:Xen、XenServer/XCP、KVM、UML、VMware vSphere及Hyper-V架構
OpenStack計算部件負載均衡
l Nova彈性雲包含如下主要部分:異步
l API Server(nova-api)
l 消息隊列(rabbit-mq server)
l 運算工做站(nova-compute)
l 網絡控制器(nova-network)
l 卷管理(nova-volume)
l 調度器(nova-scheduler)
API服務器(nova-api)
API服務器提供了雲設施與外界交互的接口,它是外界用戶對雲實施管理的惟一通道。經過使用web服務來調用各類EC2的API,接着API服務器便經過消息隊列把請求送達至雲內目標設施進行處理。做爲對EC2-api的替代,用戶也可使用OpenStack的原生API,咱們把它叫作「OpenStack API」。
消息隊列(Rabbit MQ Server)
OpenStack內部在遵循AMQP(高級消息隊列協議)的基礎上採用消息隊列進行通訊。Nova對請求應答進行異步調用,當請求接收後便則當即觸發一個回調。因爲使用了異步通訊,不會有用戶的動做被長置於等待狀態。例如,啓動一個實例或上傳一份鏡像的過程較爲耗時,API調用就將等待返回結果而不影響其它操做,在此異步通訊起到了很大做用,使整個系統變得更加高效。
運算工做站(nova-compute)
運算工做站的主要任務是管理實例的整個生命週期。他們經過消息隊列接收請求並執行,從而對實例進行各類操做。在典型實際生產環境下,會架設許多運算工做站,根據調度算法,一個實例能夠在可用的任意一臺運算工做站上部署。
網絡控制器(nova-network)
網絡控制器處理主機的網絡配置,例如IP地址分配,配置項目VLAN,設定安全羣組以及爲計算節點配置網絡。
卷工做站(nova-volume)
卷工做站管理基於LVM的 實例卷,它可以爲一個實例建立、刪除、附加捲,也能夠從一個實例中分離卷。卷管理爲什麼如此重要?由於它提供了一種保持實例持續存儲的手段,好比當結束一個 實例後,根分區若是是非持續化的,那麼對其的任何改變都將丟失。但是,若是從一個實例中將卷分離出來,或者爲這個實例附加上卷的話,即便實例被關閉,數據 仍然保存其中。這些數據能夠經過將卷附加到原實例或其餘實例的方式而從新訪問。
所以,爲了往後訪問,重要數據務必要寫入卷中。這種應用對於數據服務器實例的存儲而言,尤其重要。
調度器(nova-scheduler)
調度器負責把nova-API調用送達給目標。調度器以名爲「nova-schedule」的守護進程方式運行,並根據調度算法從可用資源池中恰當地選擇運算服務器。有不少因素均可以影響調度結果,好比負載、內存、子節點的遠近、CPU架構等等。強大的是nova調度器採用的是可插入式架構。
目前nova調度器使用了幾種基本的調度算法:
隨機化:主機隨機選擇可用節點;
可用化:與隨機類似,只是隨機選擇的範圍被指定;
簡單化:應用這種方式,主機選擇負載最小者來運行實例。負載數據能夠從別處得到,如負載均衡服務器。
好了,以上就是小編爲你們帶來的今天的介紹,瞭解更多請訪問:http://edu.51cto.com/course/courseList/id-62.html