Зайчатки разума — Теги: "админское"

Зайчатки разума

Записная книжка айтишника

Скрипт для поиска распухших логов докера

2023-05-27 13:44:08 — Evgeniy Shumilov

  В который раз уже сталкиваюсь с этой ситуацией. Субботнее утро, хочется немного попрокрастинировать (что при загрузке 60-70 часов в неделю просто жизненно необходимо) и тут начинают сыпаться алерты - заканчивается место на диске одного из рабочих серверов. Как всегда запускаем в tmux команду sudo ncdu -x / и ждём. Пришлось ждать минут 40, так как количество файлов на хосте действительно велико, в основном за счёт кешей npm и node modules. И опять ожидаемо обнаружилось, что несколько сотен гигабайт съели логи новых докер контейнеров, запущенных разработчиками на хосте разработки.

Читать дальше...

Теги: docker, админское

Работа с GRE туннелями или история одного велосипеда

2022-06-01 13:48:24 — Evgeniy Shumilov

  Почему периодически айтишники делают велосипеды? Ответ простой - потому что на своём велосипеде ездить удобнее. Ну кто хотя бы раз не написал свой модуль логирования для какого-нибудь языка?

Постановка задачи

  На объекте есть какие-то подсети, в которых живут инженерные системы. И есть ряд хостов в датацентрах, с которых необходимо получить доступ до этих самых инженерных объектов. В качестве сетевого оборудования на объекте часто либо Cisco, либо Microtic, либо некая линуксовая машина (но на этот случай есть другие, более приятные и удобные для нас инструменты). Исторически так сложилось, что штатным для нас методом обеспечения связности являются GRE туннели) с поднятием маршрутизации в нужные подсети через конечные точки туннеля с последующим закрытием доступа файрволом по белым адресам с обеих сторон. Вопросы шифрования туннелей пока не поднимаем, это возможно будет темой для отдельной статьи.

Читать дальше...

Теги: linux, networking, shell, админское

Как понять, где слонику стало тяжело

2021-10-29 23:25:50 — Evgeniy Shumilov

  На работе столкнулся с проблемой - судя по мониторингу резко начинает расти load average, причём увеличивается количество форков postgres и суммарная нагрузка на CPU, которую потребляет postgres начинает зашкаливать...

Читать дальше...

Теги: shell, админское

Небольшая проблема с софтовым рейд массивом

2021-10-18 22:10:11 — Evgeniy Shumilov

  Преамбула банальна: Жил/был сервер с софтовым зеркалом. И вот, начинаются странные проблемы. То я фаил сохранить не могу и vim наглухо зависает, то считать что-то не могу. Полез первым делом в dmesg, а там красота нечеловеческая на два экрана, приведённая на скриншоте в заголовке.

  Прогнал smartctl, написал в службу техподдержки Selectel - мол, диску похоже пришёл северный зверь из семейства куньих. Можете ли заменить диск? И вот техподдержка селектела реально порадовала - мол, да-да, конечно, ошибок смарта не видим, но заменим обязательно, напишите, когда вам удобно и т.п.. Если честно, я такой оперативности и учтивости после гуглооблака и AWS прямо не ожидал. Уточнил детали - мол, поддерживает ли диск hotswap, можно работают ли они круглосуточно и т.п..

Читать дальше...

Теги: админское, linux

История одного факапа

2021-09-05 18:14:18 — Evgeniy Shumilov

  Послушал тут предпоследний 769-й выпуск подкаста Radio-T, в котором обсуждение технических ошибок напомнило мне примерно аналогичный случай из моей практики.

  Давным давно, когда я ещё работал в xsolla, которая ещё в то время носила название 2pay, у нас по большому счёту был всего один основной сервер в Московском датацентре, на котором крутился весь мир. Передо мной стояла задача написать скрипт, который зачищает старые логи, временные файлы и прочее, что может занимать много места.

Читать дальше...

Теги: shell, админское, жизненное

Очередное рабочее

2020-09-28 19:46:17 — Evgeniy Shumilov

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

  Менеджеры попросили "по-человечески русским языком" объяснить, что происходит на скриншотах приложения, захватывающего и аггрегирующего данные сип сессий. Пришлось переводить на язык простых смертных.
Краткая сцена, описывающая суть происходящего на скриншотах выше. Действующие лица: Вася - сервер компании Вася, Коля - наша промежуточная Петяка, которую я настраиваю, Петя - боевая Петяка.

Читать дальше...

Теги: админское

Про упёртость, логику, бюрократию и внутреннее раздражение

2020-09-23 09:44:32 — Evgeniy Shumilov

  У вас бывает такое, что в силу определённых обстоятельств вам необходимо сделать что-то, что не укладывается в ваши представления о прекрасном / правильном / логичном? Насколько это вас раздражает и как вы с эти боретесь? Казалось бы, на работе тебе платят деньги за то, что ты решаешь определённые задачи. И решаешь их в той форме, в которой это нужно заказчику. Если заказчик требует, чтобы ты забил гвозди микроскопом - бери и забивай, ты ведь осознаёшь, ради чего ты выполняешь эти действия. Но микроскоп всё-равно жалко - вот он, новенький блестящий, только что с завода! И ладно, если бы забивать гвозди должен был гипотетический Вася, но нет - ты должен сделать это сам своими руками и это бесит больше всего.

Читать дальше...

Теги: админское, подгорание

Про минимализм, докер, home assistant и ресурсы

2020-06-23 02:10:24 — Evgeniy Shumilov

  Предупрежу на берегу - сейчас будет ворчание старого пер... винтажного газогенератора. Кто не переваривает всю эту "траву, которая раньше была зеленее" - проходите мимо. :)

  В мире есть мало вещей, которые меня выводят из себя. И одна из таких вещей - расточительность в отношении ресурсов. Для того, чтобы всем было понятно, представьте, как какой-нибудь олигарх публично жалуется на жизнь, мол, как ему тяжко стало жить! И теперь он в месяц зарабатывает не 20 миллионов, а только 15. В IT мире примерно то же самое. За последние несколько лет индустрия шагнула далеко вперёд и у бизнеса появилась возможность заткнуть любую дыру деньгами или, как ещё говорят - "закидать железом". Ну и что, что наше приложение обрабатывает за секунду не миллион запросов, а только 100 тысяч - давайте просто купим 10 серверов вместо одного и всё будет ок! Да, зачастую это разумный подход и действительно - проще оплатить аренду более жирной виртуалки, чем платить пару месяцев зарплату всему отделу, который это будет оптимизировать. Но на этих принципах выросло уже целое поколение разработчиков и целая куча продуктов, которые иногда у меня вызывают недоумение. Помнится, в конце 90-х годов шикарной домашней машиной считался Pentium MMX на 166 мегагерц с 32мб оперативной памяти и жёстким диском хорошо, если на 1гб. Сейчас долбаные полоумные часы несут на борту куда более мощное железо. А тогда на этих машинах играли, смотрели кино, слушали музыку, редактировали документы, программировали в конце-концов и вполне успешно!

Читать дальше...

Теги: админское, docker, minimalism, smarthome, подгорание

Использование отдельных различных SSH ключей для различных GIT репозиториев

2020-03-06 14:55:17 — Evgeniy Shumilov

  Сегодня нашёл метод решения одной из небольших, но досадных проблем, которые меня мучали годами. Собственно, описание проблемы понятно из заголовка. Если чуть более подробно, то для того, чтобы использовать git pull/fetch/push и тому подобные команды с GitHub/GitLab, git может использовать либо подключение через ssh, в том числе использованием доступа по ключу, либо через https, что заставляет вас каждый раз вводить логин и пароль. В данном случае речь идёт не о средах разработки, где все учётные данные в этом случае прекрасно сохраняются, а о работе с консолью и использовании скриптов в автоматическом режиме например, для деплоя. В случае использования пары ключей конечно, можно создать ключ без пароля и всё будет прекрасно ровно до того момента, пока вам не понадобится использовать разные ключи для разных репозиториев. Например, в случае с разными учётными записями на GitHub/GitLab - домашней и рабочей. Или если вы получили так называемый deploy key от удалённого репозитория.

Читать дальше...

Теги: админское

Простая и быстрая настройка mesh VPN с помощью tinc

2020-01-30 20:36:30 — Evgeniy Shumilov

  Периодически сталкиваюсь с какими-то программными продуктами, которые существуют уже много лет, удобны, легки, просто работают, но я о них по какой-то причине не слышал на протяжении всего времени их существования. На этой неделе открыл для себя tinc. Если кратко, то tinc - это vpn, который позволяет объединить несколько машин друг с другом, где каждая будет обмениваться при необходимости данными с каждой, т.е. не будет единой точки отказа. Чем прекрасен именно этот вариант - он требует минимальной настройки, конфигурационные файлы очень просты, создание ключа - тоже. Типичный сценарий для использования tinc - несколько географически удалённых филиалов одной сети. Поднимаем на двух машинах бридж, выдаём ему нужный локальный адрес, tinc поднимает tap или tun интерфейс, при создании/уничтожении интерфейса запускает скрипт, в который передаёт имя интерфейса, что позволяет добавить его в бридж или удалить из него. Всё просто работает, но есть один нюанс, о котором я расскажу ниже.

Читать дальше...

Теги: админское, networking

Альтернатива EncFS или прозрачное шифрование в фоновом режиме для userspace

2020-01-04 02:51:16 — Evgeniy Shumilov

  Когда-то давно я пользовался утилитой под названием EncFS. Её прелесть была в том, что она позволяла монтировать одну директорию (для шифрованного контента) в другую (для дешифрованного), при этом для пользователя всё оставалось прозрачным, он работал со своими данными как обычно, а шифрование происходило в фоновом режиме. Конечно, операции чтения/записи при этом занимали бОльшее время, да и нагрузка на CPU повышалась, но всё это было более, чем приемлемым, так как эта утилита и не была рассчитана на то, чтобы с её помощью шифровали образы дисков или многогигабайтные архивы (для подобных целей очевидно, следует использовать LUKS или что-то подобное). Юзкейсы вполне просты и понятны - например, зашифровать директорию с документами перед тем, как отправить в облако.

Читать дальше...

Теги: админское

Про файл-призрак или как найти суслика, которого нет

2019-12-24 14:21:35 — Evgeniy Shumilov

  Сегодня на работе столкнулся с интересным моментом. Ко мне подошёл разработчик и сказал, что на старом dev сервере закончилось место. Дело житейское, начал искать. Запустил ncdu (кстати, незаменимая утилита, всем рекомендую) и попытался найти, что же занимает место. Не нашёл, да и визуально показалось, что занято не так уж много. В нижней строке ncdu показывал Total disk usage равный 29ти гб при общем размере диска в 200 гб. При этом при попытке создать любой файл, система говорила об ошибке в связи с нехваткой места. 

Читать дальше...

Теги: админское, linux

Контейнер-пустышка для overlayed сетей docker swarm

2019-12-10 22:01:34 — Evgeniy Shumilov

  В эфире рубрика "Костыли и Велосипеды".

  Не так давно добрались мои руки до docker swarm. Только не нужно напоминать о том, что docker на грани банкротства, а кубернетес правит миром окрестрации  контейнеров. Подробно объяснять, что это такое, я не буду. И так достаточно много статей и документации на эту тему. По сравнению с kubernetes, swarm намного легче и проще в обращении, не требует установки и практически не требует настройки и, что удобно, позволяет пользоваться почти теми же docker-compose файлами с минимальными изменениями для деплоя. Если контейнеров немного, то городить кластер на kubernetes не имеет смысла, swarm для этого вполне подойдёт.

Читать дальше...

Теги: админское, docker

О правильной остановке внешних дисков и победившей контейнеризации

2019-09-06 00:14:12 — Evgeniy Shumilov

  Надо оставить тут заметку, чтобы не потерять. Возникла у меня проблема - накрылась в очередной раз от периодических отключений питания и отсутствия бесперебойника файловая система на домашнем сервере. Можно было конечно восстанавливать её работоспособность, но объективно было пора переходить на новую. Так как сервер в своё время стоял под телевизором и какое-то время выполнял роль ТВ приставки с Kodi и прочей мультимедией, то на сервере было много всего лишнего, поэтому наиболее идеологически верным было поставить всё с нуля и перенести лишь необходимое. До этого я пользовался proxmox, но уже давно мне не нужны были честные виртуальные машины (а когда они будут нужны, проще на рабочей машине поднять виртуалку в VirtualBox), а все необходимые мне сервисы я давно перенёс в докер. 

Читать дальше...

Теги: админское, docker, hardware, linux, soft

Как уменьшить размер контейнера с python проектом

2019-05-30 18:59:31 — Evgeniy Shumilov

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

Читать дальше...

Теги: админское, containers, docker, python

Установка Ansistrano на Debian и решение проблем

2019-05-28 18:03:06 — Evgeniy Shumilov

  Не так давно появилась необходимость реализовать CI/CD. Подумав, решил разбить это на две части - сборку и деплой контейнеров и отдельно - на деплой кода. Вторую часть решил реализовать с помощью ansistrano - это аналог capistrano, только выполненный в виде модуля для ansible. Почему не стал делать статические контейнеры с кодом? Хотя бы потому, что в случае использования ansistrano, роллбек проходит практически мгновенно, а это большой плюс. Когда-то я уже поднимал ansistrano, но на этот раз всё оказалось несколько сложнее.

Читать дальше...

Теги: админское, ansible

Правильное отключение SWAP раздела в Linux Mint

2019-04-04 02:20:12 — Evgeniy Shumilov

  До того, как я купил себе ноутбук, я предварительно искал информацию о том, с какими проблемами мне придётся столкнуться при установке линукса. Судя по тому, что я нашёл, мне светило пропатчить модуль ядра для того, чтобы заработал тачпад и собрать модуль драйвера Wi-Fi из исходников. Это конечно, совершенно не rocket science, но со временем начинаешь ценить время и удобство, хочется побольше вещей, которые просто работают, работают хорошо и из коробки.

  Последние лет шесть я работал на самосборном дистрибутиве на базе debian. И всё было бы ничего, но поддержка этого дистрибутива в актуальном состоянии требовала периодических усилий и существенных затрат времени. Так как debian stable имеет далеко не самую свежую пакетную базу, то заморочек с железом ожидалось больше, чем обычно. Так как у меня уже был положительный опыт установки Linux Mint, я взял последнюю версию 19.1 Tara с xfce4, накатил на ноутбук и - о чудо - всё заработало. Абсолютно всё - тачпад, звук, wi-fi, видео. При всём этом установка заняла в общей сложности всего минут пять. 

Читать дальше...

Теги: linux, админское

Скрипт для проверки времени протухания сертификатов

2019-03-21 02:04:17 — Evgeniy Shumilov

  На работе понадобилось отслеживать время протухания различных сертификатов и слать алерты в случае, если до истечения осталось менее, чем N дней. Быстро накидал скрипт, а потом решил расширить его функционал таким образом, чтобы он сам находил все сертификаты в директории и выдавал даты выдачи и истечения срока действия сертификата, время жизни и количество дней, в течение которых сертификат остаётся валидным. В случае, если хотя бы один из сертификатов оказывается невалидным, возвращается ненулевой код возврата, в результате чего можно удобно использовать скрипт для отправки алертов.

if! expired=`./escheckcert.sh domain1.com domain2.com`; then
  echo "$expired" | mail -s "Expired certs" admin@domain.com
fi

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

  Причесал код, выложил на github, доволен. И на работе задачу выполнил и для себя давно подобную утилиту хотел и пост в блог получился.

Теги: shell, админское

Про бюрократию, дохлых мышей, инвентаризадницу и админскую магию

2019-03-13 21:39:24 — Evgeniy Shumilov

  Внезапно вспомнился период мой работы в конторе под названием КЭС-Прикамье, это было примерно лет десять тому назад и это была одна из самых бюрократических контор, которые мне удалось повидать в своей жизни. Одним из самых ярких примеров бюрократии была процедура заказа оборудования. Например, у Ивана Ивановича на рабочем месте сдохла компьютерная мышь. Далее начинается целый процесс, в который вовлечено множество людей и который влечёт за собой километры, набеганные по коридору.

Читать дальше...

Теги: админское, fun

Очистка старых смерженных веток в удалённом git репозитории

2019-03-01 20:48:21 — Evgeniy Shumilov

  Не так давно по работе я столкнулся с задачей - необходимо было очистить большой репозиторий на гитхабе от всех веток, которые были полностью смержены в мастер, позднее, чем N дней. Для этого пришлось написать небольшой скрипт, который я просто оставлю ниже.

Читать дальше...

Теги: админское, shell, automatization

Очистка старой почты в gmail

2019-02-12 17:14:56 — Evgeniy Shumilov

  Раз в пару лет я провожу генеральную уборку в своём почтовом ящике. Так как пользуюсь я gmail аккаунтом, то веб-интерфейс для этого, как выяснилось уже давно, далеко не самое удобное решение. Конечно, у меня уже прописан миллион правил для писем, на основании которых письма сортируются по папкам, но и этого зачастую не хватает. Появляются новые письма, которые не попадают под уже существующие метки и за год таких писем может накопиться скажем, пара миллионов. Более того, есть письма, которые мне нужны в определённой папке какое-то время, например, месяц или два и которые затем можно смело удалить. Так вот, в рамках самого gmail, насколько я понимаю, нет возможности настроить правило с соответствующим функционалом, но есть в принципе несколько методов борьбы с данной проблемой.

Читать дальше...

Теги: админское

Скрипт для обновления DNS записей CloudFlare

2019-02-07 03:40:17 — Evgeniy Shumilov

  Пост называется "опять не спится" или "как бесплатно завернуть домен второго уровня на ваш домашний динамический IP адрес". Для чего это вам может быть нужно? Вариантов много. Например, это возможность впоследствии поднять дома какие-нибудь сервисы. Например, создать собственное облако для хранения и расшаривания файлов и смотреть в пути фильмы, лежащие на домашнем жёстком диске или развернуть личный блог, сайт-визитку, сервис умного дома, да хоть устроить станцию онлайн вещания - всё ограничивается вашей фантазией, вариантов использования может найтись масса, когда существует возможность.

Читать дальше...

Теги: shell, automatization, networking, админское

Про внезапный переезд на GitHub Pages

2019-01-30 14:06:59 — Evgeniy Shumilov

  Сегодня ночью случилось сразу несколько событий. Яндекс мигрировал мой домен в Яндекс.Коннект, у меня дома отвалился интернет, а затем выключили и электропитание. Нередкий случай проявления заботы со стороны нашего ТСЖ - нечего ночами сидеть в сети, ложись спать давай, родной. Вот, мы и свет уже тебе погасили. Логичным продолжением было бы отключение воды, отопления, газа и, чего уж там, сразу воздуха, но этого, что меня радует, не последовало.

  Через какое-то время мой хороший друг написал в телеграм - мол, блог твой недоступен, на что ласково был обозван "мониторингом мониторинговичем" и примерно в этот же миг снизошло на меня озарение свыше - включили свет и увидел я мир вокруг. И понял я, что это хорошо. Интернет тоже не заставил себя ждать, а вот блог так и остался недоступен. Раньше я бы плюнул на всё и лёг спать, но с мыслью о 52х постах, которые кто-то читает, кто-то даже комментирует, а кому-то, о чудо, и вовсе нравится, я уже уснуть спокойно не мог. Надо было чинить.

Читать дальше...

Теги: blog, админское

Про оптимизацию, тишину, эволюцию, нестандартные решения и домашнюю сеть.

2019-01-21 01:15:09 — Evgeniy Shumilov

  Достаточно давно я собрал свой первый домашний сервер. И довольно много сил я тогда положил на то, чтобы сделать его как можно более тихим, маленьким и потребляющим минимум энергии. Я сменил радиаторы на процессеоре и северном мосту с целью увеличить площадь рассеивающей поверхности. Я искал самые тихие кулеры, я занижал частоту процессора, я сменил кулер в блоке питания и жёсткий диск я выбирал тоже исходя из теж же требований - тихий и потребляющий минимум энергии. В конце-концов, я переместил свой сервер в диван. Мне тогда нужна была платформа для экспериментов и само-собою подразумевалось, что она будет работать 24 часа, 7 дней в неделю.

  Зачем ненормальному человеку может быть нужен сервер? Во-первых, это файлопомойка; во-вторых, это медиакомбайн, соединённый с музыкальным центром и имеющий доступ ко всем твоим аудиозаписям, а заодно и к нескольким десяткам онлайн радиостанций; в-третьих файрвол, позволяющий тонко управлять различными подключениями и роутингом между двумя провайдерами и рабочей сетью; в-четвёртых - VPN; в пятых... Продолжать можно долго.

Читать дальше...

Теги: админское, automatization, networking, python

Отправка логов с OpenWRT/LEDE в syslog и обработка событий

2019-01-13 02:31:22 — Evgeniy Shumilov

  Вдогонку к статье о syslog-ng решил сделать дополнение о том, как завернуть логи с OpenWRT и настроить реакцию на соответствие какому-нибудь фильтру. Дома у меня есть два Xiaomi MiWifi 3G (оказалось крайне доступным и достойным по характеристикам устройством), три штуки Netgear WNR3500L, которые в текущий момент работают в качестве гигабитных свичей в разных частях квартиры и Nexx 3020 для экспериментов. Одним словом, правило для сохранения логов должно быть общее для всех этих устройств, чтобы не писать шесть отдельных конфигурационных файлов. Начать я решил со своего основного Xiaomi роутера с хостнеймом gw01, на котором стоит OpenWRT 18.06.

Читать дальше...

Теги: админское, docker, logging

Про централизованный сбор логов

2019-01-03 00:52:53 — Evgeniy Shumilov

  За последнее время случилось несколько событий, которые привели меня к необходимости централизованного сбора логов в своей домашней сети.

Что и зачем собирать?

  1. Периодически ночью отваливается интернет от билайна, хотелось бы видеть, что в этот момент происходит с роутером.
  2. Есть десяток IoT устройств, построенных на ESP8266, которые с прошивкой ESPEasy умеют отправлять логи по сети.
  3. Жена на новый год подарила управляемый гигабитный коммутатор, почему бы не снимать логи и с него, если уж будет такая возможность?
  4. Есть сервер умного дома, работающий на отдельной OrangePI Zero.
  5. Есть около полутора десятков докер и lxc контейнеров с различными службами и pet-проектами, в том числе и этот блог.

  Хотелось бы хранить все эти логи в одном месте, чтобы облегчить их анализ, ротацию, архивирование и бекап. Как обрабатывать подобную информацию - это уже отдельная задача, но для начала эту информацию нужно собрать.

Читать дальше...

Теги: админское, docker, logging

Где могут пригодиться графики

2018-11-21 23:04:05 — Evgeniy Shumilov

  Пару месяцев назад я нашёл для себя неожиданно полезное применение графиков в своей работе. И нет, это не мониторинг в классическом понимании этого слова. Это наколенные прогнозы.

Описание задачи

  Есть у нас в jenkins одна джоба, которая производит довольно длительную операцию с базой данных. Размер базы около 100Гб, самый долгий этап - обработка таблицы почти в 60 миллионов записей. Иногда этот процесс проходил за 7 часов, иногда за 21 час и я пытался обнаружить причину, по которой получается такая разница во времени обработки данных. Проблема была в том, что понять, насколько быстро выполняется очередная ревизия джобы из километрового лога с цифрами было достаточно сложно. Скрипт раз в 30 секунд выдавал количество обработанных строк и приходилось брать разницу в этом количестве на каком-то временном периоде и затем сравнивать её с аналогичным прошлым, позапрошлым и, возможно, поза-поза-чёрт-знает-сколько-прошлым запуском. Ведь нет смысла ждать и нагружать мощности, если за час работы скрипта можно определить, сколько примерно он будет работать. Но всё оказалось не так просто. Зависимость количества обработанных строк за единицу времени оказалась нелинейной и чтобы понять характер работы, мне понадобился график.

Читать дальше...

Теги: shell, админское, aws

Ready for production

2018-11-13 22:42:34 — Evgeniy Shumilov

- Ты видишь контейнер?

- Вижу.

- И я вижу. А его нет!

  Достаточно давно я заметил где-то фразу о том, что "docker is ready for production". С тех пор периодически вспоминаю её, каждый раз, когда сталкиваюсь с какими-либо проблемами разного масштаба, связанными с докером. Не поймите меня неправильно, мне нравится эта технология, но для меня странным остаётся тот набор детских заболеваний, которыми этот продукт страдает во вполне зрелом возрасте. Так же не понимаю этого дикого ажиотажа вокруг именно докера, когда всё что нужно и не нужно, пытаются затолкнуть в контейнер, не взирая на то, насколько это удобно и целесообразно в текущей ситуации. Создаётся впечатление, что во-первых, раньше не было никакой контейнеризации в принципе - ни jails на BSD, ни OpenVZ и LXC на линуксе, а во-вторых - и сейчас нет никаких иных технологий, кроме докера - ни snap/flatpack (да-да, иксовые приложения для десктопа тоже пытаются завернуть в докер), ни virtualenv для пайтона - ничего подобного, ни пакетов, ни средств вроде puppet/ansible. Конечно, у докера есть удобные средства доставки, с этим никто не спорит, но не понятно, почему выстрелил в своё время именно он, что его сделало таким "модным, стильным, молодёжным". Скажем, OpenVZ мне нравился откровенно больше, чем LXC, но и тем и другим я пользовался задолго до того, как появился докер. Что помешало обрасти средствами доставки и прочими плюшечками тому же OpenVZ? Отсутствие нативной поддержки в ядре?

Читать дальше...

Теги: docker, админское

Малышам о минералах

2018-11-09 22:12:03 — Evgeniy Shumilov

  Так называлась одна из любимых книг моего детства. После неё я ещё несколько лет собирал по песочницам разные камни, коих у меня была целая коллекция. Она, как и многое другое, благополучно канула в лету. Но это так, лирическое отступление.

  У нас было две версии руби из репозитория, 75 гемм, 2 версии thin сервера, ящик циклических зависимостей, пара попыток поставить отдельный environment и куча разных конфигов всех сортов и расцветок. Не то, чтобы этого было достаточно для того, чтобы поднять проект, но если связался с руби, уже трудно остановиться. Единственное, что вызывает у меня опасения - это пакеты из стока дистрибутива. Нет ничего более беспомощного, безответственного и испорченного, чем руби окружение, поставленное из стока, с установленными поверх геммами. Я знал, что рано или поздно мы перейдём на эту дрянь.

  Примерно так год назад выглядел мой отчёт начальнику на его вопрос - "как там у нас с переездом редмайна на свежее окружение?"

Читать дальше...

Теги: ruby, админское, fun

Сам себе хостинг или о недооценённых утилитах

2018-10-21 00:49:04 — Evgeniy Shumilov
- Та-ак, а вы что, ещё и права на файлы за меня выдавать будете?
- Ага-а-а!

  О чём вы думаете, когда слышите аббревиатуру FTP? На меня накатывает ностальгия. Сразу вспоминаются всякие уютные ламповые локалочки, сетевые карты rtl8139, серенькие восьмипортовые коммутаторы D-Link в пластиковых корпусах, папки Public и Private, полные варезом - фильмы, музыка, софт, игры... Одним словом, машинка времени в моей голове телепортирует меня куда-то лет на 15 назад. Много воды утекло с тех пор, но когда кто-то просит совета, как построить себе миниатюрный хостинг, часто в числе прочего я в том или ином виде получаю вопрос: "как поднять FTP"? И каждый раз меня это удивляет. А чем sftp не угодил? Да, это медленнее, но во-первых, скорость интернет соединения сейчас уже не та, что была 15 лет тому, во-вторых, у sftp на борту шифрование и в-третьих, sftp практически всегда уже есть там, где присутствует openssh.

  Да, sftp, реализованный средствами OpenSSH не лишён ряда недостатков. Хотелось найти некое решение, которое бы позволило быстро и просто реализовать доступ к машине для разных пользователей, для каждого в свою папку, желательно с chroot. Всё заканчивалось длинными ролями на ансибле, которые переписывали конфиги openssh, добавляли пользователей в нужные гргуппы, ставили пакет управления расширенными правами доступа, дёргали всякие setfacl и прочее. И тут меня попросил мой хороший друг (Иван, спасибо тебе!) помочь ему настроить сервер, а пользователям в качестве шелла поставить MySecureShell. Ранее я с таким зверем не сталкивался, да и ни от кого из моих знакомых за те почти 15 лет, что я общаюсь с linux, не слышал. Судя по всему, это не особо популярное решение. Я бы сказал, незаслуженно обойдённое вниманием. Да вы только посмотрите на их логотип! Похоже, это пингвин, прямо поверх которого начали разводить печатную плату (что похоже, сказалось на его настроении), при этом он ещё кому-то угражает двумя логотипами OpenBSD! Интересно, на каких веществах сидел автор? Ладно, этот вопрос оставим наркологам. Лучше посмотрим в конфигурационный файл. Почитав, что там написано, я понял, что эта штука умеет всё, о чём я мечтал и многое из того, о чём я мечтать не смел.

Читать дальше...

Теги: ssh, shell, sftp, админское

Немного об автоматической генерации паролей

2018-10-19 15:05:32 — Evgeniy Shumilov

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

Читать дальше...

Теги: shell, automatization, админское

АСПЕКТЫ НАСТРОЙКИ СЕТИ В QEMU. ОБЪЕДИНЕНИЕ ИНТЕРФЕЙСОВ НА КАНАЛЬНОМ УРОВНЕ.

2018-10-16 21:50:30 — Evgeniy Shumilov

Это репост статьи от новогодней ночи 31 декабря 2008г. - 1 января 2009г.

  Доброго времени суток. Вечер. 31 декабря 2008 года. Чем заняться человеку в такое время? Правильно! Начать писать статью на permlug, чтобы поделиться опытом. :)

Читать дальше...

Теги: virtualization, qemu, networking, админское