Понимание доступности, установленной в Windows Azure
Я читаю объяснение наборов доступности на веб-сайте Microsoft, но не могу на 100% понять концепцию.
http://www.windowsazure.com/en-us/documentation/articles/manage-availability-virtual-machines/
Есть много вопросов, которые люди задают в комментариях, но нет технической поддержки от Microsoft, чтобы ответить на них.
Как я правильно понимаю, с помощью наборов доступности вы можете дублировать виртуальную машину с приложением IIS и виртуальную машину с SQL, что означает, что вы должны использовать 4 виртуальных машины (заплатите за 4) вместо 2. Это означает, что когда виртуальная машина IIS1 не работает, веб-сайт будет быть в сети с помощью виртуальной машины IIS2 и наоборот? То же самое касается виртуальных машин SQL1 и SQL2?
Я иду в правильном направлении? Если это так, как я могу синхронизировать данные на виртуальных машинах SQL1 и SQL2, IIS1 и IIS2 одновременно, чтобы веб-сайт все еще работал с последними данными и кодом, если одна виртуальная машина не работает для обновлений?
2 ответа
Набор доступности сочетает в себе две концепции из мира Windows Azure PaaS - домены обновления и домены сбоев - которые помогают повысить надежность службы. Когда несколько виртуальных машин развернуты в наборе доступности, контроллер фабрики Windows Azure распределяет их по нескольким доменам обновления и доменам сбоя.
Домен сбоя представляет собой группу виртуальных машин, которые имеют одну точку отказа - удобный (хотя и не совсем точный) способ представить себе стойку с одним верхним или стоечным маршрутизатором. Развертывая виртуальные машины в разных доменах сбоев, контроллер фабрики гарантирует, что один сбой не переведет весь сервис в автономный режим.
Контроллер фабрики использует домены обновлений для управления тем, как выполняются обновления ОС хоста (т. Е. Базового физического сервера). Контроллер фабрики выполняет эти обновления по одному домену обновления за раз, переходя на следующий домен обновления только после завершения обновления предыдущего домена обновления. Это гарантирует, что служба будет оставаться доступной, хотя и с меньшей пропускной способностью, во время обновления ОС хоста. Эти обновления, по-видимому, происходят каждый месяц или два, и службы, в которых все виртуальные машины развернуты в наборах доступности, не получают предупреждений, поскольку они предположительно устойчивы к обновлению. Microsoft действительно предупреждает об обновлениях подписок, содержащих виртуальные машины, развернутые за пределами наборов доступности.
Кроме того, не существует SLA для служб, в которых виртуальные машины развернуты за пределами наборов доступности.
Что касается SQL Server, вы можете рассмотреть использование групп доступности SQL Server, которые располагаются поверх отказоустойчивого кластера Windows Server и используют синхронную репликацию данных. Для IIS вы можете рассмотреть возможность развертывания вашего приложения в облачной службе PaaS, поскольку это обеспечивает значительные преимущества по сравнению с развертыванием его в облачной службе IaaS. Вы можете создать топологию сервисов, интегрирующую облачные сервисы PaaS и IaaS через VNET.
Набор доступности является комбинацией этих двух функций
- Fault Domain(у вас есть возможность выбрать максимум 3 при создании нового набора доступности)
Обновить домены (у вас есть возможность выбрать максимум 20 при создании нового набора доступности)
Fault Domain - это физический набор (например, стойка, питание), позволяющий вам выбрать 2 домена сбоя в вашем наборе доступности, и ваша машина в этом наборе доступности будет иметь значения 1 и 2, поэтому по крайней мере один может быть доступен в случае сбоя питания на любом физическом задавать.
Обновлен домен, который будет обновляться сразу после обновления системы Azure. если выбрано 4 домена обновления, а ваша 2 ВМ имеет значение 2,3, это означает, что они не будут обновляться вместе для какого-либо планового обслуживания
Для высокой доступности дублирующаяся виртуальная машина не должна находиться в том же домене сбоя или в том же домене обновления
Теперь Вы не можете изменить доступность, установленную после создания виртуальной машины, она должна быть установлена во время создания