淺談云計算19 | OpenStack管理模塊 (上)

OpenStack管理模塊(上)

    • 一、操作界面管理架構
    • 二、認證管理
      • 2.1 定義與作用
      • 2.2 認證原理與流程
        • 2.2.1 認證機制原理
        • 2.2.2 用戶認證流程
    • 三、鏡像管理
      • 3.1 定義與功能
      • 3.2 鏡像服務架構
      • 3.3 工作原理與流程
        • 3.3.1 鏡像存儲原理
        • 3.3.2 鏡像檢索流程
    • 四、計算管理
      • 4.1 定義與目標
      • 4.2 架構分析
        • 4.2.1 Nova計算服務架構
        • 4.2.2 資源調度架構
      • 4.3 原理與流程
        • 4.3.1 虛擬機創建原理
        • 4.3.2 計算資源調度流程

在這里插入圖片描述

(注:OpenStack管理模塊(下)可以看這里)

深入研究OpenStack的各個管理模塊具有多方面的重要價值。在資源利用層面,通過對計算管理、存儲管理等模塊的優化,可以顯著提升數據中心的資源利用率。以計算管理為例,通過合理的調度算法,能夠確保計算資源被精準分配到最需要的任務上,避免資源的閑置與浪費。在運維效率方面,對編排管理、故障管理等模塊的深入研究與應用,能夠實現自動化的資源部署與高效的故障處理。編排管理模塊可依據預設的模板和策略,快速完成復雜的云環境搭建,大大節省部署時間;而故障管理模塊則能夠實時監測系統狀態,一旦發現故障便迅速做出響應,最大程度減少故障對業務的影響。

從宏觀角度看,對OpenStack管理模塊的深入探究,有助于推動整個云計算行業的技術進步,為構建更加智能、高效、可靠的云平臺奠定堅實基礎。

在這里插入圖片描述

一、操作界面管理架構

OpenStack 的操作界面管理借助 Horizon 組件,提供基于 Web 的可視化管理平臺,方便管理員與租戶和各項服務交互,降低了操作門檻,使非專業人員也能完成復雜云管理任務。在架構方面,Horizon 作為連接用戶與后端服務的關鍵組件,和 Nova、Glance 等核心組件緊密協作,通過 API 接口獲取信息展示給用戶,并傳遞用戶操作指令,以實現對云資源的管理與控制。

在這里插入圖片描述

Horizon 包含多個緊密協作的子組件,共同實現云資源的全面管理。

儀表盤:作為核心組件,像信息中樞,匯總呈現云環境整體狀態與資源使用情況。以圖表形式展示計算資源(如已用 CPU 核心數、內存量及剩余資源)、存儲資源(存儲卷容量、已用 / 剩余空間、設備健康狀態),以及網絡拓撲簡化圖、網絡流量數據,助用戶了解網絡運行狀態。

虛擬機管理組件:是管理虛擬機的關鍵部分。支持用戶從 Glance 鏡像庫選鏡像創建虛擬機,確定 CPU、內存、磁盤等規格。啟動后,可實時監控 CPU 使用率、內存與磁盤讀寫等性能指標。還能對虛擬機執行停止、重啟、刪除等操作,以及調整內存、增減網絡接口來修改配置。

網絡管理組件:功能強大靈活。創建虛擬網絡時,可定義名稱、IP 范圍、子網掩碼、網絡類型。能創建多個子網,分配不同 IP 段,滿足不同業務需求。在路由器管理上,可創建配置路由器,設置網關和路由規則,實現網絡間互聯互通。同時,可創建安全組,設置訪問規則保障虛擬機網絡安全。

存儲管理組件:負責管理云存儲資源。用戶可創建存儲卷,指定大小、名稱、所屬項目。創建后,將其掛載到虛擬機用于存儲讀取數據。數據量增加時可擴容,還支持對存儲卷快照,便于數據備份和恢復。

用戶管理組件:專注于身份認證和權限管理。支持用戶名密碼、令牌等多種認證方式,通過與 Keystone 服務驗證確認用戶身份。管理員能在此創建不同用戶角色,分配相應權限,如管理員有所有云資源控制權,普通用戶僅能管理自己的虛擬機,實現對用戶訪問云資源的精細管控,保障系統安全 。

二、認證管理

2.1 定義與作用

OpenStack 的認證管理主要由 Keystone 組件負責,它是云平臺默認的身份管理系統,提供身份驗證、授權及服務目錄管理功能。在 OpenStack 架構里,Keystone 就像門禁,只有通過身份驗證的用戶,才能獲取權限操作計算、存儲、網絡等云資源。

從技術層面看,Keystone 通過多種機制保障認證安全。它支持多種認證方式,滿足不同需求。常見的用戶名 / 密碼認證,用戶輸入信息后,Keystone 與數據庫中的用戶信息比對來確認身份。API 密鑰認證適用于編程訪問云資源,用戶在 API 請求中攜帶密鑰,由 Keystone 驗證其有效性。此外,為滿足更高安全需求,Keystone 還支持 Kerberos 這種基于票據的高級認證,能在分布式環境中提供強大的身份驗證與授權,確保復雜網絡環境下云平臺的安全 。

在 OpenStack 生態系統中,認證管理起著核心作用:安全防護上,通過嚴格身份驗證防止非法用戶惡意訪問云資源,在多租戶環境為各租戶分配獨立身份標識和權限,保障數據安全與隔離;資源訪問控制方面,以 Keystone 基于用戶角色和所屬租戶分配權限,采用 RBAC 模型實現精細化控制,規范高效管理資源訪問,避免權限濫用;同時,為 Nova、Glance、Neutron 等其他組件提供統一認證服務,各組件接收到用戶請求后先由 Keystone 驗證,確認合法且有權限才執行,確保各組件協同工作安全有序,提升云平臺運行效率與穩定性 。

2.2 認證原理與流程

2.2.1 認證機制原理

OpenStack的認證機制涵蓋多種方式,以滿足不同場景下的安全需求。基于用戶名/密碼的認證方式是最為基礎且常見的。在這種方式下,用戶在登錄界面輸入預先設置的用戶名和密碼,系統會將這些信息發送至Keystone的身份驗證模塊 。該模塊會從存儲用戶信息的數據庫中檢索對應的記錄,通常數據庫中存儲的是經過加密處理的密碼哈希值,以增強密碼的安全性。通過將用戶輸入的密碼進行相同加密算法的處理,再與數據庫中的密碼哈希值進行比對,若兩者一致,則確認用戶身份合法,允許用戶訪問云資源 。

在這里插入圖片描述

令牌(Token)認證機制則在現代云計算環境中發揮著重要作用。當用戶通過用戶名/密碼等方式成功進行身份驗證后,Keystone的令牌管理模塊會生成一個唯一的令牌 。這個令牌是一個包含豐富信息的字符串,其中涵蓋了用戶的身份標識、所屬租戶信息、擁有的權限范圍以及令牌的有效期等關鍵信息。在后續的操作中,用戶無需再次輸入用戶名和密碼,只需在每次請求訪問云資源時,攜帶這個令牌即可。OpenStack的其他服務在接收到用戶請求時,會將令牌發送回Keystone的令牌管理模塊進行驗證。令牌管理模塊會檢查令牌的有效性,包括令牌是否由自己頒發、是否在有效期內以及令牌所包含的權限是否與用戶請求的操作相匹配等。若驗證通過,服務則會執行用戶的請求,從而實現了高效、安全的無密碼訪問機制 。

在這里插入圖片描述

在一些對安全性要求極高的場景中,OpenStack還支持Kerberos認證機制。Kerberos是一種基于票據的認證協議,它通過引入可信的第三方認證服務器(KDC,Key Distribution Center)來實現用戶身份的驗證和服務授權 。在Kerberos認證過程中,用戶首先向KDC發送身份驗證請求,KDC會對用戶進行身份核實。若驗證通過,KDC會生成一個包含用戶身份信息和會話密鑰的票據(Ticket),并將其發送給用戶。用戶在請求訪問特定服務時,會將該票據連同自己的身份信息一起發送給服務端。服務端再將這些信息轉發給KDC進行驗證,KDC確認無誤后,向服務端返回驗證成功的信息,服務端才會為用戶提供相應的服務 。這種認證機制在分布式環境中具有強大的安全性和可靠性,能夠有效防止票據被竊取和篡改,保障云平臺在復雜網絡環境下的安全運行 。

2.2.2 用戶認證流程

當用戶發起登錄請求時,首先會在登錄界面(如Horizon的登錄頁面)輸入用戶名和密碼 。這些認證信息會被封裝成符合RESTful規范的HTTP請求,發送至Keystone的API端點。Keystone的API接收到請求后,會迅速將其傳遞給身份驗證模塊 。身份驗證模塊會按照預先設定的認證策略,首先嘗試從數據庫中查找與用戶輸入用戶名匹配的記錄 。若找到匹配記錄,會對用戶輸入的密碼進行加密處理,并與數據庫中存儲的密碼哈希值進行比對 。若密碼驗證通過,身份驗證模塊會通知令牌管理模塊為用戶生成一個令牌 。

令牌管理模塊在生成令牌時,會將用戶的身份信息、所屬租戶信息、用戶角色以及令牌的有效期等信息編碼到令牌中 。生成的令牌會通過HTTP響應返回給用戶,同時,用戶的會話信息也會被創建和管理,通常會話信息中會包含令牌以及用戶的相關身份標識等 。用戶在后續訪問OpenStack的其他服務(如Nova、Glance、Neutron等)時,會在每個請求的頭部或其他指定位置攜帶這個令牌 。

在這里插入圖片描述

以用戶通過Nova服務創建虛擬機為例,當用戶在Horizon界面發起創建虛擬機的請求時,Horizon會將請求連同用戶的令牌一起發送給Nova服務 。Nova接收到請求后,會立即將令牌轉發給Keystone進行驗證 。Keystone的令牌管理模塊會對令牌進行全面檢查,包括令牌的格式是否正確、是否由自己頒發、是否在有效期內以及令牌所賦予的用戶權限是否包含創建虛擬機的權限等 。若令牌驗證通過,Keystone會向Nova返回驗證成功的信息以及用戶的相關權限信息 。Nova在接收到驗證成功的信息后,會繼續執行用戶創建虛擬機的請求,與Glance服務交互獲取所需鏡像,與Neutron服務協作配置網絡等,最終完成虛擬機的創建操作 。若在任何一個環節中,令牌驗證失敗,如令牌過期或權限不足,Keystone會返回相應的錯誤信息,告知用戶認證失敗,服務也會拒絕執行用戶的請求 。

三、鏡像管理

3.1 定義與功能

在 OpenStack 體系架構里,鏡像管理至關重要,核心功能由 Glance 組件承擔。它負責虛擬機鏡像的存儲、查詢與檢索,為虛擬機創建提供基礎支持。虛擬機鏡像包含可啟動操作系統和預裝軟件,如同模板,助力用戶快速創建特定配置的虛擬機實例。

技術實現上,Glance 提供 RESTful API 接口用于鏡像操作。支持多種鏡像格式,如 qcow2 有空間動態擴展、寫時復制特性;raw 格式適用于對性能要求高的場景,雖讀寫性能好但空間分配不靈活;VMDK 格式方便不同虛擬化環境間鏡像遷移。其操作功能豐富,涵蓋上傳、查詢、下載、更新、刪除以及共享,滿足用戶在鏡像管理各環節的需求,提升資源利用效率與操作便捷性 。

3.2 鏡像服務架構

Glance的架構設計精巧且復雜,它主要由Glance API、Glance Registry以及存儲后端等核心組件構成 。Glance API作為對外提供服務的接口,承擔著接收和處理用戶請求的重任。無論是用戶發起的鏡像上傳、下載、查詢等操作請求,還是其他OpenStack組件(如Nova在創建虛擬機時對鏡像的請求),都會首先抵達Glance API 。Glance API在接收到請求后,會依據請求的類型和內容,將其合理地分發給后續的處理模塊 。

在這里插入圖片描述

Glance Registry則專注于鏡像元數據的管理,這些元數據包含了鏡像的名稱、大小、格式、操作系統類型、創建時間等關鍵信息。它會將這些元數據存儲到數據庫中,通常采用MySQL等關系型數據庫,以便于高效地查詢和檢索 。當用戶查詢鏡像時,Glance API會向Glance Registry發送查詢請求,Glance Registry從數據庫中檢索出符合條件的鏡像元數據,并將其返回給Glance API,再由Glance API將結果返回給用戶 。

在與存儲服務的連接架構方面,Glance支持多種存儲后端,以滿足不同用戶和場景的需求。其中,Swift對象存儲是一種常用的存儲后端選擇 。當使用Swift作為存儲后端時,Glance與Swift之間通過特定的接口進行通信。在鏡像上傳過程中,Glance API會將接收到的鏡像數據轉發給Swift,Swift會按照其自身的存儲機制,將鏡像數據存儲為對象,并返回給Glance一個存儲位置的標識 。在鏡像下載時,Glance API會依據存儲位置標識,從Swift中獲取鏡像數據,并返回給請求的用戶或組件 。

除了Swift,Glance還支持本地文件系統存儲。在這種方式下,鏡像文件直接存儲在Glance節點的本地文件系統中。雖然這種存儲方式相對簡單直接,但在可擴展性和數據冗余方面存在一定的局限性 。對于大規模的云平臺,通常會優先選擇具有高可靠性和擴展性的Swift對象存儲或其他分布式存儲方案 。

3.3 工作原理與流程

3.3.1 鏡像存儲原理

當用戶上傳鏡像到Glance時,其存儲過程涉及多個組件的協同工作。以Swift對象存儲作為后端存儲為例,用戶通過Glance API發起鏡像上傳請求,該請求會攜帶鏡像的相關數據和元數據 。Glance API接收到請求后,首先對元數據進行解析和驗證,確保元數據的完整性和正確性 。例如,檢查鏡像的名稱是否符合規范,磁盤格式和容器格式是否被支持等。

驗證通過后,Glance API會將鏡像數據轉發給Swift存儲服務 。Swift會依據自身的分布式存儲架構,將鏡像數據分割成多個對象,并計算每個對象的哈希值,以確保數據的完整性和一致性 。這些對象會被分散存儲到多個存儲節點上,通過冗余存儲機制,通常會在不同的存儲節點上創建多個副本,如三個副本,以提高數據的可靠性和容錯性 。

在存儲過程中,Swift會為每個存儲的鏡像對象分配一個唯一的標識符,這個標識符包含了對象的存儲位置信息等關鍵內容 。Glance Registry會將鏡像的元數據(如鏡像名稱、大小、格式、創建時間、存儲位置標識符等)存儲到MySQL等關系型數據庫中 。這樣,當需要查詢或檢索鏡像時,Glance API可以通過查詢Glance Registry獲取鏡像的元數據,進而根據元數據中的存儲位置信息,從Swift存儲服務中準確地獲取鏡像數據 。

3.3.2 鏡像檢索流程

當用戶或其他OpenStack組件(如Nova在創建虛擬機時)請求檢索鏡像時,首先會向Glance API發送包含查詢條件的請求 。這些查詢條件可以是鏡像的名稱、ID、狀態,或者特定的元數據屬性等 。例如,Nova在創建虛擬機時,會根據用戶指定的鏡像名稱或ID,向Glance API發送檢索請求。

Glance API接收到請求后,會對請求進行解析,并將查詢請求轉發給Glance Registry 。Glance Registry會在其管理的數據庫中,依據查詢條件進行精確的檢索 。若查詢條件為鏡像名稱,Glance Registry會在數據庫的鏡像元數據記錄表中,查找名稱匹配的記錄 。如果查詢條件涉及多個屬性,如查找所有處于“active”狀態且操作系統為Ubuntu的鏡像,Glance Registry會執行相應的SQL查詢語句,從數據庫中篩選出符合條件的鏡像元數據記錄 。

找到匹配的鏡像元數據后,Glance Registry會將這些元數據返回給Glance API 。Glance API再根據元數據中的存儲位置信息,與相應的存儲后端(如Swift)進行交互 。若存儲后端為Swift,Glance API會依據存儲位置標識符,從Swift中獲取鏡像數據 。Swift會從其存儲節點中讀取鏡像對象的數據,并將這些數據返回給Glance API 。

最終,Glance API會將檢索到的鏡像數據返回給請求的用戶或組件 。在這個過程中,如果檢索過程中出現任何錯誤,如鏡像不存在、存儲后端無法訪問等,Glance API會返回相應的錯誤信息,告知請求方檢索失敗的原因 。

四、計算管理

4.1 定義與目標

在 OpenStack 生態體系中,計算管理由 Nova 組件負責,它是計算資源管理的核心模塊。其職責是對虛擬機實例全生命周期進行管理,包括創建、啟動、監控、調整、停止和刪除等操作,同時合理分配與調度計算節點資源。技術實現上,Nova 構建了強大靈活的 API 體系,兼容 OpenStack 原生 Compute API 與 Amazon EC2 API,方便用戶通過命令行或 Web 管理界面與之交互,處理各類虛擬機操作請求。

計算管理的目標一是實現計算資源高效利用,通過智能調度算法,依據計算節點負載、虛擬機需求和用戶優先級等因素,將虛擬機精準分配到合適節點,避免資源浪費。二是保障虛擬機性能穩定,實時監控運行狀態,一旦性能異常波動,如 CPU 使用率過高或內存不足,就迅速采取資源調整或遷移等措施。三是致力于彈性擴展與收縮,業務高峰期快速創建新虛擬機實例滿足需求,業務量下降時回收閑置資源,降低運營成本,以電商促銷活動期間云平臺的資源調整為例,就能很好體現這一目標 。

4.2 架構分析

4.2.1 Nova計算服務架構

Nova架構精妙復雜,由多個緊密協作的子組件構成,共同實現強大的計算資源管理功能。

在這里插入圖片描述

  • nova - api:作為對外唯一接口,接收處理用戶和其他組件的API請求,兼容OpenStack原生Compute API與Amazon EC2 API,降低用戶遷移成本。會對請求進行合法性檢查,通過后轉發給后續組件。
  • nova - scheduler:負責資源調度,依據計算節點負載、虛擬機需求、用戶優先級等因素,用預設算法挑選最合適的節點運行虛擬機。
  • nova - compute:是管理虛擬機的核心服務,運行在計算節點上,與Hypervisor交互,實現虛擬機全生命周期管理,為其提供穩定運行環境。
  • nova - conductor:充當數據訪問代理,nova - compute通過它查詢和更新數據庫中的虛擬機信息,在大規模集群中可水平擴展,提升性能和可靠性。
  • nova - console等組件:共同提供虛擬機控制臺訪問功能。nova - consoleauth負責Token認證,nova - cert提供x509證書支持,用戶可通過nova - novncproxy等方式連接控制臺 。
4.2.2 資源調度架構

在計算資源調度方面,Nova通常采用基于消息隊列的架構模式,其中RabbitMQ是常用的消息隊列系統 。這種架構模式的工作原理是,當用戶發起創建虛擬機等涉及資源調度的請求時,nova-api首先接收請求,并對其進行初步處理和驗證。若請求合法,nova-api會將請求消息發送到RabbitMQ消息隊列中 。

nova-scheduler作為消息的消費者,會持續監聽RabbitMQ消息隊列 。一旦它接收到來自nova-api的請求消息,便會啟動調度算法。調度算法首先通過一系列過濾器對計算節點進行篩選。例如,RetryFilter用于處理調度失敗后的重試邏輯,確保請求不會因為一時的故障而被丟棄;AvailabilityZoneFilter根據可用區域的設置,篩選出符合條件的計算節點;RAMFilter、DiskFilter、CoreFilter等則分別從內存、磁盤、CPU核心數等資源維度進行過濾,篩選出資源滿足虛擬機需求的計算節點 。

在通過過濾器篩選出一批候選計算節點后,nova-scheduler會采用權重計算的方式,對這些候選節點進行進一步評估 。根據計算節點的資源剩余量、負載情況、與虛擬機需求的匹配程度等因素,為每個候選節點計算一個權重值。例如,資源剩余量多、負載低的計算節點會被賦予較高的權重值。最終,nova-scheduler會選擇權重值最高的計算節點作為目標節點,并將調度結果通過RabbitMQ消息隊列發送給nova-compute 。

nova-compute在接收到來自nova-scheduler的調度結果消息后,會在指定的計算節點上,調用Hypervisor的API來創建和啟動虛擬機實例 。在這個過程中,若nova-compute需要查詢或更新數據庫中的虛擬機相關信息,它會通過RabbitMQ消息隊列與nova-conductor進行通信,由nova-conductor完成對數據庫的操作 。

這種基于消息隊列的資源調度架構,具有良好的解耦性和擴展性。不同組件之間通過消息隊列進行通信,避免了直接的耦合,使得各個組件可以獨立發展和升級。消息隊列還能夠有效地緩沖請求,在高并發情況下,保證系統的穩定性和可靠性。隨著計算節點數量的增加和業務規模的擴大,通過增加nova-scheduler和nova-compute的實例數量,就可以輕松實現資源調度系統的水平擴展 。

4.3 原理與流程

4.3.1 虛擬機創建原理

在OpenStack中,虛擬機的創建涉及多個組件的緊密協作,其核心原理是將用戶的請求轉化為對物理計算資源的合理分配與配置。當用戶發起創建虛擬機的請求時,首先會通過Horizon界面或命令行工具將請求發送至nova-api組件 。nova-api在接收到請求后,會對請求進行嚴格的合法性檢查,包括驗證請求參數是否完整、格式是否正確等。若請求通過驗證,nova-api會將請求信息轉發給nova-scheduler組件 。

在這里插入圖片描述

nova-scheduler會根據一系列復雜的調度算法,從眾多計算節點中篩選出最適合運行該虛擬機的節點。這些調度算法綜合考慮了多個因素,如計算節點的資源負載情況,包括CPU使用率、內存剩余量、磁盤空間等;虛擬機的資源需求,如指定的CPU核心數、內存大小、磁盤容量等;以及用戶的優先級等 。在某企業的云平臺中,若有一個對計算性能要求較高的虛擬機創建請求,nova-scheduler會優先選擇那些CPU性能強勁且當前負載較低的計算節點。

一旦確定了目標計算節點,nova-scheduler會將調度結果發送給該節點上的nova-compute組件 。nova-compute在接收到創建虛擬機的指令后,會與該節點上的Hypervisor進行交互。以KVM虛擬化技術為例,nova-compute會調用KVM的API來創建虛擬機實例 。在這個過程中,nova-compute會根據用戶指定的鏡像信息,從Glance鏡像服務中獲取相應的虛擬機鏡像 。Glance會將鏡像數據傳輸給nova-compute,nova-compute再將鏡像數據加載到目標計算節點的存儲設備中,為虛擬機的啟動做好準備 。

nova-compute還會為虛擬機配置網絡和存儲資源。它會與Neutron網絡服務進行交互,為虛擬機分配IP地址、設置網絡接口等,確保虛擬機能夠接入網絡 。在存儲方面,若用戶為虛擬機指定了額外的存儲卷,nova-compute會與Cinder塊存儲服務協作,將存儲卷掛載到虛擬機上,滿足用戶的數據存儲需求 。

4.3.2 計算資源調度流程

計算資源調度流程是一個復雜而有序的過程,旨在確保計算資源能夠被高效、合理地分配給虛擬機。用戶通過OpenStack的客戶端(如Horizon或命令行工具)向nova-api發送創建虛擬機或調整虛擬機資源的請求 。nova-api在接收到請求后,會對請求進行初步處理,包括驗證請求的合法性、解析請求參數等。若請求不合法,nova-api會返回相應的錯誤信息給用戶 。

nova-api將處理后的請求消息發送到RabbitMQ消息隊列中 。RabbitMQ作為消息的中轉站,負責將請求消息可靠地傳遞給nova-scheduler。nova-scheduler持續監聽RabbitMQ消息隊列,一旦接收到請求消息,便會啟動調度算法 。

調度算法首先通過一系列過濾器對計算節點進行篩選。RetryFilter用于處理調度失敗后的重試邏輯,確保請求不會因為一時的故障而被丟棄 。AvailabilityZoneFilter根據可用區域的設置,篩選出符合條件的計算節點,例如,用戶可能指定虛擬機要創建在某個特定的可用區域內,該過濾器會根據這一條件篩選出該區域內的計算節點 。RAMFilter、DiskFilter、CoreFilter等則分別從內存、磁盤、CPU核心數等資源維度進行過濾,篩選出資源滿足虛擬機需求的計算節點 。例如,若虛擬機需要8GB內存、100GB磁盤空間和4個CPU核心,這些過濾器會篩選出內存大于8GB、磁盤空間大于100GB且CPU核心數不少于4個的計算節點 。

在通過過濾器篩選出一批候選計算節點后,nova-scheduler會采用權重計算的方式,對這些候選節點進行進一步評估 。根據計算節點的資源剩余量、負載情況、與虛擬機需求的匹配程度等因素,為每個候選節點計算一個權重值 。例如,資源剩余量多、負載低的計算節點會被賦予較高的權重值;與虛擬機需求匹配度高的節點,如CPU架構與虛擬機所需的計算類型更適配的節點,也會獲得較高的權重值 。最終,nova-scheduler會選擇權重值最高的計算節點作為目標節點,并將調度結果通過RabbitMQ消息隊列發送給nova-compute 。

nova-compute在接收到來自nova-scheduler的調度結果消息后,會在指定的計算節點上,調用Hypervisor的API來創建和啟動虛擬機實例 。在這個過程中,若nova-compute需要查詢或更新數據庫中的虛擬機相關信息,它會通過RabbitMQ消息隊列與nova-conductor進行通信,由nova-conductor完成對數據庫的操作 。例如,當虛擬機創建成功后,nova-compute會通過nova-conductor將虛擬機的狀態信息更新到數據庫中,以便后續的管理和監控 。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/66332.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66332.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66332.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

RK3568 Android11 鎖屏界面屏蔽下拉狀態欄

參考文章: Android R鎖屏界面屏蔽下拉狀態欄_pulseexpansionhandler-CSDN博客 前提增加狀態欄控制顯隱屬性,以下面文章為前提補充功能 RK3568 Android11 狀態欄和導航欄增加顯示控制功能-CSDN博客 修改文件位置: frameworks/base/package…

彩色圖像面積計算一般方法及MATLAB實現

一、引言 在數字圖像處理中,經常需要獲取感興趣區域的面積屬性,下面給出圖像處理的一般步驟。 1.讀入的彩色圖像 2.將彩色圖像轉化為灰度圖像 3.灰度圖像轉化為二值圖像 4.區域標記 5.對每個區域的面積進行計算和顯示 二、程序代碼 %面積計算 cle…

分布式理解

分布式 如何理解分布式 狹義的分布是指,指多臺PC在地理位置上分布在不同的地方。 分布式系統 分布式系**統:**多個能獨立運行的計算機(稱為結點)組成。各個結點利用計算機網絡進行信息傳遞,從而實現共同的“目標或者任…

深入了解卷積神經網絡(CNN):圖像處理與深度學習的革命性技術

深入了解卷積神經網絡(CNN):圖像處理與深度學習的革命性技術 導語 卷積神經網絡(CNN)是現代深度學習領域中最重要的模型之一,特別在計算機視覺(CV)領域具有革命性的影響。無論是圖…

QT:IconButton的動畫效果

要實現IconButton,需要處理背景。參考: QT之IconWidget-CSDN博客 隨后就是Button的按下動畫效果。實現也簡單。思路就是記錄按下狀態,然后在繪制時偏移一個像素(也可以繪制另外一個圖)。 增加一個字段,記…

Android渲染Latex公式的開源框架比較

對比主流框架,介紹如下幾款 1、AndroidMath 官網:https://github.com/gregcockroft/AndroidMath/tree/master 基于android原生view方式渲染 優點:速度快,開源協議 MIT license 缺點:不支持文字公式混合渲染 2、Ma…

Red Hat8:搭建FTP服務器

目錄 一、匿名FTP訪問 1、新建掛載文件 2、掛載 3、關閉防火墻 4、搭建yum源 5、安裝VSFTPD 6、 打開配置文件 7、設置配置文件如下幾個參數 8、重啟vsftpd服務 9、進入圖形化界面配置網絡 10、查看IP地址 11、安裝ftp服務 12、遇到拒絕連接 13、測試 二、本地…

VS Code--常用的插件

原文網址:VS Code--常用的插件_IT利刃出鞘的博客-CSDN博客 簡介 本文介紹VS Code(Visual Studio Code)常用的插件。 插件的配置 默認情況下,插件會放到這里:C:\Users\xxx\.vscode\extensions 修改插件位置的方法 …

Re78 讀論文:GPT-4 Technical Report

諸神緘默不語-個人CSDN博文目錄 諸神緘默不語的論文閱讀筆記和分類 論文全名:GPT-4 Technical Report 官方博客:GPT-4 | OpenAI appendix懶得看了。 文章目錄 1. 模型訓練過程心得2. scaling law3. 實驗結果減少風險 1. 模型訓練過程心得 模型結構還…

推薦單通道有刷直流電機驅動芯片AT8236

單通道直流有刷電機驅動芯片AT8236 描述應用特點型號選擇典型應用原理圖管腳列表推薦工作條件 atT A 25C電氣特性 atT A 25C,V M 24VH橋控制電流控制死區時間休眠模式過流保護 (OCP)過溫保護 (TSD)欠壓鎖定保護(UVLO) PCB 版圖建議典型應用示例 描述 AT8236是一款直流有刷電機…

聚銘網絡6款產品入選CCIA《網絡安全專用產品指南》

近日,中國網絡安全產業聯盟CCIA正式發布《網絡安全專用產品指南》(第二版)(以下簡稱《指南》)。聚銘網絡憑借突出技術優勢、創新能力以及市場積累,旗下安全產品成功入選防火墻、網絡安全審計、日志分析、網…

將 AzureBlob 的日志通過 Azure Event Hubs 發給 Elasticsearch(1)

問題 項目里使用了 AzureBlob 存儲了用戶上傳的各種資源文件,近期 AzureBlob 的流量費用增長很快,想通過分析Blob的日志,獲取一些可用的信息,所以有了這個需求:將存儲賬戶的日志(讀寫,審計&…

ESP32S3基于espidf接入網絡獲取NTP時間

ESP32S3基于espidf接入網絡獲取NTP時間 📌 相關篇《ESP32S3基于espidf接入網絡配置介紹》📍官方相關SNTP 時間同步介紹文檔:https://docs.espressif.com/projects/esp-idf/zh_CN/stable/esp32/api-reference/system/system_time.html?highli…

性能測試 - Locust WebSocket client

Max.Bai 2024.10 0. 背景 Locust 是性能測試工具,但是默認只支持http協議,就是默認只有http的client,需要其他協議的測試必須自己擴展對于的client,比如下面的WebSocket client。 1. WebSocket test Client “”“ Max.Bai W…

【藍橋杯選拔賽真題63】C++奇數 第十四屆藍橋杯青少年創意編程大賽 算法思維 C++編程選拔賽真題解

目錄 C++奇數 一、題目要求 1、編程實現 2、輸入輸出 二、算法分析 三、程序編寫 四、運行結果 五、考點分析 七、推薦資料 C++奇數 第十四屆藍橋杯青少年創意編程大賽C++選拔賽真題 一、題目要求 1、編程實現 給定兩個正整數N和M(10≤N<M≤10000),請找出N到M…

KubeSphere 與 Pig 微服務平臺的整合與優化:全流程容器化部署實踐

一、前言 近年來,為了滿足越來越復雜的業務需求,我們從傳統單體架構系統升級為微服務架構,就是把一個大型應用程序分割成可以獨立部署的小型服務,每個服務之間都是松耦合的,通過 RPC 或者是 Rest 協議來進行通信,可以按照業務領域來劃分成獨立的單元。但是微服務系統相對…

(學習總結20)C++11 可變參數模版、lambda表達式、包裝器與部分新內容添加

C11 可變參數模版、lambda表達式、包裝器與部分新內容添加 一、可變參數模版基本語法及原理包擴展emplace系列接口 二、lambda表達式lambda表達式語法捕捉列表lambda的原理lambda的應用 三、包裝器bindfunction 四、部分新內容添加新的類功能1.默認的移動構造和移動賦值2.聲明時…

Linux的常用命令(一)

目錄 一、文件處理命令 1.文件處理命令ls 2.文件處理命令cd 3.文件處理命令pwd 4.文件處理命令touch 5.文件處理命令mkdir 6.文件處理命令cp 7.文件處理命令mv 8.文件處理命令rm 9.文件處理命令cat 10.文件處理命令more 11.文件處理命令head 12.文件處理命令tail …

東芝e-STUDIO2829A復印機提示“維護”該如何操作

東芝e-STUDIO2829A復印機基本參數: 產品類型 數碼復合機 顏色類型 黑白 涵蓋功能 復印/打印/掃描 最大原稿尺寸 A3 處 理 器 500MHz 內存容量 標配:512MB,選配:1GB 供紙容量 標配紙盒:350頁(A4),最大容…

春秋杯-WEB

SSTI 可以看到主頁那里有個登錄測試之后為ssti {{4*4}} fenjing梭哈即可得到payload {{((g.pop.__globals__.__builtins__.__import__(os)).popen(cat flag)).read()}}file_copy 看到題目名字為file_copy&#xff0c; 當輸入路徑時會返回目標文件的大小&#xff0c; 通…