Обновить

Администрирование

Сначала показывать
Порог рейтинга
Уровень сложности

Kubernetes — это эксплуатация, а не деплой. Мы шли к этому пониманию 7 лет

Время на прочтение13 мин
Охват и читатели9K

Kubernetes называют инструментом автоматизации. Ирония в том, что первые годы его эксплуатации в облаке — это история ручного труда: сертификаты, которые никто не обновлял, кластеры, которые деградировали молча, клиенты, которые ждали поддержки там, где мы предполагали самообслуживание. Мы начали делать managed Kubernetes в 2018 году, когда на российском рынке этого сервиса почти не существовало. Эта статья о том, что значит слово «managed» на самом деле — и какую архитектуру оно в итоге требует.

Читать далее

Эволюция планировщиков ядра Linux — от O(1) до CFS и EEVDF

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели9.9K

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

Привет! Я Никита, разработчик системного ПО в Selectel. В этой статье рассмотрим эволюцию трех наиболее известных планировщиков Linux: O(1), CFS (Completely Fair Scheduler) и EEVDF (Earliest Eligible Virtual Deadline First).

Читать далее

Ритуалы закончились: разворачиваем систему резервного копирования как код

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели7.7K

Привет, Хабр! Это снова Денис — тимлид инфраструктурной Core-команды в Timeweb Cloud.

В прошлой статье я разбирал живые миграции: NBD, RDMA, switchover за сотни миллисекунд и прочий внутренний хардкор платформы. Там было вкусно инженерам. Сегодня — про другое удовольствие.

Вот у нас снова есть клиент. У него есть сервер. На сервере — жизнь бизнеса: сайт, база, файлы, пара скриптов «временно, но уже третий год». И где-то в голове тихо живёт мысль:

> «Бэкапы? Конечно. Сделаем. После релиза. И отпуска. И вот этого срочного.»

Знакомо до боли. Я как раз собрал сценарий для тех, кто уже устал откладывать и хочет нормальный бэкап без полугодового проекта внедрения. Открываете один файл настроек, запускаете Terraform — и получаете готовую систему резервного копирования в облаке.

Если ждали 40 экранов про внутренности Bareos — выдохните. Сегодня я буду продавать спокойный сон. Он, между прочим, тоже продукт.

Читать далее

VLAN и одна старая мечта: как я начал делать Visual IDE для сетей

Время на прочтение12 мин
Охват и читатели17K

Кстати, хочу поблагодарить сообщество за обратную связь по EvertyDesk. Я увидел огромное количество замечаний, идей и реальных проверок. Много ребят запускали проект у себя, ковыряли его, находили проблемы, и вместе мы дотащили всё до версии 2.0.1. Да, я перепрыгнул с 0.0.1 почти сразу. Иногда нумерация версий тоже хочет жить быстрее разработчика.

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

Некоторые спрашивали про Contributor в виде cloud. Ребят, было бы стыдно этого не указать. Значительная часть работы действительно идёт в диалоге с нейросетями. Я фанат технологий, и иногда меня в хорошем смысле удивляет, насколько круто они умеют делать рутинную работу.

В целом я считаю, что мы живём в удивительное время.

Меня можно за это хейтить. Можно не хейтить. Я просто качусь по общей технологической волне и не особенно жду признания. Сегодня я могу делать вещи, которые раньше даже в виде заказной разработки выглядели безумными идеями.

Поэтому я решил начать параллельную серию статей. Помимо своего VST3-плагина для сведения я хочу наконец сделать то, о чём мечтал годами, пока работал ведущим инженером у частного интернет-провайдера.

Читать далее

Запросы с ANY: когда PostgreSQL дольше планирует, чем выполняет

Время на прочтение5 мин
Охват и читатели11K

Когда речь заходит об оптимизации запросов в PostgreSQL, разработчики, как правило, сосредотачиваются на времени выполнения: индексы, планы запросов, настройки памяти и так далее. Время планирования остаётся в тени. А зря! Планировщик работает перед каждым выполнением запроса. Для OLTP‑нагрузки с короткими транзакциями накладные расходы на планирование могут составлять значительную долю от общего времени ответа. Для запросов с большими IN‑списками и высоким statistics_target планирование может занимать сотни миллисекунд, тогда как само выполнение укладывается в миллисекунды. Поэтому ускорение планировщика не менее важно, чем ускорение выполнения.

Читать далее

Написал расширение, которое качает статьи Хабра в Markdown — и не долбит сервер

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели12K

В прошлых двух статьях я разбирал DNS-трафик домашней сети и анализировал 1233 публикации Хабра, чтобы понять, за что площадка даёт рейтинг. И там, и там был вопрос, который я обходил: чем, собственно, я выгрузил эту тысячу статей?

Не руками копировал и не скриптом на Python, который на двухсотом запросе получил бы 429 и бан по IP. Я написал расширение для Chrome, которое сохраняет статьи Хабра в Markdown — по одной, пакетом или автоматически по расписанию, — и делает это достаточно вежливо, чтобы сервер не считал его атакой.

Главная мысль статьи оказалась не про парсинг HTML, а про хорошие манеры к серверу. Наивный качатель на голом fetch пишется за пять минут и получает бан на десятой. Инструмент, которым можно пользоваться постоянно, отличается тремя вещами:

— держит принудительный интервал между запросами (1.5 секунды, гарантированно); — слушает 429 и при перегрузке сервера замолкает на три минуты целиком (паттерн circuit breaker), а не долбит сквозь ограничение; — работает с открытыми статьями для личного архива, а не сливает базу.

Внутри: разбор вежливого граббера с кодом, почему парсинг чужой вёрстки ломается на каждом редизайне и как от этого защищаться фолбэками, формат Markdown с YAML-метаданными (тот самый, что сделал возможным анализ тысячи статей) и правовая рамка — где граница между «сохранил для себя» и «спарсил».

Расширение с открытым кодом под MIT, ставится из Chrome Web Store в один клик.

Читать далее

Мидл — это не три года опыта. Грейды в DevOps как типы ответственности

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели90K

Два инженера, у обоих пять лет в DevOps и одинаковый стек в резюме: Kubernetes, Terraform, GitLab и вот это вот всё. Весной оба ходили по собеседованиям, но первый собрал офферы уровня “мидл, 200”, второй ушёл с “сеньор, 300” (алгоритмические секции первый, к слову, проходил лучше). Разница больше миллиона в год при неотличимых резюме. Ниже рамка, которая по моему мнению объясняет за что доплачивают, и три вопроса, чтобы найти в ней себя.

Читать далее

EvertyDesk: я отдаю то, на что ушли годы

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели76K

Меня зовут Артур Валиев. Я открыл исходники EvertyDesk Lite — и заодно EvertyDesk Next, то, что должно было стать следующей версией. Полностью. Без купюр.

Читать далее

АКПП Voith не включается выше второй передачи: разбираемся в J1939

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели92K

Изучаю шину CAN J1939 через написание самописных утилит. Целенаправленно отключал датчик наддува для проверки своих программ.

И здесь случай: Идёт выпуск машин на маршрут. На одном из автобусов АКПП не включается выше второй передачи. Сканера нет читать нечем. Но есть C, Linux, CANable, map_id_j1939, viz_j1939.

Читать далее

Как устроены хранилища Kubernetes: разбор для начинающего сисадмина

Время на прочтение10 мин
Охват и читатели11K

Управление данными в Kubernetes часто кажется сложным. Если грамотно не подключить внешнее хранилище, то при любом перезапуске пода все накопленные файлы бесследно исчезнут. Этот материал — практическое руководство для тех, кто только осваивает администрирование K8s и хочет разобраться в логике работы дисков без погружения в запутанную документацию.

На простых примерах с реальной инфраструктурой изучим всю архитектуру выделения ресурсов. Развернем хранилище в тестовом кластере, смонтируем диск и заглянем внутрь файловой системы ноды.

Привет! Я Катя, младший системный администратор в Selectel. Надеюсь, моя работа поможет выстроить в голове четкую картину и сэкономит часы на дебаге, если нужный диск однажды откажется подключаться.

Читать далее

Ubuntu Touch 24.04-2.0: что в свежем релизе мобильной Linux-системы

Время на прочтение6 мин
Охват и читатели14K

Несмотря на то что Canonical закрыла Ubuntu Touch почти девять лет назад, мобильная Linux-система продолжает развиваться силами фонда UBports и сообщества. Проект регулярно получает обновления и постепенно расширяет список поддерживаемых устройств. Новый релиз Ubuntu Touch 24.04-2.0 — очередной шаг в развитии ветки 24.04. Основные изменения затронули браузер, работу с современными дисплеями и ряд повседневных функций, которыми пользователи пользуются каждый день. Давайте разберемся, что получилось у разработчиков.

Читать далее

Топ утилит и инструментов для проверки работоспособности VDS

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели13K

В комментариях к прошлой подборке спросили: «Как понять, где проблема — на сервере или у провайдера?». И вопрос сейчас в целом актуальный, ведь теперь интернет не всегда стабилен, и непонятно, или упал сервер, или лёг канал, или с сетью беды. Эта подборка — про инструменты, которые отвечают на этот вопрос.

Читать

Внедрение HTTP/3 задерживается

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели54K

Сетевой протокол HTTP/3 в разработке с 2016 года, а его транспорт QUIC вышел в 2013-м. На сегодняшний день оба эти стандарта поддерживаются всеми ведущими браузерами (кроме Samsung и Opera Mini) и составляют 32,5% HTTP-запросов на Cloudflare, что отражает актуальное состояние всего интернета. Но темпы внедрения HTTP/3 крайне медленные.

Что же мешает веб-мастерам перейти на современный стандарт и ускорить загрузку сайтов? Основная причина в том, что ни QUIC, ни HTTP/3 до сих пор не включены в стандартные библиотеки популярных языков программирования Go, Rust, Python и Ruby. Они не активированы по умолчанию в Node.js, веб-серверах Nginx и Apache. Прошло более десяти лет, но протокол всё ещё считается экспериментальным! Удивительно.

Читать далее

Ближайшие события

Фильтрация ТСПУ у серверов Таймвеб Cloud: диагностика, обход через reverse-proxy и СDN

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели37K

Два коммерческих сайта на WordPress, оба на одном VPS. Клиенты в одном городе, я сам в другом.

Начало июня. Клиенты жалуются, что сайт не открывается без VPN.

Мало ли, подумал я — ограничения, белые списки и т.д.

Потом сайт перестал открываться у меня. По проводу. Дома.

Три дня был потный танец с бубном:

Читать далее

IaC в гибридной IT-инфраструктуре: решаем проблемы разрозненного управления с Terraform

Уровень сложностиСложный
Время на прочтение10 мин
Охват и читатели11K

Рано или поздно большинство зрелых проектов приходят к необходимости использовать как виртуальные машины, так и выделенные серверы. Это логично, поскольку под разные задачи требуются разные вычислительные ресурсы. Однако затем возникает проблема управления физическим оборудованием.

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

Привет! На связи Сергей, системный администратор в Selectel. Надеюсь, этот обзор будет полезен системным администраторам, DevOps-инженерам, архитекторам и всем, кто хочет избавиться от путаницы в процессах и управлять пулом гибридных вычислительных ресурсов через один инструмент.

Читать далее →

Последние из серверной: почему эпоха трушных сисадминов заканчивается (или только начинается)

Время на прочтение6 мин
Охват и читатели33K

Всегда считал системных администраторов здоровой профессией. Нормальные мужики, которые ругались матом и знали жизнь. Почти всю работу выполняли вручную, даже серверы иногда собирали из комплектующих. Да, получали меньше разрабов, но и преимущества в работе у них были: сразу видеть результат своих действий — приятно и полезно для психики. «Вижу проблему — ребутаю сервак», как говорится.

Но потом всё изменилось. Сначала пришли облака с докерами и кубернетесом. Так появились девопсы. Профессия стала меняться. Следом в продвинутых компаниях появились корпадмины — вроде менеджеров, но с техническим уклоном.

В итоге значительную часть работы теперь можно выполнять вообще на удалёнке!

Читать далее

Что мы находим при аудите PostgreSQL: 10 распространенных ошибок

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели12K

Когда приходишь на аудит СУБД к разным компаниям, картина удивительно похожа: одни и те же проблемы, одни и те же причины. Меня зовут Андрей, я DBA в группе поддержки системного ПО Центра экспертизы по комплексному сервису К2Тех, сертифицированный эксперт Postgres Pro. В этой статье представлен ТОП-10 ошибок, с которыми мы встречаемся чаще всего. Я разберу, чем они опасны, почему возникают, и как их можно решить. Скорее всего, многие пункты покажутся вам до боли знакомыми:

Читать далее

Как заменить Helm на Helmwave в большом проекте и получить массу новых возможностей

Время на прочтение7 мин
Охват и читатели10K

Управление десятками и сотнями Helm-релизов быстро перестает быть тривиальной задачей, особенно когда появляются зависимости между релизами, CRD, несколько окружений и своя логика деплоя. 

Меня зовут Владимир Фидунин, я работаю в команде мессенджера VK WorkSpace. В статье расскажу, как мы прошли путь от Puppet + Helm до Helmwave и почему в итоге он стал для нас универсальным инструментом управления Helm-релизами. 

Читать далее

Как интернет ушёл от hosts.txt и почему это было неизбежно

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели17K

Откройте терминал и выполните cat /etc/hosts. Скорее всего, там лежит пара строк про localhost и, может быть, несколько ваших локальных записей… А когда‑то этот файл содержал адреса всех компьютеров интернета и обновлялся по телефонному звонку. Под катом расскажу, как весь интернет работал через один текстовый файл, кто его обновлял и куда он в итоге делся. 

Читать

Проект NextBSD ожил спустя десять лет. Что это за ОС и зачем ее возрождают?

Время на прочтение6 мин
Охват и читатели15K

Проект NextBSD, который многие уже успели забыть, неожиданно получил вторую жизнь. Его идея — объединить ядро FreeBSD с открытыми системными компонентами Darwin, такими как launchd, Mach IPC, Grand Central Dispatch и другими технологиями, которые сегодня лежат в основе macOS. Первая попытка была предпринята почти десять лет назад, но безуспешно. Сейчас разработку начали заново, используя современную кодовую базу FreeBSD и накопленный за это время опыт.

На первый взгляд, идея выглядит странно: зачем переносить системный слой одной операционной системы поверх ядра другой, если обе давно развиваются своими путями? Однако у разработчиков есть вполне практичная цель. Они не пытаются создать «бесплатную macOS», а хотят сделать FreeBSD более современной платформой, сохранив ее совместимость и сильные стороны. Разберемся, что именно уже удалось реализовать, зачем это вообще нужно и насколько жизнеспособным может оказаться такой подход.

Читать далее