LINUX.ORG.RU

Сообщения Bers666

 

systemd IOReadIOPSMax - ограничить read IOPS

Всем привет. До сегодняшнего дня был апологетом systemd, но вот натолкнулся на баг, который присутствует в Ubuntu / Debian (хз, может плохо тестировал).

Итак, нужно ограничить IOPS чтения для процесса. Запускаем транзитивный юнит kek:

 systemd-run --scope   --unit=kek \
 -p IOReadBandwidthMax="/dev/sda 10M"  \
 -p IOReadIOPSMax="/dev/sda 20" \
 bash 


далее идем вот сюда /sys/fs/cgroup/blkio/system.slice/kek.scope/ и смотрим в 2 файла. Один норм создался ( blkio.throttle.read_bps_device — ограничение полосы трафика ) а другой пустой — о чем и пост — ( blkio.throttle.read_iops_device ).

В общем Systemd не передает свой IOReadIOPSMax в cgroups-овый формат blkio.throttle.read_iops_device. Причем если вписать туда нужные значения вручную, то все работает. Т.е. к Cgroups претензий нет.

P.S. В Centos 7 этой штуки вообще нет.
P.P.S. Ограничение скорости работает из коробки, а IOPS нет

 ,

Bers666
()

Ubuntu: «Hash Sum mismatch» периодически

Итак, довольно часто появляется вот это сообщение, пример:

W: Failed to fetch http://nl.archive.ubuntu.com/ubuntu/dists/trusty-updates/main/binary-amd64/Packages  Hash Sum mismatch

W: Failed to fetch http://nl.archive.ubuntu.com/ubuntu/dists/trusty-updates/main/binary-i386/Packages  Hash Sum mismatch

E: Some index files failed to download. They have been ignored, or old ones used instead.


Как на десктопе, так и на серверах (одновременно на многих, от 30 до 200). Если ничего не делать, а подождать минут 1..30, и запустить apt-get update еще раз, то все проходит, а если нет, то никакие очистки кэша не помогают.

Зеркала используются разных стран: nl, us, sg. Версия Ubuntu 14.04.

Подозреваю, что зеркалами завладели криворучки :/
Посоветуйте, что делать, как сделать так, чтоб apt-get update 100% оканчивался правильно.

 , ,

Bers666
()

посоветуйте ПО для «очереди сообщений»

Привет всем. Мне нужен простой сервер очередей:
* нужен способ передать задачу ()определенному агенту-исполнителю, в ответ получить ID задачи и отслеживать статус, как только статус=готово, получить ответ.
* каждый сервер агент-подписан на свою и только свою очередь и берет оттуда свои задачи, исполняя не более N в момент. Грубо говоря, задача это исполнить bash скрипт с определенными параметрами, вернуть exit статус и stdout.
* авторизация между агентами и брокером, между создателем запроса и брокером.

Какое ПО попроще (rabbitmq?) способно с этим справится и какую модель взаимодействия выбрать? В терминах message queues я плаваю, так что не судите строго.

 , , ,

Bers666
()

graphite - нужен шаблонизатор и агент

Кто нибудь пользуется Graphite для собирания метрик с серверов? Проект впечатляющий, и как раз меня начал доставать немасштабируемый Collectd (серверов очень много). Вот только пока не понял я, как *удобно* рисовать графики в самом Graphite. Видно, что есть множество dashboards к нему, только все они больше для разработки, во всех надо вручную , используя набор функций и представлений Graphite, составлять графики. Я же хочу готовое, чтобы решить задачу — получить графики, разбитые по серверам, по типам ресурсов, но объединенные логически и с дополнительной обработкой.

Например, interface.eth0.tx+rx, ну и чтобы там был общий объем трафика за отчетный период, средняя скорость tx/rx. Для load average чтобы были объединены 3 графика в одном, для 1,5,15 минут. График Cpu должен быть для все ядер отдельный и средний, значение idle отрисовано как 100-idle, и так далее.

В идеале нужно заменить collection.cgi из состава collectd. Без этого постпроцессинга я имею в Graphite только элементарные графики синего цвета, где по оси X время, а по оси Y значение.

Есть нечто https://github.com/ClockworkNet/graphite-dashgen но оно недоделанно, слишком базовое и выглядит как proof-of-concept того, что я хочу.

P.S. Ну и агент для сбора метрик — сейчас используется collectd+write_graphite, есть ли стоящие альтернативы?

 , ,

Bers666
()

puppet - альтернатива autosign

Нужно архитектурное решение по массовому деплою puppet агентов из недоверенных сетей.

Кто как решает подписку запросов авторизации (signing certificate request)? У меня был настроен autosign на определенные доменные имена + ограничения по IP сетям в fileserver.conf. Но теперь это не подходит, т.к. мы стали использовать много разных VPS площадок и ситуация стремится к разрешению всего интернета в fileserver.conf. Таким образом, ограничения по IP не выход.

Вижу 2 альтернативы:

1. полуавтоматическая подпись сертификатов на стороне мастера в виде хоть бы даже CGI скрипта, вызываемого из сущности, которая и создает сервера. Параметр вызова это fqdn puppet-агента. Минус — процедура разбивается на 2 шага, каждый зависит от предыдущего:
- на агенте сделать запрос\заброс сертификата на мастер, с опцией waitforcert
- дернуть CGI с мастера в промежутке меньше чем waitforcert

2. Генерить сертификаты заранее и передавать их серверу-агенту до запуска там puppet agent. Опять же, нужен CGI скрипт на мастере, который сгенерит и вернет их. Итак,
- до деплоя сервера дернуть CGI с мастера. Параметр один - будущий FQDN агента. Получить tar.gz c сертификатами в виде base64.
- во время деплоя сервера-агента, передать ему этот base64, он установит puppet agent , распакует ключи и запустит puppet agent.

Может еще есть мысли? Мне больше нравится [2]. Как его лучше реализовать?

 , ,

Bers666
()

не коннектит между DigitalOcean и MediaTemple

Имеется множество серверов у обоих хостеров (сабжи). Между некоторыми из них невозможна передача по ssh и http коннект. Пинг работает. Анализируя траффик tcpdump'ом, оказалось, что некоторые пакеты, TCP ACK с флагом PUSH не доходят с сервера до клиента. Вот такие:


03:09:06.219894 IP XXX.80 > YYY.57201: Flags [P.], seq 210:974, ack 172, win 31, options [nop,nop,TS val 1215773232 ecr 10910127], length 764



То есть выходят с сервера, но на клиенте tcpdump'ом не видно. Файрволы отключены. Проблема возникла внезапно вчера.
Что это может быть? Как фиксить? Что еще посмотреть?

 ,

Bers666
()

nagios, пассивные проверки

Хочу сделать так, чтобы сервера, которые мониторятся, сами отсылали на центральный Nagios результаты тестов. Это бы подошло для сервисов, которые сейчас проверяются по NRPE.

Проблема - не понятно, как привязать текущие строки запуска плагинов из nrpe.cfg на клиенте к клиенту NSCA. Фактически, в интернет мануалах пишут, что нужно самому писать обвязку - bash скрипт, который запускает nagios-plugin с нужными параметрами и кормит выводом send_nsca.

Неужели они никак не интегрированы ? Может, есть другие варианты - альтернативный NSCA агент ?

 , , nsca

Bers666
()

определить хостинг провайдера изнутри ВПС

Есть множество ВПС, управляемых puppet. Проблема следующая. Надо, в зависимости от хостинг провайдера, исполнять на ВПС некоторые действия. Например, у разных провайдеров разное API для взятия лимита по трафику, у кого-то глючный DNS сервер и надо ставить свой. Мой сумрачный разум решение увидел в том, чтобы ${SUBJ}. Но как? по reverse dns не получится, можно только по whois(ip). Кто-нибудь сталкивался?

P.S. да, еще можно завести файлик /var/lib/vendor.txt и там хранить имя провайдера данного ВПС, ну или custom fact для puppet.

 , ,

Bers666
()

узнать возраст сервера

Вопрос, как узнать, когда сервер был введен в эксплуатацию. Сервер - это или физический, или виртуалка Openvz. В последнем случае установка заключается в распаковывании шаблона. Есть какие-то стандартные средства?

Bers666
()

управление nagios из командной строки

Ищу утилиту для управления сервисами, которые мониторит Nagios, из командной строки. По крайней мере, должна уметь делать массовый принудительный force check списку сервисов. Желательно, чтоб умела писать команды прямо в rw/nagios.cmd , а не использовать http (не хочу светить login/pass). Из тех, что нашел, большинство умеют только показывать статус, кроме
* nagios_commander.sh — не заработал (к тому же, использует http интерфейс)
* ruby-nagios — не заработал, no such file to load — nagios (LoadError), хотя этот Gem стоит. (Попробую разобраться с ним)

UPD. ruby-nagios заработал (пришлось фиксить; форкнул на гитхабе) https://github.com/ezbik/ruby-nagios

 ,

Bers666
()

безопасное хранение cookies

Внезапно оказалось, что chromium хранит кукисы в открытом виде. Создал другого юзера, перекинул ~/.config/chrom* — и зашел ВК, ЛОР, и т.д. по кукисам.. То есть любой зло-процесс может кукисы утянуть. В связи с этим вопрос — как вы безопасно храните кукисы популярных браузеров?

Да, использовать монтируемый криптоконтейнер не выход, т.к. файлы будут видны процессам от вашего же юзера.

Даже gnome-keyring не выход — если сторадж unlocked, то сдампить данные можна молча.

Видимо, нужно selinux/apparmor с разрешением доступа к файлам кукисов только программе-браузеру.

 ,

Bers666
()

не могу установить debian/ubuntu по сети

Пытаюсь установить debian/ubuntu в Virtualbox.
Загружаю ядро и initrd по pxe. Инсталлер получает DHCP адрес и может коннектиться в интернет. Дохожу в инсталлере до выбора зеркала, указываю любое зеркало, (даже пробовал локальное создавать) , на вопрос о прокси просто жму Энтер, инсталлер что-то скачивает, а дальше тупо висит (больше 5 минут). На четвертой консоли видно последнее соббщение : net-retriever: Good signature from bla-bla.
Смотрел пакеты tcpdump-ом, последнее было связь с security.ubuntu.com , далее тишина. На 2-й консоли вводил ps, видно висит net-retriever в процессах.
Пробовал так установить debian 6 и ubuntu 12.04 — симптомы одинаковые - молчаливый зависон после выбора зеркала.
Как фиксить? Что смотреть? Как включать дебуг?

 , ,

Bers666
()

nagios agregator

Дано - много Nagios-ов.
Требуется - просматривать их статус через 1 веб-интерфейс.
Ваши мысли?
Спасибо.

 ,

Bers666
()

ftp прокси с кэшированием upload'a

Есть ферма openvz впсов, все в одной локалке. На каждом работает бакап-скрипт, который закачивает сделанный бакап на хранилище в другой ДЦ. Скорость медленная, бакапы большие, и время закачки иногда доходит до пары часов. Все бы ничего, да на высоконагруженных ВПСах процессы иногда прибиваются из-за нехватки памяти. Соответственно, lftp не успевает отработать.

Как решить это? Т.к. скорость сети внутри локалки в разы больше, можно сделать на одной ноде сабж. То есть остальные ноды _быстро_ заливают туда файло, оно кладется в кэш, дальше медленно льётся куда надо, в другой ДЦ. Печально, что ни squid, ни frox не поддерживают эту фичу.

Как поступить?

Bers666
()

RSS подписка на новые темы