НА УСТРАНЕНИЕ ошибки во всех, кроме семи, кластерах Azure ушло 13 часов 23 минут Источник: Microsoft |
В качестве возмещения за серию отключений Azure 29 февраля, вызванных программной ошибкой в облачном сервисе, корпорация Microsoft выдала пострадавшим клиентам дополнительное время в размере 33% от оплаченного ими.
Проблема была вызвана стечением двух обстоятельств. Первое: 29 февраля бывает раз в четыре года; второе: когда Azure инициализирует виртуальные машины для приложений клиентов, происходит замена цифрового сертификатов, и им назначается срок действия один год. При выдаче сертификатов начиная с 16:00 28 февраля, им назначался срок действия до несуществующей даты 29 февраля 2013 года, в результате они оказались недействительными.
После ошибки произошла серия повторных попыток, которые тоже провалились. В итоге система пришла к выводу о сбое аппаратного обеспечения, на котором работают виртуальные машины. Начались попытки перенести машины с «неработоспособных» на другие серверы в том же кластере Azure, состоящем примерно из тысячи физических систем.
Перенесенные виртуальные машины не смогли инициализироваться по той же причине. Постепенно все больше оборудования оказывалось «неработоспособным», пока не был достигнут порог, после которого прекратились все попытки «оживить» виртуальные машины в пострадавшем кластере.
На устранение ошибки во всех, кроме семи, кластерах Azure ушло 13 часов 23 минут. Упомянутые семь находились в процессе обновления программного обеспечения, поэтому ими пришлось заниматься отдельно. Администраторы оказались перед выбором, что делать с хостовыми и гостевыми агентскими программами, которые обменивались недействительными сертификатами, — обновлять до новых исправленных версий или откатить на старые версии, а затем исправить?
Решено было пойти по последнему пути, но это не сработало, так как не была возвращена предыдущая версия плагина, отвечающего за сетевую настройку виртуальных машин. Новая версия оказалась несовместимой со старым агентским ПО. В результате все виртуальные машины в этих семи кластерах оказались отрезанными от сети.
В них работали серверы контроля доступа и сервисной шины Azure. Полностью восстановить их работу удалось лишь к 2:15 1 марта, говорится в блоге Azure.
Поскольку телефонные линии поддержки в период сбоя были перегружены и клиентам приходилось подолгу ждать ответа, в корпорации также доукомплектовывают штат службы поддержки и собираются расширить использование блогов, Twitter и Facebook для уведомления о возникающих проблемах. Помимо этого, разрабатываются программные инструменты, которые позволят улучшить информирование клиентов о ходе работ по восстановлению после аварий.