如何在使用kickstart安装物理机操作系统的过程中核对服务器的SN

原因

  • 在使用kickstart对物理机进行重装的时候,由于自动化配置,挂载镜像重启之后就会自动化开始安装部署,不够安全,万一选错服务器没有办法回退。
  • 因此可以在kickstart的ks配置文件中新增服务器SN的校验,当校验不通过的情况下,报错并退出安装

实现

shell 复制代码
%pre --erroronfail
#!/bin/bash
# 检查当前需要进行重装的服务器是否是存在的SN
# 获取当前服务器序列号
CURRENT_SN=$(cat /sys/class/dmi/id/product_serial)
# 检查白名单文件是否存在
if [ ! -f /run/install/repo/sn ]; then
    whiptail --title "ERROR" --msgbox "SN whitelist file not found" 12 50 > /dev/console
    poweroff
fi
# 检查序列号是否在白名单中
if ! grep -q "^${CURRENT_SN}$" /run/install/repo/sn; then
    whiptail --title "ERROR" --msgbox "Invalid server SN: ${CURRENT_SN}" 12 50 > /dev/console
    poweroff
fi
%end

解读

  • 使用%pre --erroronfail参数,可以保证kickstart在pre脚本执行阶段出错就退出安装
  • 安装过程中,系统处于nochroot的环境,无法使用dmidecode命令匹配序列号,因此使用cat /sys/class/dmi/id/product_serial命令,读取序列号信息
  • 在ISO文件中封装进sn文本,包含当前批次需要安装的物理机的SN,安装过程中挂载在/run/install/repo/sn目录
  • 判断当前sn文件是否存在
  • 判断获取到的sn是否在sn文件中
  • 如果同时满足这两个需求,则继续安装;否则报错并退出安装
相关推荐
IT大白鼠20 小时前
彭大帅的AI运维助手——怎么给AI写运维SOP:提示词设计实战
运维·人工智能·彭大帅
Canmag 兴隆磁性1 天前
中大型钕铁硼产品的磁通测量与自动分选:一条产线自动化的工程实现思路
运维·学习·自动化·永磁材料
dghongcheng1 天前
锁具五金喷涂升级案例:从传统手工到自动化产线的转型之路
自动化·喷涂·喷漆设备·自动喷涂线·自动喷涂
福建佰胜张工1 天前
SMC 薄型气爪 MHF2-16D1 深度解析:平行开闭、低剖面结构在自动化装配中的选型与落地
java·服务器·安全·自动化
xuefeiniao1 天前
PHP2Shell漏洞修复
运维·服务器·php
HA-ming1 天前
PCSwitch 智能呼叫系统技术拆解:AI 机器人、意图识别与模块化流程如何串起业务自动化
人工智能·机器人·自动化·智能呼叫系统·智能呼叫中心·智能外呼·可视化模块化
便利店10241 天前
系统活动一抓留存!深入 Linux C/C++ 调试工具之 sysdig
linux·运维·服务器·sysdig
g3voip1 天前
工业防水电话到底怎么选?隧道、管廊与码头的需求差异
服务器·网络·信息与通信·ip
智能运维指南1 天前
企业 IT 运维自动化平台怎么选?从场景匹配到 POC 验证的完整评估框架
运维·自动化·自动化运维·嘉为蓝鲸
.Bryce.1 天前
从强化学习到Agentic RL:让Agent在“干活“中自己变聪明
服务器·网络·agent·rag·agentic rl