您好,登錄后才能下訂單哦!
Compute Service Nova 是 OpenStack 最核心的服務,負責維護和管理云環境的計算資源。
OpenStack 作為 IaaS 的云操作系統,虛擬機生命周期管理也就是通過 Nova 來實現的。
在上圖中可以看到,Nova 處于 Openstak 架構的中心,其他組件都為 Nova 提供支持:
Glance 為 VM 提供 p_w_picpath
Cinder 和 Swift 分別為 VM 提供塊存儲和對象存儲
Neutron 為 VM 提供網絡連接
Nova 架構如下
Nova 的架構比較復雜,包含很多組件。
這些組件以子服務(后臺 deamon 進程)的形式運行,可以分為以下幾類:
nova-api
接收和響應客戶的 API 調用。
除了提供 OpenStack 自己的API,nova-api 還支持 Amazon EC2 API。
也就是說,如果客戶以前使用 Amazon EC2,并且用 EC2 的 API 開發了些工具來管理虛機,那么如果現在要換成 OpenStack,這些工具可以無縫遷移到 OpenStack,因為 nova-api 兼容 EC2 API,無需做任何修改。
nova-scheduler
虛機調度服務,負責決定在哪個計算節點上運行虛機
nova-compute
管理虛機的核心服務,通過調用 Hypervisor API 實現虛機生命周期管理
Hypervisor
計算節點上跑的虛擬化管理程序,虛機管理最底層的程序。
不同虛擬化技術提供自己的 Hypervisor。
常用的 Hypervisor 有 KVM,Xen, VMWare 等
nova-conductor
nova-compute 經常需要更新數據庫,比如更新虛機的狀態。
出于安全性和伸縮性的考慮,nova-compute 并不會直接訪問數據庫,而是將這個任務委托給 nova-conductor,這個我們在后面會詳細討論。
nova-console
用戶可以通過多種方式訪問虛機的控制臺:
nova-novncproxy,基于 Web 瀏覽器的 VNC 訪問
nova-spicehtml5proxy,基于 HTML5 瀏覽器的 SPICE 訪問
nova-x***vncproxy,基于 Java 客戶端的 VNC 訪問
nova-consoleauth
負責對訪問虛機控制臺請親提供 Token 認證
nova-cert
提供 x509 證書支持
Nova 會有一些數據需要存放到數據庫中,一般使用 MySQL。 數據庫安裝在控制節點上。 Nova 使用命名為 “nova” 的數據庫。
在前面我們了解到 Nova 包含眾多的子服務,這些子服務之間需要相互協調和通信。 為解耦各個子服務,Nova 通過 Message Queue 作為子服務的信息中轉站。 所以在架構圖上我們看到了子服務之間沒有直接的連線,它們都通過 Message Queue 聯系。
OpenStack 默認是用 RabbitMQ 作為 Message Queue。
MQ 是 OpenStack 的核心基礎組件,我們后面也會詳細介紹。
下一節我們討論這些 Nova 組件如何協調工作。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。