cfengine的哲学

最近在做基于cfengine的二次开发,目前正在进行的是系统初始化的工作。

开始的时候我直接对现有的shell脚本进行cfengine化,然而随着工作的深入,越发疑惑这么做的意义,使用脚本逐句执行的方式来运用cfengine有什么优势呢?不就是相当于使用了cfengine语法的“脚本”么?而且系统初始化后,如何保证这个状态呢?难道要再写一套“脚本”?

随后和老大的一番讨论让我发现我还是没有理解透彻cfengine对于promise的定义。即,promise是为了保证一种状态的不变。用户需要定义的就是这个状态。当然,对于复杂的cfengine没有提供原生支持的状态,还需要定义修复方法。

所以,使用cfengine首先要确定的是要达到什么状态,其次是状态意外改变后如何修复。

对于系统初始化,首先用cfengine描述出系统应达到的状态,而第一次运行,整个系统明显是“偏离”这个状态的,于是修复过程开始。

This entry was posted in cfengine, 运维 and tagged , . Bookmark the permalink.

4 thoughts on “cfengine的哲学

  1. Daniel Ho says:

    这个项目是边做边悟,悟了再做,螺旋式前进的过程。我觉得咱们是不是在做的过程中,把常用的方法整理成文,方便自己查阅,以后也不需要再回头整理一遍

  2. fate says:

    你的QQ或者msn是多少啊,小弟想向哥学习学习

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

Note: If you are replying to another commenter, click the "Reply to {NAME} ↵" button under their comment!