2022年自动化运维管理PDF .pdf
《2022年自动化运维管理PDF .pdf》由会员分享,可在线阅读,更多相关《2022年自动化运维管理PDF .pdf(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、服务器自动化运维管理方案第 1 页共 20 页_ 服务器自动化运维管理方案_ 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 20 页 -服务器自动化运维管理方案第 2 页共 20 页目录第 1 章自动化运维概述.31.1.背景.31.2.自动化运维体系介绍.31.3.开源自动化运维工具简介.41.4.常用自动化运维工具对比选型.5第 2 章Puppet 使用说明 .72.1.Puppet 简介 .72.2.Puppet 部署说明.82.2.1.Puppet 服务器端部署.82.2.2.Puppet 客户端安装.82.2.3.证书分发.92.3.Puppet 使用说明.92.3.
2、1.Puppet Server架构介绍 .92.3.2.Puppet 脚本编写规范.92.3.3.Puppet 资源.102.3.4.资源使用实例.11第 3 章Func 安装使用.153.1.Func 介绍.153.2.Func 安装与配置.153.3.Func 使用说明.173.3.1.Func 服务器群组管理.173.3.2.Func 模块说明.183.4.常用模块使用说明.18第 4 章附录 .204.1.参录资料.204.2.招贤纳士.20名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 20 页 -服务器自动化运维管理方案第 3 页共 20 页第1章 自动化运维概述1.
3、1.背景公司的 XXXX 项目于近期上线,预计会短时间内部署几百组服务器,以运维部目前有限的人手,如果不采取自动化安装、配置及监控方案,工作量可想而知,甚至会出现服务器爆满却来不及上新系统的情况。因此运维部的工程师都有必要熟练掌握自动化运维系统的使用。1.2.自动化运维体系介绍一个完善的自动化运维体系包括系统预备、配置管理以及监控报警3 个功能模块:1.系统预备i.自动化安装操作系统及常用软件包2.配置管理i.自动化部署业务系统软件包并完成配置ii.远程管理服务器(开关服务等)iii.变更回滚3.监控报警i.服务器可用性、性能、安全监控ii.向管理员发送报警信息根据提供的功能不同,自动化运维工
4、具也可以分为以下3 类,如下表所示:预备类工具配置管理类监控报警类Kickstart Chef Nagios Cobbler ControlTier OpenNMS OpenQRM Func Zabbix Spacewalk Puppet Cacti 1.预备类工具名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 20 页 -服务器自动化运维管理方案第 4 页共 20 页预备类工具可以使Linux 操作系统及软件安装自动化。它们借助服务器上的软件包系统比如rpm 或者 apt 来安装软件包,甚至会做一些粗略的配置工作。2.配置管理类工具配置管理类工具可以自动化部署常用的应用程序,设
5、置参数或者开启一个新服务器上的服务,也可以用来把对操作系统及业务支撑系统的变更管理回滚到上一版本。3.监控报警类工具监控工具用来收集服务器数据,从而生成可用性、性能和其它系统状态的报告。可用性监控可以第一时间向运维人员发送业务不可用的警告,以便第一时间处理,减少业务中断时间。红帽子资助的Genome 项目是将预备类、配置管理类集成到一起的框架,如下图所示:1.3.开源自动化运维工具简介预备类工具配置管理类监控类Kickstart Chef Nagios 针对红帽 Linux/Fedora等发行版的自动化安装方式,简单的讲就是让系统在安装过程中从一个ks.cfg 配置文件中自动获取所有需要配置的
6、参数。源于 Anaconda项目。技术支持:红帽/Fedora 社区一个系统集成框架,可以用Ruby等代码完成服务器的管理配置并编写自己的库。技术支持:OpsCode 起始于:2009 年 1 月官方网站:http:/ Enterprises【发起人】Ethen Galstad【起始于】1999 年【官方网站】http:/www.nagios.org/名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 20 页 -服务器自动化运维管理方案第 5 页共 20 页Cobbler Cfengine OpenNMS 为了实现快速网络安装环境的Linux 安装服务器,可以为数量众多的 Linu
7、x 服务自动化执行任务。【发起人】Michael DeHaan【技术支持】红帽/Fedora 社区【起始于】2007 年之前【官方网站】https:/fedorahosted.org/cobbler/cfengine是一个用 C 语言开发的功能强大的自动化系统管理工具.引用其官网的说法cfengine 是一种 UNIX 管理工具,其目的是使简单的管理的任务自动化,使困难的任务变得较容易。【起始于】1993 年【官网网站】http:/ group【起始于】2005 年之前【官方网站】http:/www.opennms.org/OpenQRM Func Zabbix【描述】针对数据中心管理的开源平
8、台,针对设备的部署、监控等多个方面通过可插拔式架构实现自动化的目的,尤其面向云计算/基于虚拟化的业务。【发起人】Matt Rechenburg【起始于】2005 年之前【官方网站】http:/ Unified Network Controller,Fedora 统一网络控制器,用于自化的远程服务器管理。【发起人】Michael DeHaan 等【技术支持】红帽/Fedora 社区【官方网站】https:/fedorahosted.org/func/【描述】用于监控网络上的服务器/服务以及其他网络设备状态的网络管理系统,后台基于 C,前台由PHP 编写,可与多种数据库搭配使用。提供各种实时报警机
9、制。【技术支持】Zabbix 公司【发起人】Alexei Vladishev【起始于】1998 年【官方网站】http:/ Puppet Cacti【描述】针对红帽/Fedora 等发行版的软件更新管理软件,同时也提供预备和监控的功能。这个项目衍生了红帽 Network Satellite产品。【技术支持】红帽【起始于】2001(Red Hat Network)/2008【官方网站】http:/ Labs【官方网站】http:/ 是一套基于PHP,MySQL,SNMP及 RRDTool开发的网络流量监测图形分析工具。它通过 snmpget 来获取数据,使用RRDtool 绘画图形,它提供了非常
10、强大的数据和用户管理功能,同时也能自己增加模板,功能非常强大完善。起始于 2004 年【技术支持】Cacti Group 1.4.常用自动化运维工具对比选型预备类工具Kickstart Cobbler 供 Anaconda 读取的无人值守安装配置脚本,自动化安装配置过程繁琐一个集成工具,集成了PXE、DHCP、DNS 和Kickstart 服务管理和 yum 仓库管理,简化了运维工程师工作量名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 20 页 -服务器自动化运维管理方案第 6 页共 20 页集中化配置管理类Chef puppet 1.需要用户熟悉 ruby 语言,入门门槛高,
11、管理模块开发周期长2.资源脚本从前向后执行,维护调试繁琐3.chef 在配置中心服务器端需要依赖软件比较多,需要 couchdb、RabbitMQ、Solr、java和 erlang,配置过程复杂繁琐4.chef 的配置管理文件放在couchdb 和 solr索引等二进制文件中,通过远程命令工具knife来操作这些配置,维护不方便5.chef 的用户群少,出了问题不方便排查1.Puppet 自有的配置语言较为高级,入门简单,管理模块开发周期短2.puppet 资源之间有显式的依赖关系,与这些资源在配置文件的位置或前后没有关系3.puppet 安装简单,需要的支持软件也少,配置过程十分简单4.p
12、uppe 的配置管理文件为puppet 语言描述的文本文件,易于发布、备份和扩展5.puppet 的用户很多,Google、Redhat等大公司都在使用,可以借鉴成熟的经验Cfengine Puppet+Func 1.老牌的配置管理工具,功能强大,但语法晦涩,学习、维护成本高1.新兴的配置管理工具,语法简单,易于学习、维护,但远程执行命令Exec资源只能返回成功与否,执行过程无法跟踪查看,需要和简单易用的Linux集群管理工具Func 配合使用监控类工具监控类工具中有Zabbix、Nagois 和 cacti等工具,zabbix 和 Nagois+cacti组合都是很优秀的工具,鉴于 zabb
13、ix 参考资料较少,选择了常用的Nagois+cacti组合我们的自动化配置管理系统采用了开源的Puppet 与 Func 的组合,Puppet用来对服务器及业务系统进行统一配置,Func 用来集中化管理多台服务器。名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 20 页 -服务器自动化运维管理方案第 7 页共 20 页第2章 Puppet使用说明2.1.Puppet简介Puppet 是 Puppet Labs基于 ruby 语言开发的自动化系统配置工具,可以以C/S 模式或独立模式运行,支持对所有UNIX 及类 UNIX 系统的配置管理,最新版本也开始支持对Windows操作系
14、统有限的一些管理。Puppet 适用于服务器管理的整个过程,比如初始安装、配置、更新以及系统下线。典型的 Puppet 架构为星型结构,Clients 默认每 30 分钟请求一次Server 端,确认是否有新的变更操作指令,puppet支持以节点的方式管理若干的服务器群组,常见的架构图如下:名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 20 页 -服务器自动化运维管理方案第 8 页共 20 页2.2.Puppet部署说明2.2.1.Puppet 服务器端部署Puppet 服务器端可以安装于常见的Linux 发行版本中,我们选了陕西西安机房的一台服务器作为了Puppet 服务器端
15、,操作系统为Centos 5.4 32位。主机名设置为jvpuppet,并在DNS中创建一条指向该IP的A 记录 Puppet 的安装方式支持源码安装、yum 和 ruby 的 gem 包安装,Centos 可以直接使用yum 来安装,Centos的默认源中没有puppet,需要先安装EPEL包。Tips:什么是EPEL EPEL(http:/fedoraproject.org/wiki/EPEL)是由Fedora 社区打造,为RHEL 及衍生发行版如CentOS、Scientific Linux 等提供高质量软件包的项目。安装过程如下:1.安装 EPEL:rpm Uvh http:/ pup
16、pet 服务端yum y install puppet-server 3.启动 puppet Server Service puppetmaster start2.2.2.Puppet 客户端安装Puppet服务器端对客户端的管理是基于主机名的,所以在安装之前需要为客户端设置唯一的主机名,主机名命令最好能体现出主机的机房、业务系统名称及 IP 信息。客户端安装的过程如下:1.安装 EPEL 包:rpm-Uvh http:/ puppet 客户端:名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 20 页 -服务器自动化运维管理方案第 9 页共 20 页yum-y install p
17、uppet2.2.3.证书分发Puppet 客户端与服务器端是通过SSL 隧道通信的,客户端安装完成后,需要向服务器端申请证书:1.首次连接服务器端会发起证书申请,命令如下:puppetd-server test2.服务器端可以用puppetca list命令查看到申请证书的客户端主机名3.puppetca s命令可以为特定的主机颁发证书,puppetca s and a 表示给所有的主机颁发证书2.3.Puppet使用说明默认安装好的Puppet 没有任何配置管理功能,需要运维工程师自己开发配置管理功能模块。2.3.1.Puppet Server架构介绍Puppet Server默认安装完毕
18、后,位于/etc/puppet目录下,目录结构及简单的描述如下表所示:jvuserpuppet puppet$pwd/etc/puppet jvuserpuppet puppet$ls auth.conf client 访问 puppet server的 ACL 配置文件fileserver.conf puppet server作为文件服务器的ACL 配置文件manifests Puppet 脚本主文件目录,至少需要包含site.pp 文件modules Puppet 模块目录,存放Puppet 脚本的功能模块namespaceauth.conf 命名空间ACL 配置文件puppet.conf
19、 Puppet 服务器端配置文件2.3.2.Puppet 脚本编写规范Manifests为 puppet脚本主目录,site.pp为程序入口脚本文件,Modules目录为 puppet 管理脚本模块所在目录,每个模块也有各自的主目录及入口函数文件,如下图所示:名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 20 页 -服务器自动化运维管理方案第 10 页共 20 页2.3.3.Puppet 资源Puppet 提供了 48 种资源类型,用户也可以开发一些其他资源,下表列出了常用的几种资源,用这些资源就可以完成大多数系统的配置管理了,如下表所示:资源类型描述文件文件管理资源,用于管理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年自动化运维管理PDF 2022 自动化 管理 PDF
限制150内