讀古今文學網 > OpenStack系統架構設計實戰 > 第2章 計算管理(Nova) >

第2章 計算管理(Nova)

2.1 概述

Nova是一套控制器,用於為單個用戶或使用群組啟動虛擬機實例。OpenStack Compute在公有雲處理方面堪與Amazon EC2相提並論;而在私有雲方面也毫不遜色於VMware的產品。在公有雲中,這套管理機制將提供預制的鏡像、為用戶創建的鏡像提供存儲機制,這樣用戶就能夠將鏡像以虛擬機的形式啟動。

OpenStack中實例的整個生命週期中的所有行為都由Nova處理,Nova管理計算資源的創建、銷毀、掛起、遷移等各種功能。但是Nova自身並不提供任何虛擬化能力,而是使用支持Hypervisor的API來提供。Nova支持兩套API接口來暴露其功能,一套是其自定義的API接口,另一套是兼容EC1-API的接口。

Nova含有多個組件,而且根據不同版本組件有不同的變化。常見的有nova-api(一個HTTP服務,用於接收外部發送的請求),nova-compute(Nova核心服務,處理實例的創建、銷毀、啟動、暫停等生命週期管理),nova-scheduler(Nova調度服務,決定nova-api收到的請求,往哪個nova-compute上轉送),nova-conductor(G版本開始增加的服務,主要是封裝了數據庫操作,作為Nova組件訪問數據庫的中間層,解決其他組件和數據庫的耦合問題),nova-cert(管理證書,用於兼容AWS),nova-console、nova-consoleauth、nova-vncproxy(這3個是負責實例控制台輸出服務),nova-objectstore(模擬對像存儲接口,用於在實驗環境中存儲鏡像,在D版本中被Glance替代),nova-volume(卷管理服務,現在被Cinder替代),nova-network(Nova網絡管理服務,現在被Neutron替代,但是由於Neutron過於複雜和不穩定,在一個簡單的環境中,往往nova-network更有用)。

隨著OpenStack的發展,Nova本身也發展得較為臃腫,但是無論怎麼演進,其基本運行原理是一致的。老版本的Nova運行更簡單明瞭,為了將Nova的運行原理描述得更清楚一些,本章的有些內容基於老版本的Nova來講解。