讀古今文學網 > OpenStack系統架構設計實戰 > 7.4 基本運行原理和流程 >

7.4 基本運行原理和流程

為敘述原理方便,假設前提條件為使用pxe_ipmitool驅動來操作物理機。Ironic的運行原理及流程如圖7-2所示。Ironic通過IPMI來控制物理主機電源,使用PXE來引導物理主機啟動,物理主機第一步會通過PXE,從TFTP服務器上加載和硬件相關的kernel和ramdisk,這是一個臨時的操作系統,使用Ironic裡面的術語稱為deploy image,加載運行後其內置的腳本會自動將裸機硬盤通過iSCSI target的方式暴露出來。隨後內置腳本發一個HTTP請求,通知Ironic-Conductor裸機端已完成目標暴露,conductor作為initiator掛載此目標,然後將用戶的鏡像寫入剛掛載的磁盤上。隨後修改裸機的BootLoader改為從硬盤啟動系統。Ironic-conductor通過IPMI重新啟動物理主機。修改數據庫中的實例狀態為可用,從而完成裸機系統的部署。這個步驟關鍵核心是將用戶鏡像寫入硬盤,類似於ghost機制完成系統複製。

以上只是簡述原理,有幾個關鍵點沒有提及,但是對於Ironic成功運行來說,非常重要。

1)tftp-server、IPMI等第三方包的配置和部署。

2)專為裸機部署創建的Flavor,Nova通過Flavor來判斷和調度是否是裸機部署。

3)專為裸機定制的鏡像,需要預先上傳到Glance。這個鏡像是和具體硬件相關的,需要每一種類型的硬件單獨創建,社區一般用diskimage-builder這個工具來生成。有兩類鏡像,第一類是部署時的臨時鏡像;第二類是用戶真正需要部署的系統,具體如下:

·bm-deploy-kernel

·bm-deploy-ramdisk

·user-image

·user-image-vmlinuz

·user-image-initrd

4)需要管理員事先將裸機信息登記在Ironic裡,包括IPMI的用戶名、密碼,以及硬件相關信息等。

圖7-2 Ironic的運行原理及流程