[Sysadmins] Архивирование настроек системы и прочее...

Fr. Br. George =?iso-8859-1?q?george_=CE=C1_altlinux=2Eru?=
Вс Дек 3 14:05:31 MSK 2006


On Wed, Nov 29, 2006 at 11:44:17AM +0200, Dmitriy L. Kruglikov wrote:
> Доброго времени суток, коллеги.
> 
> Прошу коллективного разума для анализа и приведения в 
> удобоваримое состояние нескольких идей,
> описанных в статье:
> http://www.freesource.info/wiki/DmitriyKruglikov/Raznoe/etcmirror
Когда я работал в support@, у нас висела очень похожая задача.
Вкратце она формулировалась так:

     Исходная стуация:
0. От клиента пришла заявка, что что-то не работает на сервере.
1. Админ зашёл на сервер клиента и что-то там правил до тех пор, пока
   оно не заработало.
2. Админ выполнил ритуальные действия по:
   (a) сохранению изменённого
   (b) документированию, что и зачем изменил
   (c) закрытию заявки
3. Клиент подтверждает, что работает, заявка снимается

Попытки решить дело CVS-ом привели к бунту на корабле: неудобно
закидывать изменения, повсюду валяются метаданные, документировать
приходится _не_ там, где правил (в TT-системе).

Беда в том, что CVS, GIT и прочее -- это средства в первую очередь
совместной разработки, а никак не бэкапа. Средства же бэкапа, как
правило, имеют первой целью _полное_ восстановление, а не восстановление
конфигов, и, следовательно, жрут трафик так, что ими пользваоться
нельзя.

Соответственно, встала задача автоматизации ритуальных действий
(a) rsync? Наша идея была не в том, чтобы искать какие-то строки, а в
том, чтобы бэкапить _всё_, что изменилось _везде_, где лежат конфиги
минус логи и прочее автоизменяемое. То есть иметь список каталогов для
бэкапа и список исключений, которые бэкапить не надо. А бэкапить каждый
раз разницу плюс изменения в правах доступа.
(b) Сама процедура такого бэкапа должна была автоматически запускать
редактор отчёта (как это длается в CVS со товарищи). Отчёт должен быть
трёх видов: обязательный краткий -- для клиента и закрытия заявки,
автоматический со списком файлов (чтобы было понятно, что изменял) и
необязательный комментированный diff -- если что-то хитромудрое было
проделано.
(c) Затем получившийся пучок отсылался куда-то в хранилище, дабы не
пропадало; в идеале из него должен был вырезаться отчёт #1 и цепляться к
заявке. Без идеала -- copy-paste из веб-морды хранилища.

Бонусом от этого должны были стать:
- документированность конфигов
- возможность подключения к работе _другого_ админа
- полуавтоматическое восстановление конфигов из хранилища (возможно,
  даже в виде применения патчей на слегка другой базовой системе)

Но, увы, никто этим не занялся, а кто занялся -- не сделал.

Если вас интересует такая постановка задачи, можно подумать вместе над
развитием etcmirror. Может быть, в виде пары etcmirror+trac...

-- 
			George V. Kouryachy (aka Fr. Br. George)
			mailto:george at altlinux_ru



Подробная информация о списке рассылки Sysadmins