Технический блог

Постмортем: как мы потеряли и восстановили базу данных на 500 ГБ

Дата публикации: 14 Февраля 2026

В этой статье мы честно расскажем об инциденте, произошедшем с одним из наших тестовых кластеров. Всё началось в пятницу вечером, когда сработал алерт Zabbix о нехватке места на диске /var/lib/postgresql.

Мы использовали потоковую репликацию (streaming replication) вместе с repmgr. Из-за сетевого сбоя между дата-центрами мастер начал накапливать WAL-файлы, так как реплика не успевала их забирать. В результате диск заполнился на 100%, и PostgreSQL совершил аварийную остановку (PANIC).

Что мы сделали: Мы экстренно увеличили размер блочного устройства в панели облачного провайдера. Затем сделали resize2fs. База стартовала, но оказалась в состоянии recovery. И тут мы поняли, что бэкапы pgBackRest не делались последние 3 дня из-за истекшего S3 токена...

Читать далее (Спойлер: мы спасли данные, но седых волос прибавилось).

Сравнение Nginx и Traefik в роли Ingress для K8s

Дата публикации: 02 Января 2026

Когда вы только начинаете работать с Kubernetes, выбор Ingress-контроллера кажется неочевидным. Исторически все используют ingress-nginx. Он стабилен, понятен, использует Lua под капотом для динамических релоадов. Но конфигурация через аннотации сводит с ума, когда маршруты становятся сложными.

Мы перевели 3 проекта на Traefik Proxy 3.0. Поддержка CRD (Custom Resource Definitions) вроде IngressRoute делает конфигурацию декларативной и предсказуемой. А встроенная интеграция с Let's Encrypt позволяет забыть о cert-manager.