3. 资产标识与CMDB建模

在PowerEdge服务器的生命周期治理中,标识体系是全部自动化、审计与故障定位的“主键”。如果标识混乱,后续的固件基线、保修跟踪、备件更换、容量规划都会失去可靠锚点。本节要解决的核心问题是:如何把一台物理服务器在现实世界中的身份,映射为CMDB中稳定、可查询、可关联的配置项(CI)与关系模型。

一、四类标识的分工与优先级

PowerEdge服务器上同时存在多种标识,它们来源不同、稳定性不同,不能混用。理解它们的分工,是设计CMDB模型的前提。

  • 服务标签(Service Tag):Dell出厂时写入主板的7位字母数字编码,例如 7XK9M2P。它是与Dell保修、驱动下载、SupportAssist、iDRAC许可证绑定的唯一业务主键,全球唯一且不可更改。
  • 序列号(Serial Number):通常为更长的字符串,部分机型与服务标签并存。它更多用于厂商内部生产追溯,日常运维中不应作为主键,因为不同批次格式不一致。
  • 资产标签(Asset Tag):企业自编的固定资产编号,例如 IT-SH-2024-0137。它由企业资产系统分配,用于财务折旧、盘点与责任归属,与厂商无关。
  • 位置标识:包括机房、机柜、U位。例如 SH-IDC-A / R12 / U18-U19,表示上海机房A区12号机柜第18至19U。它是物理定位键,决定现场操作能否一次找到目标。

优先级上,服务标签是技术主键,资产标签是财务主键,位置是空间主键。CMDB建模时必须让三者共存并建立映射,而不是互相替代。

二、标识采集与校验的实际做法

标识不能靠人工抄录,否则错误率会随规模上升。推荐通过带外管理通道自动采集:使用Redfish接口读取 /redfish/v1/Systems/System.Embedded.1,其中 SKU、SerialNumber、PartNumber 字段可直接获取。示例命令如下:

curl -k -u root:calvin https://192.168.30.21/redfish/v1/Systems/System.Embedded.1 \
  | jq '{SKU, SerialNumber, PartNumber, Model, PowerState}'

返回示例(教学假设值):

{
  "SKU": "7XK9M2P",
  "SerialNumber": "CN70160034",
  "PartNumber": "0W3F1YA00",
  "Model": "PowerEdge R750",
  "PowerState": "On"
}

采集后必须做三项校验:一是服务标签长度与字符集是否符合Dell规则(7位、大写字母与数字);二是同一服务标签是否在CMDB中重复;三是资产标签是否已在资产系统中登记。任何一项不通过,都应进入异常队列,而不是直接入库。

三、CMDB配置项与关系模型

CMDB不是一张资产清单,而是“配置项+关系”的图。针对PowerEdge,建议至少定义以下CI类:物理服务器、机柜、机房、业务系统、网络端口、存储卷。关系类型包括:located_in(位于)、hosts(承载)、connects_to(连接)、depends_on(依赖)。

下图展示了一台R750从物理位置到业务归属的完整标识与关系链,可作为建模参考:

机房 SH-IDC-A 位置主键 · 空间层级 机柜 R12 42U · 已用28U U18–U19 2U 机架位 PowerEdge R750 服务标签:7XK9M2P 序列号:CN70160034 资产标签:IT-SH-2024-0137 iDRAC:192.168.30.21 状态:运行中 / 保修至2027-06 业务系统 ERP-PROD 承载关系 · hosts 交换机端口 Gi1/0/12 连接关系 · connects_to 存储卷 VOL-DATA-07 依赖关系 · depends_on located_in hosts connects_to depends_on 建模要点: 1. 服务标签为技术主键,资产标签为财务主键,二者在CI中并列存储并建立映射。 2. 位置采用“机房/机柜/U位”三级结构,U位记录起始与结束,支持2U及以上设备。

四、关系模型的落地与查询

关系模型的价值在于“从任意一个标识出发都能找到完整上下文”。例如现场发现一台服务器告警,运维人员只看到机柜R12的U18位置,CMDB应能反查出服务标签、资产标签、承载业务和保修状态。这要求关系是双向可查的,而不是单向记录。

在CMDB中,建议为每个CI维护以下最小字段集:ci_id(内部唯一)、service_tag、asset_tag、serial_number、model、rack_id、u_start、u_end、idrac_ip、warranty_end、status。关系表则记录 source_ci、relation_type、target_ci、valid_from、valid_to。其中 valid_to 为空表示当前有效,这样设备迁移或业务下线时保留历史关系,便于审计追溯。

服务标签一旦录入不应修改;资产标签变更时保留旧值到历史字段;U位调整必须同步更新关系表的有效期,避免“幽灵占用”。

五、常见错误与规避

实践中最高频的错误有三类。第一,用序列号当主键,导致同一台设备在CMDB中出现多条记录;第二,U位只记起始不记结束,2U设备与相邻设备冲突;第三,资产标签与服务标签未建立映射,财务盘点时无法对应到具体硬件。规避方法是在入库环节设置强制校验规则,并在CMDB中建立唯一性约束:service_tag 唯一、asset_tag 唯一、同一机柜内U位区间不得重叠。

完成本节建模后,每台PowerEdge都应具备“四个可查”:查服务标签知保修与驱动,查资产标签知归属与折旧,查位置知机柜与U位,查关系知承载业务与网络连接。这是后续固件基线、生命周期预警和自动化运维能够可靠运行的基础。