Неожиданное завершение работы виртуальных машин Azure во время автоматического масштабирования

Сегодня у нас возникла проблема с виртуальными машинами Azure, когда одна виртуальная машина из набора доступности 2 просто перестала отвечать. Через несколько минут мы заметили, что машина была выключена, а другая виртуальная машина в комплекте не была включена (что должно быть в порядке, поскольку это не отказоустойчивость). Мы взглянули на мониторинг виртуальной машины, и не было ни одного журнала, сообщающего нам, что было какое-то время простоя. Единственное, что мы нашли - это 2 странных журнала в Management Services - журналы операций.

  • 12.11.2013 22:12:02 Действие AutoscaleAction успешно завершено VirtualMachinesAvailabilitySet:xyz Autoscale
  • 12.11.2013 21:36:56 Действие AutoscaleAction успешно завершено VirtualMachinesAvailabilitySet:xyz Autoscale

Первый был со следующими деталями:

Описание: механизм автоматического масштабирования, пытающийся масштабировать ресурс 'xyz' с 0 экземпляров до 1 экземпляра.

LastScaleActionTime: 20131106T173020Z

NewInstancesCount: 1

OldInstancesCount: 0

Второй:

Механизм автоматического масштабирования пытается масштабировать ресурс 'xyz' с количества экземпляров до количества экземпляров.

LastScaleActionTime: 20131112T203656Z

NewInstancesCount: 1

OldInstancesCount: 2

Кто-нибудь знает, что могло случиться?

ОБНОВИТЬ

Служба поддержки Azure предоставила мне отзыв, и они объяснили, что машины не работают из-за обновления хоста.

С уважением

2 ответа

Решение

Обе мои машины вышли из строя из-за обновления хоста и автоматического масштабирования, установленного от 1 до 2 машин в зависимости от загрузки процессора. Итак, я обнаружил, что AutoScaling не будет включать вторую машину при обновлении хоста (что может быть очень полезно и сделать мои приложения онлайн).

Я думаю, что это объяснит проблему экземпляров 0 из 1, поэтому не используйте AutoScaling с вышеуказанными настройками, чтобы получить HA.

С уважением

Всякий раз, когда вы используете автомасштабирование, вы устанавливаете диапазон экземпляров, который сообщает Azure минимальное и максимальное количество виртуальных машин, которые вы хотите запустить в данный момент времени. В этом случае, похоже, вы установили минимум равным 1. Это объясняет, почему, когда обе виртуальные машины были остановлены, он включал одну из них.

Кроме того, масштаб от 2 до 1 был вероятен, потому что нагрузка на вашу виртуальную машину была низкой (при условии, что вы масштабируете по ЦП). Если средний ЦП останется ниже установленной вами цели (по умолчанию 60%), он будет уменьшаться, пока не достигнет минимума (в данном случае 1).

Другие вопросы по тегам