背景
作为运维人员:
我想知道现在总共有多少配置项,以便实时了解配置项的总数量
我想快速找到一个配置项,以便能快速查看此配置项的信息和状态
我想知道我管理哪些配置项,以便于我掌握配置项的整体情况
我想知道当前虚拟机是否可用,以便于判断是否需要重启
我想知道配置项的整个生命周期变更了什么,变更了几次,以便于对配置项进行跟踪
我想恢复到某个时间点上的所有配置项的数据,以便于在数据错乱时还原数据
我想随时修改模型,以便于用户根据实际情况进行模型调整
我想进行批量录入数据,以便于对用户数据的迁移和便利
......
简介
CMDB即配置管理数据库(Configuration Management Database),它负责存储与管理企业IT架构中设置的各种配置信息,简单说它其实就是个管理IT设备配置的数据库而已。它与所有服务支持和服务交付流程都紧密相连,支持这些流程的运转、发挥配置信息的价值,同时依赖于相关流程保证数据的准确性。
在实际项目中,CMDB常常被认为是构建其他ITIL流程的基础而优先考虑,ITIL项目的成败与是否成功建立CMDB有非常大的关系。
CMDB从另一方面来看只是IT架构的一个投影,里头只是存储记录着IT架构的配置项,以及配置项与配置项之间关系信息的数据。那么扯了这么久配置和配置项,到底什么是配置和配置项呢?
配置:从字面意思来看,配置意味着分配与设置之意,从大了讲,把一堆刀片服务器组成集群,这是配置;从小了讲,把一个操作系统的环境变量做一些参数调整,这是配置。配置是动作,IT架构是主体,当我们在讲IT架构时,如果我们在脑海之中只泛起那成百上千台各种IT设备,那是远远不够的,我们还需要在脑海中联想到这些机器上部署着的大量软件与数据库,但是这还是不够,我们还要进一步的意识到,这些每一个对象内部的配置以及外部的配置是什么,这才是构成一个IT架构的真正实在。如果有一个全息的复制技术,当我们需要完整的将一个IT架构映射出来时,我们只需要两个东西,一个是配置,一个是资源,我们用这些资源通过配置搭建一个IT架构或IT架构的任何一个部分。
配置项:理解了配置概念,那么只要有一个东西需要进行配置,就可以认为它是一个配置项,不管它大到一个设备,还是小到一个程序的参数。从CMDB产品来看,配置项往往就是CMDB中的CI与CI属性,在CMDB中,我们往往用CI+属性这种简单的数据结构来描述我们认知中的IT世界。
CMDB产品的第一步是存储与管理配置,那么之后便是对数据的消费,而消费往往与场景有关,一上来就把企业全部的IT对象、属性和关系全部囊括进CMDB的CMDB建设,都是耍流氓。而CMDB数据使用场景往往需要每个企业梳理出自己真正需要的场景,并且这种梳理应该是基于企业的日常运维工作以及下一步运维提示的目标来指定,而不是离地三尺,肆意空想。
比如说各种自动化运维操作场景、IT环境监控和告警场景、流程变更场景等等。