Содержание

Коротко о CFengine

Это первая попытка автоматизации централизованного конфигурирования Unix подобных операционных систем. Проект развивается с 1993 г.

В настоящее время актуальна Cfengine 3 в двух редакциях лицензирования:


Коммерческая версия стартовала в 2009 как autonomic configuration management tool.

About Cfengine

Cfengine is an automated suite of programs for configuring and maintaining Unix-like computers. It has been used on computing arrays of between 1 and 20,000 computers since 1993 by a wide range of organizations. Cfengine is supported by active research and was the first autonomic, hands-free management system for Unix-like operating systems. Cfengine is an autonomic maintenance system not merely a change management roll-out tool. Cfengine has a history of security and adaptability.

Модель

Модель определяет стратегию администрирования.

Описание среды тестирования

Можно долго рассказывать о возможностях и перспективах данного направления. Ленивость администратора основная предпосылка идея ее реализации. Возьмем реальную ситуацию с администрированием каскадного прокси squid. Исходные данные:

     hostname    Hash       Multiplier Factor     Actual
     proxy1.ru   9acf115a   1.000000   0.200000   0.069234
     proxy2.ru   470bd587   1.000000   0.200000   0.467996
     proxy3.ru   c70ae388   1.000000   0.200000   0.021860
     proxy4.ru   b4019e9c   1.000000   0.200000   0.363412
     proxy5.ru   2045610f   1.000000   0.200000   0.077499

Да проще настроить unison ,rsync и другие программы но это не лучший вариант для администрирования . В последствии обязательно возникнет необходимость в изменений владельцев, перезапуск процессов и многое другое…

Subversion

Ставим и настраивем subversion. Почему он :

Особой разницы нет можно разделить по разным серверам cfengine и svn или использовать уже существующий svn. Установка очень простая и понятная относительно работы с SVN. Ставим его и все остальное.

apt-get install svn, websvn, cfengine, libapache2-svn, apache2 , apache2-mpm-prefork

Использовать или нет родной протокол svn на ваше усмотрение особого смысла в этом нет. Https подойдет в любом варианте на нем и остановимся.

Для начала создадим хранилище…..

В процессе тестирования (завершено и работает)

Данная схема использования cfengine & svn (subversion) в течении 3 месяцев находилась в режиме тестирования. Почему так долго !? Вопрос не столько технический скорее организационный. Донести и приять данную конструкцию требуется время. Как показала практика, были вопросы по настройке SVN и работе с ним. Не думаю, что данный аспект дополнительно к знаниям конфигураций будет лишним. Subversion - достаточно простое и полезное средство для организации не только своей работы но и коллективной. Дополнительный web доступ websvn позволяет сделать процесса изменений более наглядным и «прозрачным» для руководства. Защитится от всех возможных ситуаций не возможно, но от «шальных ручек» - да. Все изменения сделанные «очень умными админами» не через SVN в течении 5 минут возвращаются с исходное состояние.

 Subversioncfengine schema

cron (engine)

#
*/15  * * * *   /etc/cfengine/cron_cf.sh > /dev/null 2>&1
#! /bin/sh
#/etc/cfengine/cron_cf.sh 
svn update /etc/cfengine/
svn update /var/lib/cfengine2/masterfiles/inputs/
sleep 4
/etc/init.d/cfengine2 restart