Pull to refresh

Comments 24

UFO just landed and posted this here
Обращаю внимание, что выполняется команда restart, а не reload. Если, не дай Бог, вы не поставите запятую в конфиге nginx и он упадёт на ста машинах, вы также быстро поправите ошибку и на ста машинах он поправится.
Эмм, может наоборот? reload делает проверку конфига и при синтаксической ошибке не перегружает конфиг. Рестарт тупо гасит и поднимает сервер, что само по себе недопустимо на «высоконагруженном проекте».
Совершенно верно, писал вечером — перепутал. Спасибо, в топике поправил!
Пожалуйста. Забавно, что мне за это в качестве благодарности два минуса в К прилетело. -)
Хотя, может это от торопыги снизу ↓.
Ааааааа! Они канпеляют в deb-based дистрибутивы программы из сорцов! Сделайте меня развидеть это.
А вообще интересно, покопаю потом эту штучку.
Есть ещё puppet для автоматизации управления серверами.
А можно использовать довольно необычный способ, указав при конфигурации (./configure) csync2 путь к тарболлу с библиотекой:
./configure --with-libsqlite-source=/path/to/libsqlite.tar.gz

Что-то не совсем уловил необычность данного способа, а так же что по мнению автора данный способ даёт.
Обычно требуется указать путь к папке с уже установленной библиотекой, а не с тарболлом.
Согласно хелпу по конфигурированию csync2 это даёт возможность не заморачиваться с установкой библиотеки.

Я повторюсь, программа не новая, а поэтому компиляция из исходников скорее всего и не потребуется, она приведена лишь для полноты информации.
Если ssl использовать не планируется, то надо добавить в /etc/csync2.cfg
nossl *-sync *-sync;

Также надо проверить, что csync2 добавился в inetd, если что добавить
csync2 stream tcp nowait root /usr/local/sbin/csync2 csync2 -i

Да, и в /etc/services еще должен быть прописан TCP port 30865.
>Существуют системы, позволяющие нодам подгружать удалённые конфиги.
А разве на csync2 нельзя простыми средствами организовать?

не понял вопрос, топик как раз и рассказывает о том, как это «по-простому» организовать на csync2
В контексте «если вы каждый день меняете машины в кластере», разве csynс2 не позволяет подгружать удалённые конфиги?
Нет, он просто синхронизирует уже установленные ноды, а указанные в конце топика программы позволяют раздавать разным нодам разные конфиги, а конфигурирацию производить на одной управляющей машине. Пример: wiki.opscode.com/display/chef/Architecture
csync2+chroot разве не позволяет реализовать тоже самое?
chef-client жрёт много ОЗУ (
На всякий поясню — [x]inetd делает chroot на основании хоста…
csync2+chroot разве не позволяет реализовать тоже самое?
chef-client жрёт много ОЗУ (
упс ff упал, после поднятия не туда запостил (
Хотел бы уточнить такой момент, чтобы синхронизировать полностью три ноды, надо запускать csync -x на одной ноде, или на всех?
Изменения, которые произошли на ноде 1 при запуске на ней csync2 перельются на ноды 2 и 3
Изменения, которые произошли на ноде 2 при запуске на ней csync2 перельются на ноды 1 и 3
Понял вас, спасибо своевременный за ответ.
> Согласитесь, удобно иметь набор файлов (например конфигов), которые всегда буду одинаково выглядеть на серверах с одинаковой ролью?

Для этого git лучше подходит: в дополнение к синхронизации получим историю изменений.
Мне часто поступают вопросы, что делать, если появилась ошибка Could not connect?

Чаще всего на стороне принимающей ноды не запущен listener или закрыт порт 30865.

Для запуска listener вручную запустите на принимающей ноде команду
csync2 -ii &

Для проверки порта c другой ноды просканьте порт nmap; ом
nmap IP -p 30865


Теперь всё должно работать!
Sign up to leave a comment.

Articles