Разделы

Интернет Веб-сервисы Техника

Обновление Ubuntu сломало облако Microsoft Azure

После обновления подсистемы systemd в Ubuntu 18.04 виртуальные машины в облаке Microsoft Azure под этой ОС вышли из строя. По-видимому, причиной стал старый «баг», исправленный два года назад, но каким-то образом снова затесавшийся в systemd.

И всё сломалось

Пользователи виртуальных машин на базе операционной системы Ubuntu 18.04 столкнулись с отказом в работе в облаке Microsoft Azure. Судя по всему, источником сбоев стал один из компонентов Ubuntu.

Проблемы начались ранним утром 30 августа 2022 г. после наката обновления systemd, подсистемы инициализации и управления службами в Linux, до версии 237-3ubuntu10.54. Сразу после этого виртуальные машины под Ubuntu версии 18.04 (Bionic Beaver) стали испытывать проблемы с DNS - попросту говоря, стали недоступны.

Хотя по имеющейся сейчас информации проблема ограничивается только одной версией Ubuntu, затронуто довольно большое количество различных сервисов Azure - Kubernetes Service (AKS), Azure Monitor, Azure Sentinel, Azure Container Apps и т.д.

ubuntu6001.jpg
После обновления подсистемы systemd в Ubuntu 18.04 виртуальные машины в облаке Microsoft Azure под этой ОС вышли из строя

На момент написания этого материала страница актуального состояния Azure показывала, что проблемы наблюдаются уже только в Azure Kubernetes Service (повсеместно) и Container Apps (в некоторых регионах).

Старая история?

Разработчики Ubuntu опубликовали описание ошибки, приведшей к сбою, а также способы исправления. Рекомендовано либо произвести перезагрузку виртуальных машин, либо запустить команду "udevadm trigger -cadd -yeth0 && systemctl restart systemd-networkd" с полномочиями администратора.

В публикации Ubuntu также указывается, что нынешняя ошибка в systemd это «то же самое», с чем разработчики столкнулись в 2020 г.

«Проблему провоцирует компонент open-vm-tools, подающий команду "udevadm trigger". В Azure используется специфическая установка [утилиты] netplan, где параметр (match) "driver" используется для установки сетевых соединений. Если запускается udevadm trigger, то пара “ключ-величина”, содержащая эту информацию, пропадает. При следующем запуске netplan сервер теряет информацию о DNS. Та же проблема возникала в связи с уязвимостью 1902960, проявившейся в Focal [речь о версии Ubuntu 20.04 Focal Fossa] два года назад», - указывается в бюллетене Ubuntu.

Что ждут пользователи от российской системы ВКС?
Импортонезависимость

Там же указывается, что корень проблемы - это «баг» в systemd, который был исправлен в обновлением systemd до версии 247; разработчики произвели бэкпорт изменений и для Focal Fossa, и для Bionic Beaver (где индексы версий systemd, естественно, ниже, чем в Focal). Объяснений, почему старый «баг» всплыл повторно при обновлении systemd, в бюллетене не приводится.

«К сожалению, одни и те же ошибки в ПО время от времени проявляются повторно - по самым разным причинам, - говорит Михаил Зайцев, эксперт по информационной безопасности компании SEQ. - Это может быть связано с повторным использованием при сборке очередной версии программы каких-то внешних библиотек и компонентов, где «баг» так и не был исправлен. Иногда такие инциденты имеют даже слишком масштабные последствия».

Версия Ubuntu 18.04 Bionic Beaver обозначена как LTS (long-term support), то есть, считается актуальной и обеспечивается технической поддержкой. То же самое касается версии 20.04 Focal Fossa, однако именно 18.04 специально адаптирована под Azure и является операционной системой Azure Kubernetes Service по умолчанию.

В публикации Microsoft указывается, что тем пользователям Ubuntu 18.04, которые сейчас не испытывают проблем, но у которых активны автоматические обновления безопасности, стоит на время их отключить. До тех пор, пока ошибка не будет исправлена.

Роман Георгиев