写点什么

自动化运维 - 云装机实践

  • 2019-09-22
  • 本文字数:1360 字

    阅读完需:约 4 分钟

自动化运维-云装机实践

项目背景

随着 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 系统


系统使用展示

第一步:从 PXE 启动服务器。



第二步:发现新设备。



第三步:录入新设备。



第四步:查看装机进度。



第五步:装机完成自动录入 CMDB


系统现状

已替代传统装机方式,实现远程快速的安装操作系统,支持多台机器同时安装操作系统,历史最大并发装机数 30 台。服务器从资产录入到服务器安装,之前需要 20 多分钟,现在可以控制在 10 分钟之内操作完成,单台装机速度提升 50%,目前累计装机 600+台,系统模板 30+个。


作者介绍:


巩立新,技术保障部,运维开发工程师,参与开发 IDC 自动化、门店网络监管、通用调研等项目。


本文转载自公众号贝壳产品技术(ID:gh_9afeb423f390)。


原文链接:


https://mp.weixin.qq.com/s/fSrWF4PFZkvky7rkeCf46w


2019-09-22 21:171522

评论

发布
暂无评论
发现更多内容

2020中国云计算生态峰会召开 浪潮云摘得三项大奖

云服务

关于“存在”的一点思考

石君

28天写作 量子 世界为何存在

anyRTC-语音连麦demo上线

anyRTC开发者

音视频 WebRTC 直播 实时语音 语音聊天室

CSS12 - 清除浮动

Mr.Cactus

html/css

从根上理解高性能、高并发(四):深入操作系统,彻底理解同步与异步

JackJiang

网络编程 高并发 高性能 即时通讯

CSS11 - 浮动

Mr.Cactus

html/css

关于2020 我有12个关键词

阅读

大数据知识专栏 - Zookeeper的Shell操作

小马哥

大数据 zookeeper ZooKeeper原理 28天写作

重学JS | 异步编程 Promise

梁龙先森

大前端 编程语言 28天写作

再谈跨界 互联网+的建筑行业

张老蔫

28天写作

对于我们程序员来说,基本面是什么呢?

Java架构师迁哥

CodeDay#5 启动报名| 带你深入探索支付宝终端动态化实践

蚂蚁集团移动开发平台 mPaaS

小程序 mPaaS 2021年度技术盘点与展望 热门活动

2020DevOps状态报告

禅道项目管理

DevOps 运维 开发 趋势 自动化测试

波场链智能合约软件开发|波场链智能合约APP系统开发

系统开发

学习新语言步骤(有其他语言基础前提)

周周

用技术的方式,在UI设计稿中设置随机码,保证高清

行者AI

Python

云原生动态周报 |华为云主导抗疫药物筛选科研成果"神农项目"登上国际化学顶刊封面

华为云原生团队

GitHub 疫情 云原生 Prometheus 华为云

链上智能合约APP开发|链上智能合约系统软件开发

系统开发

华为云张昆:支持全场景全业务,GaussDB加速企业数字化转型

华为云开发者联盟

数据库

Mobileye的创新科技与方案将助力自动驾驶汽车畅行世界、惠及大众

E科讯

SpringCloud 从入门到精通 08--- Eureka集群

Felix

前端代码书写规范

Mr.Cactus

大前端 html/css

Python 使用SQLServer

IT蜗壳-Tango

七日更

专科出身Java开发,2年进入苏宁,5年跳槽阿里,我晋升这么快的秘诀是什么?

Java架构追梦

Java 阿里巴巴 面试 架构师 成长路线

浪潮云防勒索一站式解决方案,让勒索病毒“上云”无门

产品推荐

DevSecOps:把合规融入DevOps

啸天

DevOps 安全 法律 DevSecOps 应用安全

区块链即时通讯系统开发方案,IM聊天社交软件开发

v16629866266

Spring中@Import的作用

张健

即构推出低延迟直播产品L3,可将直播延迟降到1s

ZEGO即构

初识 D3.js :打造专属可视化

vivo互联网技术

JavaScript 数据分析 可视化 图表 D3

2020DevOps状态报告——平台模型:扩展DevOps的新方法

禅道项目管理

DevOps 运维 开发 趋势 自动化测试

自动化运维-云装机实践_文化 & 方法_巩立新_InfoQ精选文章