需求
最近前同僚問我有沒有免費或者開源的硬體運維管理平台,通過此平台可以實作包括自動抓取伺服器配置、帶外管理、開關機、bios配置、固件更新等等功能。
雖然我們可以通過
IPMI标準監視接口
跨不同的作業系統、固件和硬體平台,智能的監視、控制和自動回報大量伺服器的運作狀況,以降低伺服器管理成本;但是伺服器廠商都有自己的硬體管理平台,如華為的BMC、戴爾的iDRAC,沒有一個統一的管理平台服務可以相容各家廠商。
解決方案
現在我們有了一個靠譜的開源解決方案:RackShift。
RackShift 是開源的裸金屬伺服器管理平台,功能覆寫裸金屬伺服器的發現、帶外管理、RAID 配置、固件更新、作業系統安裝等。
RackShift 要解決的問題包括:
- 各種網絡環境下裸金屬伺服器的自動、手動發現;
- 裸金屬伺服器的帶外控制管理,包括開關機、重新開機、配置 PXE 等;
- 裸金屬伺服器批量 RAID 配置、固件更新、裝機等。

RackShift目前已可以支援的機型:
品牌 | 型号 |
---|---|
DELL EMC | Power Edge R630 R640 R720 R730 R740 R910 R920 R930系列 |
HPE | Proliant 380 580 Gen8 Gen 9 Gen 10 系列 |
Inspur | 5280 8480 M4 M5 系列 |
IBM | X3550 X3650 M4 系列 |
H3C | R4900 G3 系列 |
ZTE | R5300 G4 系列 |
系統架構
RackShift 遵循 GPL v2 開源協定,使用 SpringBoot/Vue 進行開發,界面美觀、使用者體驗好,內建并擴充 RackHD,支援的X86 伺服器品牌包括浪潮、戴爾、華為、聯想、惠普等。
1.技術棧:
- 前端: Vue.js
- 後端: Spring Boot
- 資料庫: MySQL
另外,RackShift 使用、內建、借鑒的其他開源項目:
- RackHD:RackShift 內建和參考了 RackHD 提供的裸金屬伺服器管理能力和思路;
- MAAS:RackShift 參考了 MAAS 提供的裸金屬伺服器生命周期納管思路;
- Digital Rebar:RackShift 參考了 Digital Rebar 提供的操作方式和 UI 參考;
- Element:RackShift 使用 Element 提供的優秀前端元件庫。
2.軟體分層
元件說明:
- RackShift-WEB:基于 VUE2.6.11 開發的單頁應用
- RackShift-Server:基于 SSM 的 SpringBoot 應用,對 RackHD 的操作進行更高的抽象并且控制與 RackHD API的互動,控制 RackShift-Proxy 節點,與 RackShift-WEB 一并打包成一個應用部署
- RackShift-Proxy:可單獨與 RackHD 子產品部署,主要用于主節點控制客戶節點進行注入鏡像下發,DHCP 配置,遠端 KVM 等等
- RackHD:DELL EMC 開源的裸金屬供應軟體,現已停止維護
- Mysql:RackShift-Server 主要運作資料的存儲區
- Mongo:RackHD 與RackShift-Server 的運作資料存儲區
- RabbitMQ:各元件之間通信的中間件
- DockerEngine:各元件都是以 Docker 容器運作在節點計算機
3.元件調用關系
部署
1.網絡結構
RackShift 網卡說明:
- 管理:與 BMC 管理網絡三層通信,通過該網絡 RackShift 能控制實體機的 PXE 啟動等行為
- PXE :與 實體機 PXE 網口直連,通過該網絡 RackShift 能下發 PXE 過程中需要的檔案
2.安裝
# 1.線上安裝
sh -c "$(curl -sSL https://github.com/rackshift/rackshift/releases/latest/download/quick_start.sh)"
# 2.離線安裝
tar -zxvf rackshiftV1.4.0-offline.tar.gz
cd rackshiftV1.4.0-offline/installer
./install.sh
**注意:**安裝過程中需要您手動輸入伺服器上用作 PXE 的網卡 IP 位址作為 RackShift 伺服器的 IP 位址。
3.通路
位址: http://ip:80
賬号:admin
密碼:123
伺服器裝機示範
1.選擇需要裝機的伺服器
2.工作流操作,安裝Centos7 64位版
3.設定工作流參數
在工作流中設定伺服器密碼及網卡資訊,作業系統安裝過程中會進行自動配置。
4.執行工作流
執行工作流後,系統自動下發并執行安裝
此時可在遠端控制台,檢視執行情況
總結
RackShift 在基礎運維領域真正做到了我們想做但卻做不到的事情,将其應用到生産環境可以節省我們很多的運維成本。