詳解ZStack高級功能--裸金屬服務部署實踐

做者:ZStack社區 秦偉html

 

1、前言前端

今天咱們來了解一下ZStack的裸金屬,提到裸金屬服務,不少人從字面上可能對其不是很瞭解,其實早在以前的私有云OpenStack平臺,就已經推行了Ironic裸金屬服務,並且在去年的最新Rocky版本中,更是對裸金屬服務進行了增強。於此同時的ZStack在2.6.0版本,也推出裸金屬納管服務。那麼這使人注目的裸金屬服務到底是什麼呢?數據庫

首先讓咱們來了解一下裸金屬服務的由來,近年來因爲國內外雲計算市場的快速發展,許多企業紛紛將自身業務遷至雲端。再也不將業務部署在本身自身的機房環境中,這樣帶來的好處就是省去了一部分的人工維護成本,轉而由第三方雲供應商來提供基礎環境。緩存

並且通常來講硬件資源在不少狀況下是沒有被充分利用的,好比咱們平常在使用本身的電腦時,實質上就是在使用它的CPU、內存、以及在硬盤上運行的操做系統等。當咱們查看這些資源的使用率時,一般會發現,CPU和內存大部分是閒置的。特別是CPU,其利用率一般不到10%。那麼,有沒有可能不讓一個操做系統單獨控制一臺機器,而是在一臺機器上安裝多個操做系統,而且讓它們同時地運行,把被閒置的資源利用起來呢?答案是有,相信不少人都曾經在本身的Windows電腦上安裝VMware workstation,而且安裝了多個虛擬機,每一個虛擬機都擁有本身的操做系統,它們能夠同時運行,而且不互相干擾,就實現了本身硬件電腦的虛擬化,能夠把一臺物理服務器虛擬化爲多臺虛擬服務器。因此說,這種經過管理程序(VMware workstation等)把硬件的機器、同操做系統分開的過程,就是虛擬化。當咱們將業務運行在雲端時,能夠作到按需求選取最合適的規模,將資源的利用率使用到最大。這些資源不只僅包括CPU、內存、操做系統,還包括網絡,ip,安全組等。安全

可是,並非全部業務都適合在雲端虛擬機上運行的,好比一些高性能的計算任務,若是運行在虛擬機上,就達不到在物理機上的效果。因而就須要裸金屬服務,簡單來講,裸金屬服務就是爲應用提供專屬的物理服務器,保障核心應用的高性能和穩定性。ZStack早在2.6.0版本,在高級功能中以單獨的功能模塊形式,推出了裸金屬服務。支持自定義安裝操做系統,並提供裸金屬主機的全生命週期管理。裸金屬服務在如下幾個方面擁有巨大優點:服務器

1,高性能計算;網絡

2,沒法使用虛擬化的計算任務;運維

3,數據庫主機;性能

4,單租戶、專用硬件、安全性、可靠性以及其它需求;雲計算

 

2、ZStack裸金屬服務概述

ZStack做爲一套產品化創新開源雲計算IaaS平臺,它能夠爲企業用戶提供私有云和混合雲服務,當咱們在ZStack中部署裸機,用到的就是ZStack的高級功能-裸金屬服務,即直接控制物理機進行硬件部署操做,咱們通常熟知的虛擬機(宿主型)是經過Hypervisor來部署的。以下圖,Hypervisor是一種運行在物理服務器和操做系統之間的中間軟件層,可容許多個操做系統和應用共享一套基礎物理硬件,所以也能夠看做是虛擬環境中的"元"操做系統,它能夠協調訪問服務器上的全部物理設備和虛擬機,也叫虛擬機監視器VMM(Virtual Machine Monitor)。當服務器啓動並執行Hypervisor時,它會給每一臺虛擬機分配適量的內存、CPU、網絡和磁盤,並加載全部虛擬機的客戶操做系統。

相比之下,裸金屬服務就是傳統形式,直接將OS部署在Hardware上,沒有VMM這一層的損耗,性能更加優秀。

裸金屬服務的優點不言而喻,如今的各大公有云廠商也紛紛推出了本身的裸金屬服務,做爲私有云的ZStack也不甘示弱。如今咱們暫時不考慮以後裸金屬部署後的性能優點,單從部署方面來講,如何像部署虛擬機同樣去部署物理機呢?

ZStack可爲應用提供專屬的物理服務器,保障核心應用的高性能和穩定性。它能夠直接對物理機執行節點級別管理,進行物理機節點的添加、刪除,進行電源管理,部署系統等操做。在完成基本的服務器上架以及相關準備工做後,(注意這裏的相關準備工做,是咱們是否能順利控制裸金屬設備的關鍵前提,後面會詳細介紹),管理員可在UI界面批量部署裸金屬設備,部署完成後可以使用裸金屬設備建立裸金屬主機,支持自定義安裝操做系統,並對裸金屬主機進行全生命週期管理。

簡單來講,咱們在這裏能夠認爲裸金屬服務,就是爲服務器裸機安裝相應的操做系統,而且獲取其配置信息,最後實現對裸金屬主機的生命週期控制,好比:開關機重啓等操做。並且對於整個操做過程而言,前提只須要服務器主機有網絡而且通電就能夠。

 

3、ZStack裸金屬服務基本原理

裸金屬管理服務的基本原理是:PXE服務器提供DHCP服務和TFTP服務,指示多臺裸金屬設備由PXE網卡啓動並分配動態IP,裸金屬設備從PXE服務器中下載相關軟件包,用於裸金屬主機的系統安裝。

裸金屬管理網絡拓撲所示:(官方)

  1. 管理節點與管理網絡(Management Node):需提早規劃管理網絡,要求鏡像倉庫、PXE服務器均與管理節點連通。管理節點做爲安裝系統的物理主機,提供ZStack的UI管理、雲平臺部署功能。通常是安裝ZStackiso鏡像的主機,經過前端的dashboard界面,進行圖形化管理。
  2. 鏡像倉庫:也位於管理網絡網段之下,爲裸機(可認爲沒有安裝操做系統的新機器)提供多種操做系統鏡像文件。在ZStack中,鏡像支持本地與URL導入。
  3. PXE(preboot execute environment,預啓動執行環境),支持經過網絡從遠端服務器下載映像,並由此支持經過網絡啓動操做系統,在啓動過程當中,終端要求服務器分配IP地址,再用TFTP服務協議下載一個啓動軟件包到本機內存中執行,由這個啓動軟件包完成終端(客戶端)基本軟件設置,從而引導預先安裝在服務器中的終端操做系統。PXE能夠引導多種操做系統。

能夠歸納認爲ZStack的PXE服務器包含二大功能:其一就是DHCP服務(指示多臺裸金屬設備由PXE網卡啓動並分配動態IP),其二就是TFTP服務(裸金屬設備從PXE服務器中下載相關軟件包,用於裸金屬主機的系統安裝)。

4.部署網絡,確保裸金屬設備的PXE網卡與PXE服務器的DHCP監聽網卡經過部署網絡連通。能夠說就是安裝操做系統用的,它的獨立性適用於生產環境(優先獨立配置),也能夠以管理網絡做爲部署網絡。

5.IPMI網絡,確保管理節點與裸金屬設備的BMC接口經過IPMI網絡連通。IPMI的核心是BMC,即基板管理控制器,其並不依賴於服務器的處理器、BIOS或操做系統來工做,是一個單獨運行的無代理管理子系統,只要有BMC與IPMI固件(運行在ROM裏的只讀程序)其即可開始工做,BMC一般是一個安裝在服務器主板上的獨立板卡。在工做時,全部的IPMI功能都是向BMC發送命令來完成的。

 

因此須要配置裸金屬設備IPMI並規劃IPMI網絡:

實現裸金屬設備的帶外控制(經過不一樣的物理通道傳送管理控制信息和數據信息,二者徹底獨立,互不影響。),要求裸金屬設備配備BMC接口(如今通常都有),並提早爲每臺裸金屬設備配置好IPMI地址、端口、用戶名和密碼。

正由於IPMI的獨立性,咱們在進行裸機操做時,能夠對其進行控制。當裸機安裝完成,操做系統正常使用時才進行數據信息處理。正如上面所說的,經過不一樣的物理通道傳送管理控制信息和數據信息。以下圖(來自網絡):IPMI接口與服務器通常網絡接口在不一樣位置。

規劃IPMI網絡後,管理節點與裸金屬設備的BMC接口能夠經過IPMI網絡連通,

而且admin用戶可在以後的UI界面完成全部裸金屬設備的批量部署。

 

6. 其它網絡。

支持扁平網絡場景,同一個二層網絡上的裸金屬主機和雲主機之間可互相訪問,無需經過網關進行路由,需提早將裸金屬設備所在的裸金屬集羣掛載到相應的二層網絡。

 

4、ZStack裸金屬服務操做流程詳解

這次操做流程,將管理節控制節點與PXE服務器部署在同一個節點,而且管理網絡與部署網絡爲同一個網絡。若是有條件,建議在生產環境中依照官方拓撲圖部署。

4.1 準備工做

爲保證批量部署裸金屬設備的順利進行,需提早作好如下準備工做:

1. 手動安裝管理節點,並安裝相應許可證;即須要先安裝好ZStack環境,並保證在ZStack環境中可使用裸金屬服務。

2. 在鏡像倉庫中準備若干ISO鏡像,用於裸金屬主機的系統安裝。

(此處的鏡像服務器單獨部署,鏡像BIOS模式爲legacy)

3.進入裸金屬設備BIOS啓用PXE(能夠本身進入裸金屬設備BIOS開啓)

提早進入每臺裸金屬設備的BIOS,確認其鏈接部署網絡的網卡開啓PXE功能。對於部分機型,還需確保該PXE網卡爲首張啓動網卡,或確保(啓動順位)在PXE網卡以前的全部網卡均關閉PXE功能,同時需確保裸金屬設備的啓動模式爲Legacy。

4. 規劃部署網絡;

要求PXE服務器的DHCP監聽網卡是一個獨立的、有IP地址的網卡,對外提供穩定的DHCP服務。

 

5. 配置裸金屬設備IPMI並規劃IPMI網絡;

提早規劃IPMI網絡,確保管理節點與裸金屬設備的BMC接口經過IPMI網絡連通。

這樣經過IPMI網絡,admin就可在UI界面完成全部裸金屬設備的批量部署;而且管理節點可遠程控制裸金屬設備的開關機、網絡啓動、磁盤啓動等行爲。

6. 其它網絡(可選)。

若是裸金屬主機須要與雲虛擬主機進行交互的話。能夠在一個扁平網絡下,設置二類主機互通。

 

準備工做完成後,admin可登陸管理節點界面(ZStack的dashboard界面),進行接下來的操做。

 

4.2 建立裸金屬集羣,爲裸金屬設備提供單獨的集羣管理(和雲主機區分開來)。

裸金屬集羣能夠爲裸金屬設備提供單獨的集羣管理。注意:一個裸金屬集羣只容許掛載一個部署服務器。

建立界面以下圖:建立完成後,默認啓動。

建立完成以下圖:

4.3  建立部署服務器,爲裸金屬設備提供PXE服務和控制檯代理服務。

本次與管理節點合併,但獨立部署PXE服務器,能夠知足多管理節點物理機高可用場景需求,且避免單點故障,大幅提高部署效率。而後將部署服務器掛載到裸金屬集羣中。

以下圖所示:DHCP服務(爲裸金屬設備由PXE網卡啓動並分配動態IP),TFTP服務(裸金屬設備從PXE服務器中下載相關軟件包,用於裸金屬主機的操做系統安裝)。

建立完成後以下圖所示:

同時,點擊部署服務器可看到屬性信息:

4.4  添加裸金屬設備

裸金屬設備:就是待安裝操做系統的裸金屬服務器,經過BMC接口以及IPMI配置進行惟一識別。

須要填寫IPMI網絡,這樣管理節點可遠程控制裸金屬設備的開關機、網絡啓動、磁盤啓動等行爲。建立以下圖:

建立完成後,以下圖所示,能夠看到已經獲取到了硬件信息。

此時這裏能夠打開控制檯,直接跳轉至該裸金屬設備的IPMI管理界面(登陸界面),輸入以前已配置好的IPMI用戶名和IPMI密碼,便可從ZStack界面跳轉登陸。

 

4.5 建立裸金屬主機,進行自定義安裝操做系統。

裸金屬主機:即已安裝操做系統的裸金屬服務器,裸金屬設備部署完成後可用於建立裸金屬主機。建立界面以下,須要注意的是裸金屬主機建立完成後會自動重啓,而後根據所選鏡像開始安裝操做系統;

建立過程當中,裸金屬主機的狀態會暫時顯示爲部署中。

這時咱們須要打開控制檯,進入系統安裝界面,手動進行相關配置。以下圖:

 部署完成後,裸金屬主機自動重啓,就緒狀態顯示爲已部署。

須要注意的是,自動重啓時,主機已經安裝好操做系統,此時的啓動應該從硬盤啓動,而不是以前的網卡啓動,能夠登陸裸金屬設備的控制檯,設置第一個引導設備爲磁盤驅動器,確保主機從正確的地方啓動,不然有可能致使主機無限重啓。

重啓完成後,以下圖所示,主機處於正常運行狀態。

 

在部署服務器上,能夠看到鏡像的緩存位置以及此過程當中DHCP服務與TFTP服務。這裏的部署服務器就至關於一個PxeServer。裸金屬主機會發送DHCP廣播請求,而後DHCP服務器向主機提供可用的IP地址並告知主機TFTP服務器的地址,以後TFTP向客戶機提供內核,驅動及引導文件,最後經過TFTP得到安裝文件,而安裝時的參數由cfg文件來提供。

安裝完成時,登陸裸金屬主機,能夠看到cfg配置參數文件:

4.6  對裸金屬主機進行全生命週期管理。

總結:

由上分析,ZStack裸金屬管理服務具備如下功能優點:首先能夠爲應用提供專屬的物理服務器,保障核心應用的高性能和穩定性;其次在操做過程當中的各個服務能夠進行獨立部署,好比:PXE服務器,可知足多管理節點物理機高可用場景需求,完全避免DHCP衝突,因爲每一個裸金屬集羣都可掛載獨立 的PXE服務器,避免單點故障,大幅提高部署效率,以及鏡像倉庫的獨立部署。同時管理員可在UI界面上批量添加裸金屬設備,包括:手動添加和模板文件導入兩種方式,支持批量添加IPMI地址,高效部署裸金屬集羣,提高運維效率,並且支持自定義安裝操做系統。最後裸金屬主機並非獨立的,它還支持扁平網絡場景,同一個二層網絡上的裸金屬主機和雲主機之間可互相訪問,不須要經過網關進行路由,能夠與企業自身業務緊密聯合,發揮裸金屬主機的優點。

借用ZStack官網上看到的一句話來講一下私有云裸金屬的將來:隨着虛擬機技術的日趨成熟,虛擬機所帶來的性能損耗會愈來愈少,一些基於性能考慮而選擇裸金屬的須要將來可能會愈來愈少。但在一些特殊場合,針對一些特殊設備如龍芯或其餘不能虛擬化的設備中,雲平臺以裸金屬形式納管這些設備必定時間內還會長期存在。針對這種形式的裸金屬設備,提供通用的管控接口,智能調度和狀態監控也許是將來私有云裸金屬管理方面發展的重點。

相關文章
相關標籤/搜索