分类: LINUX
2008-11-25 14:22:57
目录
一、概述
二、工作环境
三、理论知识
(一)cfengine的程序结构及配置文件
(二)cfengine的工作方式
四、配置过程
(一)下载安装
(二) 准备工作
(三)工作方式二
1.对服务器端进行配置
2.对客户端进行配置
3.设为开机启动
4.排错:
5.新加入一台客户机
(四)工作方式一
1.配置客户机上的cfservd.conf
2.编辑服务器上的cfrun.hosts客户端列表
3.在服务器上运行cfrun
4.注意:
五、小结
正文内容:
一、概述
cfengine是一个功能强大的自动化系统管理工具.引用其官网的说法"cfengine是一种 UNIX 管理工具,其目的是使简单的管理的任务自动化,使困难的任务变得较容易。它的目标是使系统从任何状态收敛到一种理想状态。依照它的作者 Mark Burgess 所说,cfengine 总是使您的系统更接近于您所定义的配置; 它决不会使系统变得更糟。
“确实十分的拗口,也难以理解.简单的跟大家说说我的理解,很简单,就是你想你的系统应该是十分样子,你就可以使用cfengine来实现,它可以保证你的系统总是维持你所希望的那个状态。也就是说有黑客进来了修改了某个重要的配置文件的内容或者权限,也会被cfengine自动修复!
还有一种经常遇到的情况,有少则几台多则成千上万台机器,现在需要临时的改变其一个配置,例如删掉某个帐号,停掉某个服务,一般我们只能不厌其烦的登到每一台机器上重复的完成这些动作,但是有了cfengine,一个命令就可以搞定了.是不是很诱人?
cfengine大概的功能有:
·检查和配置网络接口
·编辑系统和用户的文本文件
·维护符号链接
·检查和设置文件的权限
·删除垃圾文件
·检查重要文件和文件系统的存在
·控制用户脚本和shell命令的执行
·基于类的判定结构
·进程管理
为了节省篇幅,我这里就不一一介绍了,大家可以访问它的官方网站,里面的文档十分丰富
而且它还十分的人性化,给出了中文主页
二、工作环境
主机名 |
操作系统 |
ip地址 |
centos1 |
centos 5 |
192.168.0.114 |
centos2 |
centos 5 |
192.168.0.115 |
centos3 |
centos 5 |
192.168.0.116 |
注:centos5 是redhat enterprise 5的重编译开源版本.功能使用与企业版几乎一样.
Cfengine是一个用于设置和维护计算机系统的工具,包含了以下几个组件:
·cfagent 自动配置代理(必须),其配置文件为cfupdate.conf和 cfagent.conf
·cfservd 文件服务和远程激活服务(推荐),其配置文件为cfservd.conf
·cfexecd 计划和报告服务(建议)
·cfenvd 异常检测服务(强烈建议)
·cfrun 远程激活cfagent的方法(需要的时候用这个),其配置文件为cfrun.hosts
·cfshow 检查有帮助的数据库的内容的方法(辅助)
·cfenvgraph 异常检测服务cfenvd的附属工具(辅助)
·cfkey 密匙生成工具(每台主机运行一次)。
在下一节分析cfengine的工作方式的时候会解释几个关键程序及其配置文件的作用
cfengine有两种工作方式:
服务器激活方式:这是一种集中控制的方式,上图详细给出了整个流程.
1)服务器上运行cfrun,cfrun会根据cfrun.hosts中的主机列表来连接到某个客户机的cfservd程序
2)客户机上cfservd调用本机的cfagent程序
3)客户机上cfagent程序执行update.conf,连接到中央机的cfservd复制下载策略文件cafagent.conf
4)客户机下载成功后执行最新版本的策略文件,不成功就执行旧版本的.
注:update.conf的内容一般为一些非常简单的固定操作:下载策略文件,清理日志,重启服务,基本上这个文件创建好了之后就不会更改了.在下载策略文件的时候如果下载成功,会将原策略文件改名,加上.cfsaved后缀
客户端自主激活方式:相比上一种要简单一些,客户机独立执行cfagent (可以是定期执行,例如加入cron中)。样的情况下,客户机就不需要有cfservd程序了,整个流程也简化为图中的第3,4步。