机房与数据中心

CMDB 是什么意思:配置项、关系模型与机房里的用途

CMDB 是配置管理数据库,记录每一个配置项是什么、在哪里、连着谁、被谁依赖。资产台账回答“有什么”,CMDB 还要回答“动了它会影响谁”,这正是它能用于变更评估和故障定位的原因。

作者 顶联产品团队发布于 6 分钟阅读

CMDB 是什么意思?CMDB 是 Configuration Management Database 的缩写,中文叫配置管理数据库。它记录一个 IT 环境里所有“配置项”(Configuration Item,CI)——服务器、交换机、IP 地址、操作系统、应用,甚至机柜和客户——的属性,更重要的是记录它们之间的关系:这台服务器放在哪个机柜、接在哪台交换机的哪个端口、用了哪些 IP、跑着哪个客户的业务。有了关系,运维才能在改动之前知道会影响谁,在故障发生时知道往哪里查。

CMDB 的定义:来自 ITIL 的概念

CMDB 这个词来自 ITIL(IT 基础架构库)。ITIL 把配置管理定义为一个流程:识别、记录、控制并核实所有对提供 IT 服务有意义的配置项及其关系。承载这些记录的数据库,就是 CMDB。ITIL 后来又提出配置管理系统(CMS)的概念:大型组织往往不止一个 CMDB,网络、服务器、应用各有各的数据源,CMS 把它们联合起来对外提供统一视图。

从定义里可以拆出三个要素:

要素 含义 例子
配置项(CI) 需要被管理的对象,有唯一标识 服务器 SRV-0231、交换机 SW-A03、IP 103.45.12.37
属性 描述 CI 的字段 型号、序列号、CPU、所在机柜、状态、负责人
关系 CI 之间有方向的连接 SRV-0231“位于”机柜 A03;SRV-0231“连接”SW-A03 的 GE1/0/12

“配置”这个词容易让人以为 CMDB 存的是配置文件,其实不是。它存的是“这个环境由哪些东西组成、怎么组合”,配置文件本身通常放在版本库里,CMDB 至多记录一个指向它的引用。

配置项有哪些类型

配置项不限于硬件。一个机房常见的 CI 类型:

CI 类型 例子 关键属性
场所 机房、机柜、U 位 地址、供电容量、机柜高度、已用 U 数
硬件 服务器、交换机、路由器、PDU、防火墙 型号、序列号、资产编号、BMC 地址、上架日期
部件 硬盘、内存、网卡、电源模块 批次、容量、所在设备、返修记录
网络资源 IP 段、IP 地址、VLAN、交换机端口 CIDR、网关、VLAN 编号、端口速率
软件 操作系统、数据库、中间件 版本、安装时间、许可
服务 客户订单、对外业务、内部系统 客户、SLA、到期时间
人与组织 客户、运维小组、厂商 联系方式、负责范围
文档 网络拓扑图、应急预案、合同 版本、生效日期

每个 CI 都要有一个不重复的标识(资产编号、序列号或系统生成的 ID),关系才有办法引用它。

关系模型:CMDB 和台账的本质区别

台账是一张平面的表,一行一台设备;CMDB 是一张图,节点是 CI,边是关系。常见的关系类型:

关系 方向 例子
位于 设备 → 场所 服务器 → 机柜 A03 的 U10~U11
连接 端口 → 端口 服务器 eth0 → 交换机 GE1/0/12
上联 设备 → 设备 接入交换机 SW-A03 → 核心交换机 CORE-A
使用 设备 → 网络资源 服务器 → IP 103.45.12.37、VLAN 120
取电 设备 → 电源设备 服务器 → PDU A03-L 插口 7
包含 设备 → 部件 服务器 → 硬盘 D-240311-07
运行 设备 → 软件 服务器 → Ubuntu 22.04
租用 客户 → 设备 客户 C1024 → 服务器 SRV-0231
依赖 服务 → 服务 客户网站 → 数据库实例

以一台服务器为中心,它在 CMDB 里长这样:

客户 C1024 ──租用──▶ 服务器 SRV-0231
服务器 SRV-0231 ──位于──▶ 机柜 A03,U10~U11
服务器 SRV-0231 ──取电──▶ PDU A03-L 插口 7 / PDU A03-R 插口 7
服务器 SRV-0231.eth0 ──连接──▶ 交换机 SW-A03 端口 GE1/0/12(VLAN 120)
服务器 SRV-0231.bmc ──连接──▶ 交换机 SW-MGMT-A 端口 GE1/0/12
服务器 SRV-0231 ──使用──▶ 公网 IP 103.45.12.37、IPMI 10.1.16.37
交换机 SW-A03 ──上联──▶ 核心交换机 CORE-A 端口 XGE1/0/3

有了这张图,“交换机 SW-A03 要升级固件”就能顺着“连接”关系反查出接在它上面的全部服务器,再顺着“租用”关系查出客户名单——这就是变更影响分析。

CMDB 有什么用:四个典型场景

变更影响分析。 任何变更申请先问 CMDB:动这个 CI 会波及哪些 CI?例如更换核心交换机 CORE-A 的一块板卡,CMDB 沿“上联”关系找出所有接入交换机,再找出全部服务器和客户,变更通知就有了准确的名单,维护窗口也能按客户 SLA 来定。

故障定位。 客户 C1024 报障说服务器不通。查 CMDB:服务器在 A03 机柜,接 SW-A03 的 GE1/0/12,用 VLAN 120,取电于 A03-L 的插口 7。运维按这条链一路查过去——端口有没有 down、VLAN 对不对、PDU 插口有没有电——比先问客户“你的机器在哪”快得多。反过来,SW-A03 上报端口告警时,也能立即知道受影响的是哪些客户。

资产与生命周期。 服务器从采购、上架、分配、回收到报废,每个状态都对应 CMDB 里的一次更新;硬盘、内存按批次入库,换到哪台机器、什么时候返修,都能追溯。审计时“这台机器现在在哪、谁在用”不用再翻邮件。

容量与合规。 机柜还剩几个 U、哪个 IP 段快用完、哪台 PDU 负载接近上限,都是对 CMDB 的一次汇总查询。等级保护、ISO 27001 一类的审核要求资产清单和网络拓扑与实际一致,CMDB 就是拿出来给审核员看的那份材料。

CMDB 和资产管理系统的区别

两者经常被混为一谈,因为管理对象有重叠(都有服务器),但关注点不同:

对比项 资产管理系统 CMDB
回答的问题 有多少、值多少钱、归谁保管 怎么连的、依赖谁、动了影响谁
管理对象 有财务价值的实物:服务器、空调、桌椅、车辆 对 IT 服务有意义的一切,包括 IP、VLAN、软件、服务等逻辑对象
核心字段 采购价、折旧、保管人、存放地点 属性 + 关系
驱动流程 采购、领用、盘点、报废 变更、事件、问题、发布
更新触发 财务或行政事件 每一次技术变更
使用者 财务、行政、资产管理员 运维、网络、变更经理

一个简单的判断标准:桌椅、空调会进资产系统,但不会进 CMDB;VLAN、IP 段、客户订单会进 CMDB,但资产系统不关心。物理服务器两边都有,理想做法是资产编号统一,两个系统靠它对应。

一个小型机房的 CI 模型示例

以一家有 3 排机柜、300 台出租服务器的 IDC 为例,一套够用的 CI 模型只需要 9 类配置项:

CI 类型 数量级 必填属性 关系
机房 1~2 名称、地址、供电与带宽容量 包含机柜
机柜 30 编号、高度(U)、所属机房 包含设备
PDU 60 编号、所在机柜、额定电流 为设备供电
交换机 40 型号、管理 IP、所在机柜、U 位 上联核心;端口连接服务器
服务器 300 资产编号、型号、序列号、BMC 地址、所在机柜与 U 位、状态 连接交换机端口;使用 IP;取电于 PDU;归属客户
部件 按批次 类型、批次、数量、所在设备 包含于服务器
IP 段 / IP 20 段、5,000 地址 CIDR、类型、VLAN、网关、状态 被服务器使用
VLAN 50 编号、用途、所属交换机 承载 IP 段
客户与订单 200 客户名、联系方式、到期时间 租用服务器

命名规则要在建模时定好,例如机柜 A03 表示 A 排第 3 柜,服务器资产编号 SRV-0231,交换机 SW-A03,PDU A03-L 和 A03-R 表示机柜左右两条。名字里带位置信息,看到编号就知道在哪,也不容易录错。

不要一开始就追求完整。上面这 9 类已经能支撑机房日常的排障和变更查询;应用层的中间件、数据库、微服务之间的依赖,等到确实有人要查的时候再加。

CMDB 怎么保持准确

CMDB 失败的原因几乎只有一个:数据和现场不一致,大家不再信它,然后就没人更新了。保持准确靠四件事:

  1. 自动采集优先。 服务器的 CPU、内存、硬盘用采集脚本探测,交换机的端口状态、MAC 表用 SNMP 读取,设备之间的连接用 LLDP 发现,IP 与 MAC 的对应用 ARP 表核对。人工录入只用来填机器读不到的信息,比如客户和合同。
  2. 两套数据对照。 人工登记的配置和自动探测的结果同时保留,一旦不一致就产生一条待核实记录,而不是默默覆盖。配件被换过、机器被挪过,都是这样发现的。
  3. 变更流程绑定。 上架、下架、换端口、改 IP 都必须先在系统里操作,再去现场;未更新 CMDB 的变更单不能关闭。
  4. 定期审计。 每季度做一次盘点:扫描网段核对在线地址,抽查机柜核对 U 位,把差异清零。

在 IDC 里,这些做法大多已经内置在 DCIM 中。机柜与资产管理按“数据中心 → 机柜 → U 位 → 设备”组织,向服务器下发采集脚本自动获取硬件信息并保留历史,人工录入与探测结果并列对照;IP 地址管理记录每个地址分给了哪台服务器,每个地址段属于哪个 VLAN、网关挂在哪台交换机;服务器列表里能直接看到每台机器接在哪台交换机的哪个端口。对只出租服务器和机柜的服务商来说,这就是数据中心这一层的 CMDB;如果还想了解 DCIM 与动环、资产系统的分工,可以看 DCIM 是什么。

常见问题

CMDB 和 DCIM 是什么关系?

DCIM 管理机房的物理与网络资源,本身就维护着机柜、服务器、交换机端口、IP 之间的关系,可以看作数据中心这一层的 CMDB。企业若还有大量应用、中间件、数据库要管理,才需要在上面再建覆盖应用层的 CMDB。

CMDB 需要记录到什么粒度?

以“变更和排障时会不会查它”为准。机房里记到服务器、交换机端口、IP、PDU 插口这一层足够;硬盘、内存条按批次记录即可,不必每根内存条都建一个配置项。

CMDB 和监控系统是什么关系?

监控系统负责采集指标和产生告警,CMDB 负责告诉监控“这台机器是谁的、接在哪、影响谁”。常见做法是监控从 CMDB 同步对象清单,告警里带上 CMDB 中的机柜、端口和客户信息,故障通知才能直接发给对的人。

想看看在你的机房里怎么用?

从一次产品演示开始,梳理你的业务链路。

查看价格
服务热线 400-112-2951

让我们聊聊你的 IDC 业务

扫码添加企业微信,预约产品演示或申请试用。

Toplink 企业微信二维码

长按保存或使用企业微信 / 微信扫描

也可致电
400-112-2951
Telegram
@TopLink88