需求
最近前同事问我有没有免费或者开源的硬件运维管理平台,通过此平台可以实现包括自动抓取服务器配置、带外管理、开关机、bios配置、固件升级等等功能。
虽然我们可以通过IPMI标准监视接口 跨不同的操作系统、固件和硬件平台,智能的监视、控制和自动回报大量服务器的运作状况,以降低服务器管理成本;但是服务器厂商都有自己的硬件管理平台,如华为的BMC、戴尔的iDRAC,没有一个统一的管理平台服务可以兼容各家厂商。
解决方案
现在我们有了一个靠谱的开源解决方案:RackShift。
RackShift 是开源的裸金属服务器管理平台,功能覆盖裸金属服务器的发现、带外管理、RAID 配置、固件更新、操作系统安装等。
RackShift 要解决的问题包括:
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 网卡说明:
2.安装
sh -c "$(curl -sSL https://github.com/rackshift/rackshift/releases/latest/download/quick_start.sh)"
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 在基础运维领域真正做到了我们想做但却做不到的事情,将其应用到生产环境可以节省我们很多的运维成本。
|