Вы здесь

Одновременное удаленное управление/администрирование несколькими linux системами

Доброго времени суток!

С наступившего 2013г. в конторе начался плавный ВендеКапец.
На данный момент он настал только на десятке машин. В общей сложности в сети больше 300 машин.

Есть ли какие то системы с помощью которых можно не только поставить программы на пользовательские машины,
но и, к примеру переписать правила iptables или забрать с сервера новый конфиг?

Т.е. нужна система поддерживающая выполнение команд на пользовательских машинах, управление файлами, демонами и пр.

Ни чего вразумительного для Linux в интернете я так и не нашел. SSH рулит, но только для одной машины. Мне нужно много одновременно.

LinuxID написал:
...Ни чего вразумительного для Linux в интернете я так и не нашел...

:)))

Google:

About 4,070,000 results (0.35 seconds) 

Ткните меня носом в ссылку на систему с помощью которой я могу на 300+ машин одновременно обновить Chomium или заменить xorg.conf.

—

Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)

Пока не пришёл охочий до еды нога, предлагаю почитать про puppet, chef и прочее в том же духе.

—

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

охотчий до еды нога пришел заявить, что WS-Managment пока что в линуксе пребывает в зачаточном состоянии и как то работает только в сусе и рхеле ( ну и в федорке шевелится )
Единственные ебулды по этой теме для генты у мну в оверлее лежат недоделанными - никому не нужно.
Так что бинхосты, пуппеты и прочие цфенгине; ну и да - тяжко вздыхаем по SMS серверу и прочим плюшкам AD.

NightNord: флуд удалён
NightNord: удалено детсадовское перекидывание продуктами жизнидеятельности тов. Анархиста и тов. слепноги в привычном им безграмотном стиле

—

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga написал:
P.S обновить Chomium - как вас угораздило так вляпатся ? :)

Ну я как бы для примера. А что с ним не так? На нем у нас бОльшая половина конторы сидит. Остальные на лисе и чел. 10 на опере и 10-15 на эксплореле.

NightNord: ответ на флуд и провокацию - флуд и глупость

—

Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)

Licno ja na 500+ hostax eto delaju s pomosc'ju etogo. :)
Pravda Chroma tam net - ibo servera!.. :D

и как там с чем то вроде


select * from "Linux3"_OperatingSystem where Version like "Gentoo%"

для фильтрации правил и вообще ? :))))

Все так же на каждый чих надо на "500+" ставить агентов ?

Еще раз - с такими вещами в линукс экосистеме полный п, ибо школота не знает, студентота не понимает, а редхата на все сразу и везде не хватает ;) поэтому рюшечки к кедам - запросто,
а бодатся с MS в менеджменте десктопов - это еще подрасти надо

NightNord: удалено детсадовское перекидывание продуктами жизнидеятельности тов. Анархиста и тов. слепноги в привычном им безграмотном стиле

—

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

NightNord: Выясняйте свои отношения в _личке_. Это слева. Спасибо.

—

:wq
--
Live free or die

slepnoga написал:
и как там с чем то вроде


select * from "Linux3"_OperatingSystem where Version like "Gentoo%"

для фильтрации правил и вообще ? :))))

U menja eto delaetsja tak:

bcfg2show "g=linux g=gentoo"

a

bcfg2ctl "g=linux g=gentoo" -q

obnovljaet konfiguraciju tolko dlja nix

bcfg2ctl p=mail-server -q

obnovljaet konfiguraciju tolko dlja vsex mail serverov...

i t.d...

slepnoga написал:
Все так же на каждый чих надо на "500+" ставить агентов ?

Kazdyj host podkljucaetsja k sisteme odin raz komandoj

bcfg2add HostNameOrIPaddress

slepnoga написал:
Еще раз - с такими вещами в линукс экосистеме полный п, ибо школота не знает, студентота не понимает, а редхата на все сразу и везде не хватает ;) поэтому рюшечки к кедам - запросто,
а бодатся с MS в менеджменте десктопов - это еще подрасти надо

Ne sudite po sebe da i ne sudimy budete (C)... ;) Nu prislos wrapper/front-end napisat samomu - tak eto kak by normalno v *NIX-mire... Dovedu do uma i otdam v mainsteam.

A takaja sistema (adminil na predyduscej rabote) ispolzuetsja vsem mirovym naucnym soobscestvom i upravljaet tysjacami serverov! Tam mozno vse! Zadav sisteme MAC address i profile, dostatocno vkljucit pitanie i polucis gotovyj server! Dlja primera tolko odin iz proektov (4ast sistemy): http://www.gridpp.ac.uk/. Edinstvenno, cto v quattor'e ne nravitsja - ona strogo RPM-orientirovana.

U menja eto delaetsja tak:
bcfg2show "g=linux g=gentoo"

Еще раз - оно agent free ? если да - то оно по ssh лезет с правами рута ?

NightNord: флуд удалён

—

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

NightNord: флуд удалён

—

:wq
--
Live free or die

NightNord: флуд удалён

NightNord: Анархист разбанен. За упоротость мы не баним - в противном случае ты будешь в первых рядах. И выясняйте свои отношения в личке, оба.

—

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

1. Не вижу связи транслита с серверами... :)
2. Уже подробно объяснял однажды тут на форуме, почему с работы могу только транслитом, не хочу повторяться, - не устраивает - могу вообще не писать. Других вариантов нет, к сожалению.
3. По сути - агент есть, но своеобразный... специфика этой системы в том, что она не имеет ни скриптов, ни языка... ;) - все управление через ХМЛ-таблицы, по SSH/SSL только данные пересылаются, сервер подготавливает/рассчитывает конфигурацию на основании данных предоставленных клиентом (a клиент берет их по фактическим/реальным данным), и клиент сам ее устанавливает.
4. Такой подход существенно повышает надежность и безопасность системы в целом, т.к. нельзя по ошибке в х86 сервер заслать конфигурацию амд64, или в виртуальную машину конфигурацию физической и т.д. и т.п.

P.S. Эта система создана учеными-математиками и, наверное, это единственная система такого рода, которая имеет обоснованную и рассчитанную модель функционирования, обеспечивающую ее надежность и целостностность. Точнее даже наоборот - сначала разработали и просчитали мат.модель, создали теорию, а потом уже на базе этой теории строили систему. На ней кучу научных работ и статей сделано.

3. По сути - агент есть, но своеобразный... специфика этой системы в том, что она не имеет ни скриптов, ни языка... ;) - все управление через ХМЛ-таблицы, по SSH/SSL только данные пересылаются, сервер подготавливает/рассчитывает конфигурацию на основании данных предоставленных клиентом (a клиент берет их по фактическим/реальным данным), и клиент сам ее устанавливает.

Гениальное переоткрытие WS-Management :) только куда то подевали все транспорты и вбили вместо них костыль в виде SSH :0

2. Уже подробно объяснял однажды тут на форуме, почему с работы могу только транслитом, не хочу повторяться, - не устраивает - могу вообще не писать. Других вариантов нет, к сожалению.

http://translit.ru/

П.С Россиянам не понярны мотивы распространенности транслита в Прибалтике

—

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

> только куда то подевали все транспорты и вбили вместо них костыль в виде SSH :0

SSL там. SSH тут не для взаимодействия клиента с сервером.

>>Бодатся с MS в менеджменте десктопов
Политики? Правка инсталляционных пакетиков оркой? У мс имхо нет ничего приличного. Более менее работающие вещи - продает не мс и за отдельные деньги. И таки да, приходжится скрипеть на ваське с долбанным апи, дабы получить нечто очень нужное, ну к примеру смена пароля локального администратора на хостах, или массовой замены принтера. И для всего этого надо ооочень много чего знать и уметь. Для автоматического управления сотней линей достаточно ssh плюс не очень сильные навыки скрипения. Это ИМХО много проще чем винда. И практически не меняется, а в отличие от МS

Первое что приходит на ум Webmin. Но он врятли вас устроит. Очертите для себя точные задачи которые хотите выполнять на этих машинах и пишите скрипты.

может попробовать использовать diskless linux, по одному серваку на н-ное количество десктопов.. и управлять надо меньшем количеством систем :) У нас в Кишиневе один чувак реализовал такое решение в интернет кафе, тоже на генту..
вот пара ссылок, в одной он рассказывает о своем опыте..

http://www.youtube.com/watch?v=Sdsic3d8XN8
http://newmoldova.com/node/438

спасибо за ссылки .. почитаю.
Пообщавшись с админами прова открыл для себя ithreads. Они мне слили примеры аля fping и для перепрошития свитчей по telnet через tftp. Курю.
Идея многопоточной рассылки в принципе понятна и тестовая авторизация на все 10 вендекапец отрабатывается. И даже что-то можно выполнить на них заслав команду по ssh.
НО!!! Если сеть типа 192.168.0.0/24 и кол-во потоков < 254 то подогнанный админами скрипт отрабатывает в течении 3х мин.
Меняем маску на /22 и можно курить долго долго. Моментально съедается вся память и быстро растет swap. Это такой скрипт или все же threads больше 254 не тянет?

А при желании можно написать шаблон и прикрутить веб морду.

А чем не решение моей хотелки??? Правда сбор логов (чем и как) я пока не осознал.

—

Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)

Если авторизация в ssh по ключам то собственно накостовал для Вас скриптик.
Не то что бы я был продвинутым программистом на питоне и наверное меня тут и исправят и покритикуют но вот что вышло.
http://pastebin.com/Vrnx9hx7

Скрипт - многопоточный.
Колличество одновременно выполняемых потоков определяется в num_threads = 5
то есть одновременно на 5 машинах. Если нужно больше - увеличьте.

Собстна можно использовать или скрипты или команды.
1) Создаем список серверов вида

s1.example.com
s2.example.com
...
s55.example.com

сохраняем в файл server.list

Пример запуска
a) с командой

./rcom.py -c "sudo /etc/init.d/nginx restart" -f server.list -l nginx_restart

команда исполнится на удаленных машинах из списка server.list а лог о выполнении положит в TOTAL_nginx_restart (директория лога определяется в скрипте log_dir = '/home/user/logdir')

b) исполняем скрипт на удаленной машине
пишем скрипт (ну на пример на bash)

#!/bin/bash
sudo /etc/init.d/nginx restart

сохраняем в файл scrips.sh (делаем его исполняемым разумеется)

./rcom.py -s /path/to/script/script.sh -f server.list -l nginx_restart

скрипт разольется по удаленным машинам, выполнится и вычистится.

вообщем если будут вопросы - пишите.

log_file = open() … write(), flush(), … close() … glue_log() — это несколько громоздко. стандартный модуль logging вполне годен и проверен в multithreaded. кроме того, там есть logging.handlers.SysLogHandler, logging.StreamHandler(sys.stdout) — чтобы уж скрипт совсем годен был и удобен в управлении логированием «в куда угодно»

вызовы subprocess.call() со сборкой аргументов в строку тоже потенциально опасны — известно чем :) ну и кроме того, в production-level решении необходим механизм запуска несколько иной — не использующий pipe при выводе (ибо если запускаемый скрипт не будет делать flush() после каждой строки и навернется — мы ничего не получим из вывода) и имеющий возможность прерывания по таймауту (о5-таки хотя бы SIGTERM и потом SIGKILL). Я использовал как базис идею pty fork из PExpect для реализации подобного — ибо стандартные модули все же не дают нужного функционала.

ну и мне кажется совершенно необходимым более тонкий контроль за выполнением как потоков так и задачи в целом — в условиях десятков-сотен целевых хостов нужно бы продумать ситуации «застревания» потоков и продолжения выполнения после прерывания или в случае невозможности выполнить скрипт на каком-то подмножестве целевых хостов.

спасибо за скрипт. Покумекаю на досуге.

—

Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)

Оценив уровень ваших запросов и иже с ним, думаю может это вас устроит... ;)

flintstone написал:
может попробовать использовать diskless linux, по одному серваку на н-ное количество десктопов.. и управлять надо меньшем количеством систем :) У нас в Кишиневе один чувак реализовал такое решение в интернет кафе, тоже на генту..
вот пара ссылок, в одной он рассказывает о своем опыте..

http://www.youtube.com/watch?v=Sdsic3d8XN8
http://newmoldova.com/node/438

Интересное решение. Но это годится когда все машины пользунов одинаковые, ну или почти одинаковые. А с нашим зоопарком молодых и старых не только машин он и пользователей ... да и не все машины PXE умеют.

—

Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)

LinuxID написал:
...Интересное решение

И чем же?.. оно интересно только с точки зрения бизнеса, технически - абсолютно типовое решение.

LinuxID написал:
...Но это годится когда все машины пользунов одинаковые...

Абсолютно неверное утверждение - по МАК-адресам прописываешь разные стартовые образы и все!..
А общие приложения монтируешь отдельно.

LinuxID написал:
да и не все машины PXE умеют.

Тоже неверно! Даже самые старые компы и/или сетевые карты, которые еще живы сегодня, поддерживают загрузку по сети, необязательно ведь именно PXE использовать! Да, если что, поставить/заменить сетевую карту на нужную нынче не проблема - копейки стоит...

P.S. Просто для справки: 20 лет назад я сам запускал офис на 40 бездисковых раб.мест с ДОСом и Виндой версии 3.11. A вы вряд ли используете более старые компы... :)
Правда там был Новелл, но в данном контексте это непринципиально...

LinuxID написал:
Интересное решение. Но это годится когда все машины пользунов одинаковые, ну или почти одинаковые

Ну LiveCD умудряются на очень разных машинах работать, разве нет?

—

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Почти так... но ядро все равно одно, а это не всегда эффективно... У LiveCD другая цель.

LinuxID написал:
Мне нужно много одновременно.

Только не соблазняйся на самописные сриптики+ssh. Если активно надо удалять/сетапить пакеты, то тут хвалят fabric, в частности.

а почему собственно не соблазняться?

ну с точки зрения админа в них ничего сильно страшного нету
Если у вас начальство с "бетоном " в голове - то юзай наздоровье

П.С в нормальных местах за неподдерживаемые, недокументированные, завязанные на одного админа скрипты ....

—

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Стать нормальным админом, пропустив «самописание скриптиков» полагаю, затруднительно. Как и внезапный переход на любую из вышеперечисленных Систем Управления Сущностями. Все же посложнее они будут чем их аналоги от MS

slepnoga написал:
П.С в нормальных местах за неподдерживаемые, недокументированные, завязанные на одного админа скрипты ....

Ну похоже я в не нормальном месте работаю ибо нас 3 "типа админа", один из которых аля эникейщик а второй умеет выбивать из руководства деньги на железо. В Win системах они оба вполне адекватно разбираются, но про linux они только слышали. С учетом меня уже и увидели но подходить к нему боятся. Ну не приучены они к консоли и клаве. Т.ч. всеми серверами рулю только я.

ЗЫ Организация наполовину военная, т.ч. даже недельные запои прощаются половиной премии и выговором. А вот уволить не могут, пока я сам не захочу. Проверенно.

—

Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)

myaucher написал:
а почему собственно не соблазняться?

Ну это исходя из моего скромного опыта. Поначалу казалось, что скрипты это прекрасно, но с увеличением количества машин и всяких задач, число проблем росло быстрее тех, что решались скриптами. В итоге начал пробовать всякие папеты. И оказалось, что все, что я делал скриптами, уже давно придумано, реализовано и отшлифовано. Причем, если бы я в одно лицо пилил бы такой функционал, мне бы потребовалось лет 100 на реализацию.

alexanderyt написал:
LinuxID написал:
Мне нужно много одновременно.

Только не соблазняйся на самописные сриптики+ssh. Если активно надо удалять/сетапить пакеты, то тут хвалят fabric, в частности.

Мне не только сетапить нужно. Роуты на DMZ прописать всем, например. Да мало ли.

—

Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)

LinuxID написал:
alexanderyt написал:
LinuxID написал:
Мне нужно много одновременно.

Только не соблазняйся на самописные сриптики+ssh. Если активно надо удалять/сетапить пакеты, то тут хвалят fabric, в частности.

Мне не только сетапить нужно. Роуты на DMZ прописать всем, например. Да мало ли.

Всякие scm это делают элементарно.

я для этих целей внедряю Ansible, но там туговато с gentoo-specific фичами, многое приходится изобретать самому. А так - пользователь, авторизуется по ssh-ключу, некоторые действия делает через sudo. Пользователи, их ключи и политики - в LDAP

—

Нейтральность - высшее достижение сознания!

Интересно... я сделал нечто подобное (метакоманды, wrapper-скрипты) на базе BCFG2, но без LDAPа и без SSL.

P.S. Спасибо slepnoge за http://translit.ru!