讀古今文學網 > OpenStack系統架構設計實戰 > 第7章 裸機管理(Ironic) >

第7章 裸機管理(Ironic)

7.1 裸機管理通用技術

目前裸機管理通用技術主要包含PXE、IPMI等,各類上層的裸機管理軟件都需要集成和使用PXE、IPMI等通用技術。將PXE和IPMI技術結合使用,能夠方便地控制裸機上電,然後通過網絡進行操作系統的安裝。常見的開源軟件有Cobbler、Foreman、Compass等。

1.PXE

PXE(Preboot Execute Environment,預啟動執行環境)是由Intel公司開發的、基於網絡加載啟動操作系統的一種技術。它採用Client/Server的模式,支持工作站通過網卡啟動後從網絡下載操作系統鏡像並進行安裝。安裝過程為先通過網絡DHCP獲取IP地址,然後通過TFTP或MTFTP協議下載啟動包到本機內存中執行,從而完成相關的基本配置以及操作系統的安裝。

2.IPMI

IPMI(Intelligent Platform Management Interface,智能平台管理接口)是管理基於Intel結構的企業系統中所使用的外圍設備採用的一種工業標準。用戶可以通過IPMI來監視服務器的物理健康特徵,如溫度、電壓、電源狀態等,也可以遠程控制服務器的開關機等。

3.Cobbler

Cobbler是一款基於PXE和IPMI技術的操作系統安裝軟件,同時其集成了kickstart模板管理和對DHCP等服務的管理等。基本功能包括操作系統鏡像的導入和管理、服務器電源管理、操作系統靜默安裝應答文件的編輯及配置等。通過Cobbler,操作系統的安裝變得更加簡單,並且可以通過簡單的命令配置每台服務器待安裝的操作系統類型及安裝後的IP、主機名等信息,同時通過集成kickstart腳本,能夠在操作系統安裝前後進行自定義腳本執行動作。IPMI的集成也使Cobbler能夠方便地控制服務器上電來開始安裝。Cobbler具有命令和網頁兩種模式可供使用,兩種模式都可以方便地完成操作系統安裝等相關操作。命令模式相對功能更加全面;而網頁模式則更加簡單直觀,網頁模式最終也是通過命令的模式來實現的。

4.Foreman

Foreman是一個集成的數據中心生命週期管理工具,提供了服務開通、配置管理以及報告功能。與Puppet Dahboard一樣,Foreman也是一個Ruby on Rails程序,通過它可以很直觀地查看Puppet所有客戶端的同步狀態與facter參數。Foreman和Dashboard的不同之處在於,Foreman更多地關注服務開通和管理數據中心的能力,如與引導工具,PXE啟動服務器(集成了kickstart),DHCP服務器及服務器開通工具進行集成。其在裸機管理方面的功能與Cobbler非常相似,通常也是基於DHCP分配IP後,通過PXE和KS模板來安裝操作系統。只是Foreman在功能上更加豐富,具備了一些Cobbler不具備的功能。但在裸機管理上,兩者在底層使用的技術非常相像。

5.Compass

Compass是一個開源項目,用於OpenStack的部署和管理。Compass本身是一個分佈式系統,提供數據建模、配置API和WebUI,供最終用戶來定義數據中心基礎設施。Compass基於現代軟件體系結構設計,具有模塊化特徵和良好的可擴展性。

Compass的主要組件包括:

1)基於Python語言開發的具備REST接口的服務器。

2)演示REST接口的Web UI,它是一個基於AngularJS開發的純JavaScript Web應用。第三方應用基於相同的API可以開發出不同的UI。

3)元數據模塊,允許開發人員擴展OpenStack配置的核心功能,並提供自定義數據模型配置,例如,有沒有HA,單一控制器對多節點等。REST接口層基於元數據提供了自動更新的API。在調用API的地方不需要更改任何代碼。

4)資源自動發現的適配接口。目前的發現機制是通過標準SNMP協議的MIB庫查詢TOR交換機。其他機制(如IPMI或Intel的下一代RSA)可以通過添加插件來實現。

5)配置管理工具適配接口。目前支持基於Chef和Ansible的配置管理工具。其他機制(如Puppet)可以通過插件方式實現。

Compass隱藏啟動文件或種子文件的配置細節,並提供友好的操作系統配置界面。