企业级自动化运维方案设计及Saltstack、Ansible等5种工具比较分析
1、确定saltstack软件依赖关系是否满足要求:saltstack要求python的版本大于2.6或小于3.0,还需要检查以下的库,包括msgpack-python、yaml、jinja2、markupsafe、apache-libcloud、requests等。 3、创建一个master服务的备份节点并复制主master节点的key到备节点: 默认的master的private key是在目录: /etc/salt/pki/master. 将该目录下的master.pem拷贝到备master节点的同一位置,对master的public key文件master.pub做同样的操作,启用备master节点,在备节点接受key。 4、重启minions:配置完成后,minion将会对主master和备master进行核对,并且两个master都对minion有操作权限。 注:minion可以自动检测失败的master,并且尝试重连到一个更快的master,将minion端的参数master_alive_interval 设置为true,即可开启该功能。 5、saltstack状态文件的编写,saltstack上线后,运维工作从复杂的重复的服务器部署和配置工作转移到saltstack状态文件的编写和维护,状态文件的编写要考虑模块化和通用性,在大批量部署之前要经过测试,没有问题后再部署,以下是一些经常用到的测试命令: (1)、查询网络连接情况--是否能连接到客户端 (2)、查询网卡ip (3)、查询磁盘空间 还有很多经常用到的命令在此就不一一列举了,Saltstack可以实现云计算与数据中心架构编排,Saltstack可以由zabbix监控事件调用,通过Saltstack的salt-cloud实现对docker和openstack等云平台的支持,配合saltstack的mine实时发现功能就可以实现各种云平台业务自动扩展;Saltstack可以与CMDB相结合实现运维平台化、自动化和智能化。 5.自动化运维方案设计 5.1自动化运维规划图 提到自动化运维就不能不说ITIL,ITIL即信息技术基础架构库(Information Technology Infrastructure Library),主要适用于IT服务管理(ITSM)。ITIL为企业的IT服务管理实践提供了一个客观、严谨、可量化的标准和规范。ITIL已经成为了IT服务管理的国际标准,而CMDB配置管理数据库(Configuration Management Database)则是实现ITIL最重要的内容。 随着企业的发展,对于运维要求越来越高,使用现有的开源工具已经不能满足企业对于运维的要求,根据企业业务的发展与对运维的要求建设统一的运维管理平台成为了企业迫切的需求。下面是企业自动化运维总体规划图: 自动化运维平台的建设以ITIL标准为依据,按照先底层后高层的原则先建设服务工具区域的各个运维子系统,各个运维子系统通过API的方式对上层提供服务,最后不同的业务平台去调用这些服务接口即可,运维平台的各个层面建设要全面符合管理制度的要求。 5.2自动化运维平台模块设计 自动化运维平台以ITIL标准为依据在此规范上开发的,第一阶段已经做到了业务流程的标准化,现阶段从事件管理子系统开始逐渐完善各个子系统,把各种配置当作服务来看待,CMDB也可以理解成统一的元数据库,比如说机房信息、服务器信息、人员信息、服务信息、业务信息以及他们之间的物理和业务拓扑关系等,上层的所有系统都应该关联到CMDB,以CMDB为中心,变更后的数据信息必须实时反馈到CMDB中,各个运维子系统才能看到最新的数据信息,确保其他系统能同步这份变更,以达到统一同步的目的。因此把CMDB系统当作运维的核心系统来对待,有利于后续各个系统之间的互通。以下是部分模块的设计要求: 事件管理:负责记录、归类和安排专家处理事故并监督整个处理过程直至事故得到解决和终止。事件管理的目的是在尽可能最小地影响客户和用户业务的情况下使IT系统恢复到SLA服务级别协议(Service-Level Agreement)所定义的服务级别; 问题与日志管理:通过调查和分析IT基础架构的薄弱环节、查明事故产生的原因,并制定解决事故的方案和防止事故再次发生的措施,将由于问题和事故对业务产生的负面影响减小到最低的服务管理流程。在问题管理这部分要做好问题处理过程的日志的功能,对于问题的处理提供查询的功能,可以追踪问题以防止类似问题再次发生。 变更管理:在最短的时间窗口内完成基础架构或服务的变更而对其进行控制的服务管理流程。变更管理的目标是确保在变更实施过程中使用标准的方法和步骤,尽快地实施变更,以将由变更所导致的业务中断对业务的影响减小到最低。 可行性管理:通过分析用户和业务系统的可行性需求并据以优化和设计IT基础架构的可行性,从而确保以合理的成本满足不断增长的可行性需求的管理流程。可行性管理是一个前瞻性的管理流程,它通过对业务和用户可行性需求的定位,使得IT服务的设计建立在真实需求的基础上,从而避免IT服务运作中采用了过度的可行性级别,节约了IT服务的运作成本。 (编辑:衢州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |