讀古今文學網 > OpenStack系統架構設計實戰 > 1.3.2 創建OpenStack虛擬機實例 >

1.3.2 創建OpenStack虛擬機實例

在Dashboard左側導航欄中,選擇「項目」→Instances,然後單擊Launch Instance,便可通過圖形界面方式來創建虛擬機,如圖1-11所示。

圖1-11 創建虛擬機界面

當單擊Launch Instance時,會彈出模態窗口,在此可進行創建實例的具體配置,包括實例的細節(Detail)、訪問和安全(Access&Security)、磁盤配置(Volume Option),以及實例啟動後的自定義初始化腳本(Post-Creation)。

實例細節的配置包括了實例的來源類型(鏡像文件或快照文件)、鏡像模板、實例名、套餐、創建實例個數。右側還列出了更詳細的信息,供管理員3種當前實例的創建對整個項目有何影響。

訪問和安全包括虛擬機SSH密鑰的設置及安全組的設置。磁盤配置可以讓用戶選擇是否在卷存儲上進行虛擬機的啟動引導(Boot)。自定義初始化腳本主要是實例在啟動後,可以運行一些用戶自定義的腳本。除了實例的細節設置,如果沒有特殊需求,其他設置默認即可。當確認一切設置無誤後,可以單擊Launch按鈕進行實例創建。

創建OpenStack虛擬機實例前有很多先決條件,如Horizon本身能正常運行並對外提供創建服務;建立在OpenStack三個核心組件之上等。這3個核心組件是Keystone、Glance、Nova。Keystone負責授權認證、租戶管理、項目權限和配額以及服務目錄管理。Glance負責為Nova提供創建實例所需要的鏡像文件,這種鏡像文件可以包含很多格式,大多數都是常見的鏡像格式,如raw、qcow2。Nova負責虛擬機生命週期的管理,以及宿主機資源調度。Nova還決定了虛擬機實例建立在哪一台Hypervisor物理機之上。由這3個核心組件協作,Horizon將用戶的HTTP請求轉換為RESTful請求,然後將RESTful請求分發給Nova API,進行實例創建。當創建後,虛擬機實例會進入Build狀態,任務狀態將是Spawning。這期間會將鏡像文件從Glance下載到Nova節點,並進行一些虛擬機的配置。當一切正常後,虛擬機將會進入Active狀態,此時用戶可以享受「雲」帶來的便捷。創建所需的時間一般由創建實例的鏡像文件大小、傳輸鏡像圖帶寬,以及創建的Hypervisor磁盤性能來決定。有時創建過程會持續5~10min。

Horizon並不是唯一可以管理虛擬機的用戶界面。OpenStack還有基於Python的CLI,虛擬機創建之後可以通過nova-client進行管理。通過命令行輸入Nova list,可以看到所有OpenStack實例的運行情況,以及實例相應的信息。後面在講解Nova組件時,將詳細講解各種命令的操作及命令之間的關聯關係,以及如何實現自定義命令、命令行擴展,還有如何運用好一系列OpenStack命令來進行日常的管理、運維操作。

當虛擬機創建成功後,雙擊虛擬機名,進入這個虛擬機視圖進行詳細觀察,如圖1-12所示。可以看到標籤頁,包括概覽(Overview)、日誌(Log)、控制台(Console)。概覽中可以看到虛擬機的一系列詳細信息。日誌中可以看到虛擬機當前的啟動引導日誌,不用登錄虛擬機就可以看到虛擬機的引導情況,可檢查是否有錯誤或者異常發生。通過控制台界面可以對虛擬機進行操作。這是一個VNC控制台,不必像以前使用虛擬機那樣,登錄到Hypervisor端配置VNC端口信息,然後再通過VNC Client登錄管理虛擬機。OpenStack將這些日常操作抽像出來,進行自動化,整個過程無須用戶進行任何配置,當構建好OpenStack雲後,剩下的事就交給OpenStack來做。

圖1-12 虛擬狀態展示

單擊More按鈕,可以進行更多的操作,可以對虛擬機實例進行一些操作,這些操作包括啟動、停止、掛起、激活、快照、遷移、備份、診斷、恢復、重建、銷毀等一系列虛擬機生命週期管理。這些操作都由Nova提供,部分操作會有其他組件參與。對於OpenStack這樣的一個分佈式系統,完成一件事,基本上都會涉及一系列的組件。這些組件協同工作,在「雲」中扮演著各種角色。之後我們將具體探討這些組件在OpenStack中扮演什麼樣的角色,哪些組件必不可少,以及如何通過各種組件的排列組合來組建合適的「雲」。