云系列-OpenstackNova組件參數說明詳細講解_第1頁
云系列-OpenstackNova組件參數說明詳細講解_第2頁
已閱讀5頁,還剩19頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、-OpenstackNova組件參數說明詳細講解 、Nova概念計算服務是openstack最核的服務之,負責維護和管理云環境的計算資源它在openstack項中代號是nova,它提供計算服務,。所有的計算Hypervisor ()進交互實例(虛擬服務器)由Nova(啟動、掛起、停、刪除等)進命周期的調度管理,能與這些服務集成,實現如加密磁盤、裸屬計算實例等。Novakeystone, glance, neutron, cinder swift等其他服務的持、Nova系統架構:,每個進程執不同的功能Nova 由多個服務器進程組成于。sql數據庫DB:API:于、。HTTPnova組件HTTP請

2、求轉換命令:于決定哪臺計算節點。Schedulernova調度器、或。nova絡組件Network:轉發橋:。Compute nova計算組件:處理需要Conductor協調(構建虛擬機或調整虛擬機)的請求,或者處理對象轉換三、Nova 組件詳講1.API 講解API是客戶,它由nova-api服務實現,。作為openstack對外服務的nova-apiapi請求最主要接,。nova-apiapi的端點API提供REST標準調服務,便于與第三系統集成。novanova-api.最終戶不會直接改送RESTfulAPI請求,是通過openstack命令、dashbord和其他需要跟nova交換的組

3、件來使這些APINova-api都可以相應-2)-novaHTTP請求-3)-nova其他服務返回結果并返回給客戶端Nova-api是外部訪問并使nova提供的各種服務的唯途徑,也是客戶端和Nova之間的中間層2.Scheduler 講解可譯為,由nova-scheduler服務實現,主要解決的是如何選擇在哪個計算節點上啟動實例的問題。它可以應多種規則,如調度器果考慮內存使率、cpu負載率、cpu構架(intellamd)等多種因素,根據定的算法,確定虛擬機實例能夠運在哪臺計算服務器上。Nova-scheduler服務會從隊列中接收個虛擬機實例的請求,通過讀取數據庫的內容,從可資源池中選擇最合

4、適的計算節點來創建新的虛擬機實例。創建虛擬機實例時,戶會提出資源需求,如cpu、內存、磁盤各需要多少。Openstack將這些需求定義在實例類型中,戶只需指定使哪個實例類型就可以了(chance scheduler) :從所有正常運nova-compute服務的節點中隨機選擇。隨機調度器(filtr scheduler) :根據指定的過濾條件以及權重選擇最佳的計算節點。Filter稱為篩選器過濾器調度器(caching scheduler):可看作隨機調度器的種特殊類型,在隨機調度的基礎上將主機資源信息緩存在本地內存中,然后通過緩存調度器后臺的定時任務定時從數據庫中獲取最新的主機資源信息。2個

5、階段2.對過濾之后的主機列表進權重計算排序,選擇最優的計算節點來創建虛擬機實例-/最優的節點當過濾調度器需要執調度操作時,會讓過濾器對計算節點在/etc/nova/nova.cont配置件中,scheduler_available_filters選項于配置可過濾器,默認是所有nova帶的過濾器都可以于過濾作Scheduler_available_filters =nova.scheduler.filters.all filters另外還有個選項scheduler-default filters于指定nova-scheduler服務真正使的過濾器,默認值如下Scheduler_default f

6、ilters =RetryFilters, AvailabilityZoneFilter, RamFilter,ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter,ServerGroupAntiAffinityFilter. ServerGroupAffinityFilter過濾調度器將按照列表中的順序依次過濾主要作是過濾掉之前已經調度過的節點。如A,B,C都通過了過濾,A權重最被選中執操作,由于某種原因,操作在A上失敗了。Nova-filterE新執過濾操作,那么此時A就被會Retryfilter直接排除,以免再次失

7、敗AvailabilityZoneFilter ()為提容災性并提供隔彎服務,可以將計算節點劃分到不同的可區域中Openstack默認有個命名為nova的可區域,所有的計算節點初始是放在nova區域中的。戶可以根據需要創建的個可區域。創建實例時,需要指定將實例部署在哪個可區域中.Nova-scheduler執過濾操作時,會使AvailabilityZoneFilter不屬于指定可區域計算節點過濾掉根據可CPU核來調度虛擬機創建,將不能滿實例類型vCPU需求的計算節點過濾掉。VCPU也允許超量,超量值是通過修改cpu_allocation_ratio=16.0ComputeFilter()保證只

8、有nova-compute服務正常作的計算節點才能被nova-scheduler調度,它是必選的過濾器。ComputeCapablilitiesFilter ()根據計算節點的特性來過濾,如x86-64和ARM架構的不同節點,要將實例ImagePropertiesFilter()根據所選鏡像的屬性來篩選匹配的計算節點。通過元數據來指定其屬性。如希望鏡像只運在KVM的Hypervisor上,可以通過Hypervisor Type屬性來指定。ServerGroupAntiAffinityFilter()openstack server group create-policy anti-affini

9、ty group-1創建三個實例,將它們放group-1服務器組openstack server create-flavor m1.tiny -image cirros -hint group=group-1 s1openstack server create-flavor m1.tiny -image cirros-hint group=group-1 s2openstack server create-flavor m1.tiny -image cirros -hint group=group-1 s3與反親和性過濾器相反,此過濾器盡量將實例部署到同個計算節點上Scheduler-nova

10、-scheduler服務可以使多個過濾器依次進過濾,過濾之后的節點再通過計算權重選出能夠部署實例的節點。所有權重位于nova/scheduler/weights錄下。前默認實現是RAMweighter,根據,權重越,實例將被部署到當前空閑內存最多的計算節點上/usr/lib/python2.7/site-packages/usr/lib/python2.7/site-packages/nova/scheduler/weights3.Compute 講解在計算節點上運,負責管理節點上的實例。通常個主機運個Nova-compute服務,個實例部署在哪個可的主Nova-compute機上取決于調度算

11、法。OpenStack對實例的操作,最后都是提交給Nova-compute來完成。/管理實例相關的作Nova-compute可分為兩類,類是定向openstack報告計算節點的狀態,另類是實現實例命周期的管理。schedulercelimetor openstack /openstack/運維員)定義統的接-2)-Hypervisor只需要實現這些接,就可以Driver的到OpenStack系統中形式即插即定期向OpenStack報告計算節點的狀態-1)-每隔段時間,nova-compute就會報告當前計算節點的資源使情況和nova-compute服務狀態-2)-nova-compute是通過

12、Hypervisor的驅動獲取這些信息的。實現虛擬機實例命周期的管理OpenStacknova-compute實現的。創建、關閉、重啟、掛起、恢復、中、調整、遷移、快照。(2)創建實例的鏡像件。(3)XML定義件。(4)創建虛擬絡并啟動虛擬機。4.Conductor 講解由模塊實現,旨在為數據庫的訪問提供層安全保障。Nova-conductor作為pute服務與數據庫之間交互的中nova-conductor,避免了直接訪問由nova-compute服務創建對接數據庫。介Nova-compute訪問數據庫的全部操作都改到nova-conductor中,且nova-conductornova-co

13、nductor作為對數據庫操作的個代理是的。部署在控制節點上,nova-compute可以(RPC)nova-conductor.Nova-conductor有助于提數據庫的訪問性能在個規模的openstack部署環境,管理員可以nova-conductor的數量來應付益增長的計算節點對數據庫的訪問量。以前對資源的管理全部由計算節點承擔,在統計資源使情況時,只是簡單的將所有計算節點的資源情況累加起來,但是系統中還存在外部資源,這些資源由外部系統提供。如ceph,nfs等提供的存儲資源等。對多種多樣的資源提供者,管理員需要統的、簡單的管理接來統.,PlacementAPIPlacementAPl

14、由nova-placement-api服務來實現,旨在追蹤記錄資源提供者的錄和資源使情況。被消費的資源類型是按類進跟蹤的。如計算節點類、共享存儲池類、IP地址類等。四、虛擬機實例化流程戶可以通過多種式訪問虛擬機的控制臺Nova-novncproxy守護進程:通過vnc連接訪問正在運的實例提供個代理,持瀏覽器novnc客戶端。Nova-spicehtml5proxy守護進程:通過spice連接訪問正在運的實例提供個代理,持基于html5瀏覽器的客戶端。Nova-xvpvncproxy守護進程:通過vnc連接訪問正在運的實例提供個代理,持openstack專E的java客戶端Nova-consol

15、eauth守護進程:負責對訪問虛擬機控制臺提供戶令牌認證。這個服務必須與控制臺代理程序共同使。控制臺接先戶(可以是OpenStack最終戶,也可以是其他程序)Nova Client提供的于創建虛擬機的命令。nova-api服務監聽到來于Nova Client的HTTP請求,并將這些消息之后加消息隊列通過。nova-conductor服務。nova-conductor,進些準備作nova-conductor服務通過消息隊列告訴nova-scheduler服務去選擇個合適的計算節點來創建虛擬機,此時nova-scheduler會讀取數據庫的內。容nova-conductor服務從nova-sche

16、duler服務得到了合適的將計算節點的信息后,在nova-compute服務實現虛擬機的創。建五、Nova 部署架構Nova經典部署模式Nova負載均衡部署模式Cells 的架構當openstack nova集群的規模變時,數據庫和消息隊列服務就會出現瓶頸問題。Nova為提平擴展及分布式、規模的部署能,同時不增加數據庫和消息中間件的復雜度,引了Cell概念。Cell可譯為單元。為持更規模的部署,openstack較的nova集群分成的單元,每個單元都有的消息隊列和數據庫,可以解決規模增時引起的瓶頸問題。在Cell中,Keystone, Neutron, Cinder.Glance等資源是共享的

17、。cell(1)Messages的路由,即cell通過nova-cell將Messages路由到cell的AMQP(消息隊列)模塊。(2)分級調度功能,即調度某個instances的時候先要進cell的選擇,前只持隨機調度,后續會增加基于filter和weighing策略的調度。(3)資源統計,cell定時的將的資源信息上報給cell,來給分級調度策略提供決策數據和基于cell的資源監控。(4)cell之間的通信(通過rpc遠程調完成)。cell cell從架構圖看,cell0, , cell1. cell2 位于最上層的cell0,也就是api-cell, 下層的cell1與cell2則是平

18、對等的關系,他們之間交互,相互獨,還可以繼續增加cell3,cell4 。 上層的apicell主要包括了Nova API, Nova Scheduler, Nova Conductor 這3個 Nova 服務 ,同時在 APICell 中還需要 MQ 提供組件內的通信服務。APICell中的 DB 包含兩個數據庫,分別是 api數據庫 和 cell數據庫,api數據庫保存了全局數據,如 flavor 信息。此外 api 數據庫中還有部分表是于 placement 服務的; cell數據庫則是于保存創建失敗且還沒有確定位于哪個 cell 的虛機數據,如當虛擬機調度失敗時,該虛擬機數據就會被保存

19、到cell數據庫中。也就是cell0數據庫中。在每個 Cell 中,都有獨使的數據庫、消息隊列和 Nova Conductor 服務,當前 Cell 中的所有計算節點,全部將數據發送到當前 Cell 中的消息隊列,由 Nova Conductor 服務獲取后,保存當前 Cell 的 Nova 數據庫中。整個過程都不會涉及到 APICell 中的消息隊列。因此通過對計算節點進 Cell 劃分,可以有效降低 APICell 中消息隊列和數據庫的壓。假如個 MQ 能持200個計算節點,則在劃分 Cell 以后,每個 Cell 都可以持200個計算節點,有 N 個 Cell 就可以持 N X 200

20、個計算節點,因此可以極提升單個 OpenStack 的集群管理規模。六、Nova 元數據元數據作是通過向虛擬機實例注元數據信息,實例啟動時獲得的元數據,實例中的cloud-init具根據元數據完成個性化配置作。Openstack將cloud-init定制虛擬機實例配置時獲取的元數據信息分成兩類:元數據metadata)和戶數據(user data)元數據指的是結構化數據,以鍵值對形式注實例,包括實例的些常屬性,如主機名、絡配置信息(IP地址和安全組)、SSH密鑰等。戶數據是結構化數據,通過件或腳本的式進注,持多種件格式,如gzip,shell, cloud-init配置件等,主要包括些命令、腳

21、本,如shell腳本。Openstack將元數據和戶數據的配置信息注機制分為兩種,種是配置驅動器機制,另種是元數據服務機制。七、openstack-Nova部署【組件部署位置】主IP部署服務機nova-api(nova主服務)nova-scheduler(nova調度服務)nova-conductor(nova數據庫服務,提供數據庫訪問)nova-novncproxy(nova的vnc服務,提供實例的控制臺)ct 5c1 6c2 7nova-compute(nova計算服務)nova-compute(nova計算服務)【控制節點服務配置】1.mysql -uroot -p密碼CREATE DA

22、TABASE ;CREATE DATABASE ;CREATE DATABASE ;quit2.#創建nova戶openstack user create -domain default -password NOVA_PASS nova#nova戶添加到service項,擁有admin權限openstack role add -project service -user nova admin#創建nova服務openstack service create -name nova -description OpenStack Compute compute3.openstack endpoint

23、 create -region RegionOne compute public http:/ct:8774/v2.1openstack endpoint create -region RegionOne compute internal http:/ct:8774/v2.1openstack endpoint create -region RegionOne compute admin http:/ct:8774/v2.14.)yum -y install openstack-nova-api openstack-nova-conductor openstack-nova-novncprox

24、y openstack-nova-scheduler5.cp -a /etc/nova/nova.conf,.bak#nova.conf#修改為ct(內部)openstack-config -set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriveropenstack-config -set /etc/nova/nova.conf DEFAULT transport_url rabbit:/openstack:RABBIT_PASSctopenstack-config -set /e

25、tc/nova/nova.conf api_database connection mysql+pymysql:/nova:NOVA_DBPASSct/nova_apiopenstack-config -set /etc/nova/nova.conf database connection mysql+pymysql:/nova:NOVA_DBPASSct/novaopenstack-config -set /etc/nova/nova.conf placement_database connection mysql+pymysql:/placement:PLACEMENT_DBPASSct/

26、placementopenstack-config -set /etc/nova/nova.conf api auth_strategy keystoneopenstack-config -set /etc/nova/nova.conf placement username placementopenstack-config -set /etc/nova/nova.conf placement password PLACEMENT_PASScat /etc/nova/nova.confDEFAULTenabled_apis =osapi_compute,metadata #指定持的api類型m

27、y_ip =5 #定義本地IPuse_neutron =true #通過neutron獲取地址firewall_driver =nova.virt.firewall.NoopFirewallDrivertransport_url =rabbit:/openstack:RABBIT_PASSct #指定連接的rabbitmqapiauth_strategy =keystone #指定使keystone認證api_databaseconnection =mysql+pymysql:/nova:NOVA_DBPASSct/nova_apicinderhealthcheckhypervkey_mana

28、gerkeystone#配置keystone的認證信息auth_url =http:/ct:5000/v3 #到此url去認證#memcache數據庫地址:端neutronnotificationsosapi_v21oslo_concurrency#指定鎖路徑#鎖的作是創建虛擬機時,在執某個操作的時候,需要等此步驟執完后才能執下個步驟,不能并執,保證操作是oslo_policypciplacementpowervmprivsepprofilerquotardp#此處如果配置不正確,則連接不上虛擬機的控制臺#指定vnc的監聽地址workaroundswsgiconnection =mysql+p

29、ymysql:/placement:PLACEMENT_DBPASSct/placement6. #初始化nova_api數據庫su -s /bin/sh -c nova-manage api_db sync nova7.cell0#注冊cell0數據庫;nova服務內部把資源劃分到不同的cell中,把計算節點劃分到不同的cell中;openstack內部基于cell把計算節點進邏輯上的分組su -s /bin/sh -c nova-manage cell_v2 map_cell0 novasu -s /bin/sh -c nova-manage cell_v2 create_cell -na

30、me=cell1 -verbose nova#初始化nova/var/log/nova/nova-manage.log 志判斷是否初始化成功su -s /bin/sh -c nova-manage db sync nova#可使以下命令驗證cell0cell1是否注冊成功su -s /bin/sh -c nova-manage cell_v2 list_cells nova #驗證cell0cell1組件是否注冊成功8.systemctl enable openstack-nova-api.service openstack-nova-scheduler.service openstack-n

31、ova-conductor.service openstack-nova-novncproxy.servicesystemctl start openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service stat -tnlup|egrep 8774|8775curl http:/ct:8774【計算節點配置服務節點】1. #安裝nova-compute組件yum -y install openstack-nova-compute#修改配置件c1c2地址)openstack

32、-config -set /etc/nova/nova.conf placement user_domain_name Defaultopenstack-config -set /etc/nova/nova.conf placement auth_url http:/ct:5000/v3openstack-config -set /etc/nova/nova.conf placement username placementopenstack-config -set /etc/nova/nova.conf placement password PLACEMENT_PASSopenstack-config -set /etc/nova/nova.conf libvirt virt_type qemucat nova.confDEFAULTuse_ne

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論