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

Обслуживаю Linux-серверы небольших IT-команд, у которых нет своего администратора: VPS, выделенные серверы и виртуальные машины в облаках. Работаю удалённо по SSH, с любым хостингом.

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

  • Debian, Ubuntu, RHEL, Astra Linux
  • Удалённо, любой хостинг

Что входит в администрирование сервера

Набор работ согласуем под проект. Можно взять один пункт, например только мониторинг, или всё сразу.

Установка и настройка сервера

Готовлю новый сервер к работе так, чтобы его можно было повторить: настройки описаны в Ansible, а не только в голове.

  • ✓выбор тарифа и дистрибутива под нагрузку
  • ✓пользователи, SSH-ключи, sudo
  • ✓часовой пояс, лимиты, swap, параметры ядра
  • ✓автоматические обновления безопасности

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

Настраиваю веб-сервер под ваше приложение и разбираю, где теряется время ответа.

  • ✓nginx или Caddy, HTTPS и автопродление сертификатов
  • ✓PHP-FPM, Node.js, Python, Go за обратным прокси
  • ✓кеширование, сжатие, лимиты на запросы
  • ✓разбор медленных ответов по логам и метрикам

Базы данных

Слежу, чтобы база не съедала весь сервер и не терялась при сбое.

  • ✓PostgreSQL, MySQL, Redis, ClickHouse
  • ✓настройка памяти и соединений под объём данных
  • ✓поиск медленных запросов
  • ✓реплика или регулярный дамп на внешнее хранилище

Сеть и firewall

Снаружи должно быть видно только то, что нужно клиентам. Всё остальное доступно команде через VPN.

  • ✓правила nftables или iptables
  • ✓IPv4 и IPv6, маршрутизация между серверами
  • ✓WireGuard для команды и связи площадок
  • ✓проверка открытых портов снаружи

Мониторинг и алерты

Собираю историю нагрузки, чтобы видеть проблему до того, как она станет аварией, и понимать, когда пора увеличивать сервер.

  • ✓процессор, память, диски, сеть, трафик
  • ✓доступность сайта и API снаружи
  • ✓срок действия сертификатов и место на дисках
  • ✓алерты в Telegram с понятным текстом

Обновления и безопасность

Небольшие проекты чаще всего взламывают через старое ПО и пароли. Закрываю эти двери первыми.

  • ✓плановые обновления системы и пакетов
  • ✓вход только по ключам, без root по SSH
  • ✓fail2ban против перебора паролей
  • ✓ревизия пользователей и доступов

Резервное копирование

Бэкап, из которого ни разу не восстанавливались, нельзя считать бэкапом. Поэтому восстановление проверяю регулярно.

  • ✓ежедневные копии баз и файлов
  • ✓хранение вне сервера, в S3 или на другой площадке
  • ✓шифрование и срок хранения копий
  • ✓плановая проверка восстановления

Переезд и импортозамещение

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

  • ✓перенос на другой VPS или выделенный сервер
  • ✓переезд в Yandex Cloud, Selectel, Cloud.ru
  • ✓синхронизация данных и переключение DNS
  • ✓план отката, если что-то пойдёт не так

Стоимость администрирования сервера

Цены фиксированные. Работы сверх обслуживания согласуем и оцениваем заранее.

ФорматЦенаЧто входит
Аудит сервераот 10 000 ₽нагрузка, безопасность, обновления, бэкапы; отчёт со списком исправлений
Обслуживание20 000 ₽/меснаблюдение за алертами, дисками, сертификатами и бэкапами, реакция на сбои
Разовые работы3 000 ₽/часнастройка, переезд, ускорение, разбор инцидента

Примеры расчёта

ЗадачаОценка
Первичная настройка нового VPS: защита, firewall, мониторинг, бэкапы3-5 часов
Найти, почему тормозит сайт, и исправить2-6 часов
Перенос сайта с базой на другой сервер3-8 часов
Обновление дистрибутива на новую версию2-4 часа

Этапы работы

  1. 1

    Доступ

    Вы добавляете мой открытый SSH-ключ на сервер одной командой. Пароли передавать не нужно, доступ закрывается удалением строки из ~/.ssh/authorized_keys.

    curl -s https://manyahin.ru/id_ed25519_manyahin.pub >> ~/.ssh/authorized_keys
  2. 2

    Инвентаризация

    Записываю, что запущено, какие порты открыты, где лежат данные и когда сервер последний раз обновлялся.

  3. 3

    Срочные исправления

    Сначала закрываю то, что может уронить сервис или привести к утечке: бэкапы, открытые базы, вход по паролю.

  4. 4

    Мониторинг

    Подключаю метрики и алерты. Дальше решения принимаем по графикам, а не по ощущениям.

  5. 5

    Обслуживание

    Если нужно, остаюсь на поддержке: обновления по графику, реакция на алерты, отчёт о сделанном.

С какими проблемами приходят

Сайт тормозит, а нагрузка небольшая

Чаще всего дело не в железе, а в настройках базы, веб-сервера или в одном тяжёлом запросе. Нахожу узкое место по метрикам, а не наугад.

Сервер упал ночью, и никто не заметил

Без мониторинга простой длится до первой жалобы клиента. Алерт в Telegram сокращает его до минут.

Сервер годами не обновлялся

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

Как всё настроено, знал один человек

Разработчик, который поднимал сервер, ушёл. Восстанавливаю картину и описываю конфигурацию в коде, чтобы зависимость от одного человека исчезла.

Что делать, если сервер упал

Порядок, который экономит время при любом сбое, даже если чинить будете сами:

  1. Проверьте, отвечает ли сервер вообще: ping и SSH. Если нет, откройте консоль в панели хостера, там видно, завис он или выключен.
  2. Посмотрите место на дисках: df -h. Заполненный диск - самая частая причина, по которой «всё сломалось само».
  3. Проверьте память и процессы (free -m, top) и не завершило ли ядро процесс базы из-за нехватки памяти: dmesg | grep -i oom.
  4. Посмотрите упавшие сервисы и последние ошибки: systemctl --failed и journalctl -p err -b.
  5. Прежде чем перезагружать, сохраните логи: после перезагрузки причину найти сложнее.

Если причина неочевидна или сбой повторяется, напишите мне: разберу по логам и метрикам и сделаю так, чтобы он не повторился.

Минимальная защита сервера в первый день

Этот список закрывает большинство автоматических атак, которые приходят на любой публичный IP в первые часы:

  • вход по SSH только по ключу, пароли и root-вход отключены
  • firewall: открыты только 80, 443 и SSH, остальное закрыто
  • автоматические обновления безопасности
  • fail2ban или аналог против перебора
  • базы данных и панели управления не слушают внешний интерфейс
  • бэкап настроен до того, как на сервере появились данные

Технологии

ОС
DebianUbuntuRHELRocky LinuxAstra Linux
Веб и базы
nginxCaddyPostgreSQLMySQLRedisClickHouse
Сеть
nftablesiptablesWireGuardIPv6
Мониторинг
PrometheusGrafanaLokisareBPF
Автоматизация
AnsibleTerraformBash
Бэкапы
resticS3pg_dump

Примеры работ

IPTV-сервис: 100 ТБ трафика в месяц

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

Подобрал сервер под фактическую нагрузку и перенёс сервис, описал настройку стрим-узлов в Ansible, закрыл порты и перевёл вход на ключи, настроил ежедневные бэкапы и алерты в Telegram.

−70%стоимость серверов после переезда

ML-платформа: из домашних серверов в облако

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

Перенёс сервисы в Selectel, настроил доставку в закрытый контур через VPN и зеркало Git, подключил метрики с алертами в рабочий мессенджер, бэкапы на S3 с проверкой восстановления.

10+сервисов выкатываются автоматически

Почему со мной удобно

Один инженер, без менеджеров

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

Плата за дело, а не за штат

Небольшому проекту не нужна дежурная смена 24/7. Платите за обслуживание и за конкретные задачи.

Всё остаётся у вас

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

Понимаю приложение

Много лет писал код, поэтому вижу, где проблема в сервере, а где в самом приложении.

Частые вопросы

Что входит в администрирование сервера? +

Обновления системы и пакетов, безопасность и firewall, мониторинг и алерты, резервное копирование, разбор инцидентов и проблем с производительностью. Конкретный набор согласуем под ваш проект.

Сколько стоит обслуживание сервера? +

Обслуживание стоит 20 000 ₽ в месяц: алерты, диски, сертификаты, бэкапы и реакция на сбои. Задачи сверх этого считаются по 3 000 ₽/час. Разовый аудит стоит от 10 000 ₽.

Обслуживаете серверы в офисе? +

Нет, работаю только удалённо: VPS, выделенные серверы, облака. Офисную инфраструктуру (1С, Active Directory, принтеры, выезды) не беру, для этого лучше приходящий системный администратор.

С какими дистрибутивами работаете? +

Debian, Ubuntu, RHEL и совместимые с ним Rocky Linux и AlmaLinux, Astra Linux. С другими популярными дистрибутивами тоже.

Можно ли защитить сервер от DDoS-атак? +

От простых атак и перебора паролей помогают firewall, лимиты в nginx и fail2ban. Против серьёзных атак нужен внешний сервис фильтрации трафика, помогу выбрать и подключить.

Какой доступ вам нужен? +

SSH-доступ по ключу с правами sudo. Мой открытый ключ лежит на сайте, ссылка внизу страницы, пароль передавать не нужно. Доступ закрывается удалением ключа в любой момент. Все изменения записываю, чтобы было видно, что и зачем сделано.

Оставить заявку

Опишите в двух словах: где сервер, что на нём работает и что беспокоит. Отвечу, с чего бы начал.

Смотрите также