Хранилище
Постоянное хранилище для Kubernetes: Longhorn, LINSTOR и DRBD, расширение томов, multipath и миграции без потери данных.
6 статей
- multipathd захватил том Longhorn: «mount point busy», хотя ничего не смонтированоПод пять дней висел в Init, 2413 попыток монтирования, полный ребут не помог. multipathd построил карту поверх iSCSI-устройства Longhorn и держал его открытым.
- Переезд продового кластера с Longhorn на LINSTOR — и ожидание, которое не сбылосьЗачем мы заменили Longhorn на LINSTOR/DRBD на self-managed кластере, как каждая нагрузка переезжала своим способом и что пошло не так по дороге.
- Vault запечатывался сам. Причиной была 15-минутная заморозка VM ниже кластераЧетыре seal'а Vault за три недели, каждый разбирали как отдельный инцидент. Анализ пауз в journald показал, что гипервизор замораживает VM во время бэкапа, а Longhorn превращает это в каскад.
- Как обновить ОС на семи нодах Kubernetes так, чтобы никто не заметилПоочерёдное обновление Ubuntu в кластере, который хранит всё своё состояние сам. Предварительные проверки превратили страшную работу в скучную, а темп задавал Longhorn.
- «Ошибки диска» оказались OOM: как тома Longhorn потеряли бэкендEIO, ext4 в read-only, повреждённый datadir MySQL и запечатанный Vault выглядели как умирающий диск. dmesg хоста показал OOM на всю ноду, который первым убил instance-manager Longhorn.
- Том Longhorn, который не хотел расти: attachment ticket, прибитый к плохой нодеPVC бесконечно висел в Resizing, а Longhorn каждые пять секунд повторял расширение без единой ошибки. Устаревший attachment ticket держал том на одной нездоровой ноде.