博客
关于我
Linux学习总结(63)——CMDB 详细介绍:概念、架构、模型、表设计及开源选择
阅读量:792 次
发布时间:2023-02-03

本文共 1457 字,大约阅读时间需要 4 分钟。

CMDB详解:从概念到实践

一、CMDB的定义与作用

CMDB(Configuration Management Database)是一种逻辑数据库,主要用于存储和管理企业IT架构中设备的各种配置信息。其核心目标是记录配置项全生命周期的信息,包括物理关系、实时通信关系、非实时通信关系以及依赖关系。CMDB不仅支持IT服务支持和服务交付流程,还能通过自动化流程确保数据的准确性,是ITIL(IT基础架构库)流程的重要基础。

在实际项目中,CMDB的成功实施往往与ITIL项目的成败密切相关。70%-80%的IT相关问题都与环境的变更直接相关。因此,变更管理流程的自动化实现至关重要,而CMDB正是这一实现的关键。

二、CMDB架构设计

CMDB的架构主要分为基础资源层架构和应用资源层架构。应用层资源架构以应用为中心,实现了资源的整合。其核心特征包括:

  • 拓扑关系:包括应用拓扑和物理拓扑,描述资源之间的关联。
  • 管理方式:支持人工维护和自动发现两种方式,尤其是复杂的场景需要人工干预。
  • 流程集成:CMDB与运维流程紧密结合,确保变更管理的标准化和可控性。
  • 在实际建设中,CMDB需要遵循以下五大原则:

  • 面向IaaS和PaaS设计,能够全面管理底层资源。
  • 状态控制,通过运维流程自动化完成。
  • CI维护,深度利用自动发现,而非人工维护。
  • 资源信息服务,为上层应用提供支持。
  • 满足基础资源的CI管理需求
  • 三、应用CMDB的七大建设原则

  • 元数据管理:提供统一的应用元数据管理能力,服务所有应用类型。
  • 应用生命周期:核心诉求是管理应用的全生命周期。
  • 以应用为中心:不是以基础资源为中心,强调应用导向。
  • 弹性关系:从应用资源的角度构建与IT资源的弹性关系。
  • 资源管理:统一管理应用资源、动作和状态。
  • 基础资源支持:以统一的基础资源层CMDB为基础。
  • 持续交付:核心场景是持续交付和部署。
  • 四、CMDB模型设计

    模型设计是CMDB建设的关键环节,需要基于企业IT资源现状和消费诉求进行抽象。设计过程遵循以下原则:

  • 以应用为中心,自上而下进行详细设计。
  • 最小化设计,只实现当前运维场景所需的最小模型集合。
  • 模型设计的具体步骤包括:

  • 环境调研:了解企业组织架构、IT资源类型、规模及流程。
  • 模型设计:确定对象、属性和关系,遵循元数据管理原则。
  • 评审流程:形成规范文档,经过领导和运维管理员评审。
  • 模型建立:在CMDB工具中构建模型,确保灵活性和适应性。
  • 五、CMDB表结构设计

    CMDB通过多个表结构实现对企业IT资源的全面管理。主要表包括:

  • 资产总表:记录所有资产信息,包括资产编号、类型、状态等。
  • 服务器表:详细存储服务器设备信息,包括型号、IP地址、状态等。
  • 网络设备表:记录网络设备参数,包括设备ID、型号、状态等。
  • 应用表:管理应用信息,包括应用ID、名称、版本等。
  • CPU表、内存表、硬盘表、网卡表、raid表:分别记录各类硬件设备信息。
  • 厂商表、业务线表、合同表、机房表、标识表、资产状态表、资产上线审批表:支持资产管理和变更审批流程。
  • 六、开源CMDB选择

    目前市场上有多个开源CMDB工具可选,主要包括:

  • OneCMDB:适合中小型企业,支持灵活的数据模型和API。
  • CMDBuild:Web界面友好,支持自定义数据格式和工作流程。
  • RapidOSS:以集成为核心,支持自动化和演示套件。
  • i-doit:基于ITIL指南,提供模块化架构和扩展能力。
  • 在实际选择时,需要根据企业需求评估工具的功能、易用性和维护情况。

    转载地址:http://hrzfk.baihongyu.com/

    你可能感兴趣的文章
    Linux中如何查找文件的内容
    查看>>
    Linux中如何查询每个进程和每个用户的内存使用情况?
    查看>>
    Linux中如何终止进程?这三种办法要刻在脑子里
    查看>>
    linux中安装nodejs,卸载nodejs,更新nodejs,git,linux中安装nginx并配置
    查看>>
    linux中安装telnet
    查看>>
    Linux中安装配置并使用samba服务(Centos以及Ubuntu)
    查看>>
    Linux中执行 .sh 的方法
    查看>>
    Linux中执行sh文件时提示:nohup: 无法运行命令“./startup.sh“: 权限不够
    查看>>
    Linux中最低调、最易让人忽视的tmp目录,原来用处那么大!
    查看>>
    Linux中最基本的命令ls的用法有哪些?
    查看>>
    Linux中的read命令详解:交互性脚本编写的利器
    查看>>
    linux中的分号&&和&,|和||说明与用法
    查看>>
    linux之stat命令
    查看>>
    Linux之V4L2基础编程
    查看>>
    linux之系统命令(非常详细)零基础入门到精通,收藏这一篇就够了
    查看>>
    linux云服务器开启防火墙注意事件
    查看>>
    linux互传文件nc命令
    查看>>
    linux作业整理
    查看>>
    linux使用g++
    查看>>
    Linux使用XVFB做Selenium测试
    查看>>