项目背景
随着IDC服务器数不断增加,服务器系统变更频繁,系统安装工作日益繁重,需要管理员到机房一台一台安装。新增、变更服务器资产信息无法自动录入CMDB,手动录入设备信息容易出现错误。整个装机操作耗时耗力,服务器自动化装机、管理已经迫在眉睫。
功能介绍
云装机系统支持远程自动化安装操作系统。提供远程开关机、自动采集服务器信息功能,支持系统模板管理,可根据不同业务线和硬件配置自动选择系统模板,支持录入机架信息、IP信息,实时显示装机进度,装机完成信息自动录入CMDB等功能。
核心技术
PXE:网络引导启动。支持客户机通过网络从远端服务器下载镜像,并由此通过网络安装操作系统。
KS文件:自动化安装操作系统。通过创建一个单独的,包含安装过程中遇到的所有问题答案的文件,即在装机过程中需要手动选择和配置的选项。同时可以在ks文件里加入shell脚本,进行装机进度汇报等操作。
与原生PXE+KS对比
系统基于PXE+KS开发,再此基础上增加了一些新的功能,自动采集服务器信息,同步到云装机管理后台,防止后期手动录入导致数据错误。云装机管理后台支持多种装机模板管理,为新设备自动选择装机模板。支持录入服务器所在机房机架信息,用于后期机房可视化管理。支持同时进行多台设备装机,支持在管理后台实时查看装机进度。系统装机完成自动同步服务器信息到CMDB,保证服务器数据准确性。
系统架构
主要分三层结构,六大功能模块。采用分层思想,前后端分离,模块之间通过API接口进行调用,相互独立。系统各个功能模块如下:
UI模块:提供远程开关机、发现,录入新设备、设备列表管理,系统模板管理等功能
Server模块:提供API服务,包括数据录入查询等,对接UI模块和底层安装模块
HardWare模块:提供支持的硬件设备信息,提供手动添加新的硬件设备等功能
CMDB模块:存储服务器硬件信息、系统信息、机架信息、管理员信息等
BootOS模块:通过agent进行信息采集上报,使管理员自动发现新设备。
底层安装模块:提供dhcp/tftp/http/dns等物理机安装服务
装机流程
1、通过远程管理卡从PXE启动服务器
2、启动后首先进入BootOS,启动内置的Agent组件
3、Agent采集信息上报到Server模块,在管理后台发现新设备
4、管理后台录入服务器信息,进入装机队列
5、然后Agent上报mac地址,通知Server端生成PXE安装文件
6、最后Agent会重启服务器,并进入系统安装流程
7、进入系统安装以后,获取KS文件、系统镜像文件
8、安装操作系统,并运行系统初始化post脚本
9、上报安装进度通知Server端安装完成,重启进入系统
10、Server端同步安装信息到CMDB系统