基础运维神器:开源的裸金属服务器管理平台RackShift

需求

最近前同事问我有没有免费或者开源的硬件运维管理平台,通过此平台可以实现包括自动抓取服务器配置、带外管理、开关机、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

1

2

3

4

5

6

7

**注意:**安装过程中需要您手动输入服务器上用作 PXE 的网卡 IP 地址作为 RackShift 服务器的 IP 地址。




3.访问

地址: http://ip:80

账号:admin

密码:123  

1

2

3



服务器装机演示

1.选择需要装机的服务器



2.工作流操作,安装Centos7 64位版



3.设置工作流参数


在工作流中设置服务器密码及网卡信息,操作系统安装过程中会进行自动配置。




4.执行工作流

执行工作流后,系统自动下发并执行安装


此时可在远程控制台,查看执行情况




总结

RackShift 在基础运维领域真正做到了我们想做但却做不到的事情,将其应用到生产环境可以节省我们很多的运维成本。


返回列表