最近前同事问我有没有免费或者开源的硬件运维管理平台,通过此平台可以实现包括自动抓取服务器配置、带外管理、开关机、bios配置、固件升级等等功能。
虽然我们可以通过跨不同的操作系统、固件和硬件平台,智能的监视、控制和自动回报大量服务器的运作状况,以降低服务器管理成本;但是服务器厂商都有自己的硬件管理平台,如华为的BMC、戴尔的iDRAC,没有一个统一的管理平台服务可以兼容各家厂商。
现在我们有了一个靠谱的开源解决方案:RackShift。
RackShift 是开源的裸金属服务器管理平台,功能覆盖裸金属服务器的发现、带外管理、RAID 配置、固件更新、操作系统安装等。
RackShift 要解决的问题包括:
-
各种网络环境下裸金属服务器的自动、手动发现;
-
裸金属服务器的带外控制管理,包括开关机、重启、配置 PXE 等;
-
裸金属服务器批量 RAID 配置、固件更新、装机等。
RackShift目前已可以支持的机型:
RackShift 遵循 GPL v2 开源协议,使用 SpringBoot/Vue 进行开发,界面美观、用户体验好,集成并扩展 RackHD,支持的X86 服务器品牌包括浪潮、戴尔、华为、联想、惠普等。
-
前端: Vue.js
-
后端: Spring Boot
-
数据库: MySQL
另外,RackShift 使用、集成、借鉴的其他开源项目:
-
RackHD:RackShift 集成和参考了 RackHD 提供的裸金属服务器管理能力和思路;
-
MAAS:RackShift 参考了 MAAS 提供的裸金属服务器生命周期纳管思路;
-
Digital Rebar:RackShift 参考了 Digital Rebar 提供的操作方式和 UI 参考;
-
Element:RackShift 使用 Element 提供的优秀前端组件库。
组件说明:
-
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 容器运行在节点计算机
RackShift 网卡说明:
-
管理:与 BMC 管理网络三层通信,通过该网络 RackShift 能控制物理机的 PXE 启动等行为
-
PXE :与 物理机 PXE 网口直连,通过该网络 RackShift 能下发 PXE 过程中需要的文件
**注意:**安装过程中需要您手动输入服务器上用作 PXE 的网卡 IP 地址作为 RackShift 服务器的 IP 地址。
在工作流中设置服务器密码及网卡信息,操作系统安装过程中会进行自动配置。
执行工作流后,系统自动下发并执行安装
此时可在远程控制台,查看执行情况