Поделиться через


Группы размещения близкого взаимодействия

Применимо к: ✔️ Виртуальные машины Linux ✔️ Виртуальные машины Windows ✔️ Универсальные масштабируемые наборы

Размещение виртуальных машин в одном регионе сокращает физическое расстояние между экземплярами. Поместив их в одну зону доступности, вы также разместите виртуальные машины физически ближе друг к другу. Тем не менее, с увеличением занимаемой памяти Azure одна зона доступности может охватить несколько физических центров обработки данных, что может привести к задержке в сети, влияющей на работу вашего приложения.

Чтобы виртуальные машины располагались максимально близко, а задержка была минимальной, необходимо развернуть их в группе размещения близкого взаимодействия.

Группа размещения близкого взаимодействия — это логическая группировка, используемая для того, чтобы ресурсы вычислений Azure физически размещались близко друг к другу. Группа размещения близкого взаимодействия удобны для рабочих нагрузок, где требуется низкая задержка.

  • Низкая задержка между изолированными виртуальными машинами.
  • Низкая задержка между виртуальными машинами в одной группе доступности или масштабируемом наборе виртуальных машин.
  • Низкая задержка между изолированными виртуальными машинами, виртуальными машинами в нескольких группах доступности или нескольких масштабируемых наборах. Можно поместить несколько вычислительных ресурсов в одну группу размещения, чтобы объединить многоуровневое приложение.
  • Низкая задержка между несколькими уровнями приложения, использующими оборудование различных типов. Например, серверная часть может работать на экземпляре серии M в группе доступности, а внешний интерфейс — на экземпляре серии D в масштабируемом наборе, которые размещены в одной группе размещения близкого взаимодействия.

Изображение групп размещения близкого взаимодействия

Использование групп размещения близкого взаимодействия

Группа размещения близкого взаимодействия — это ресурс в Azure. Необходимо создать этот ресурс, прежде чем использовать с другими ресурсами. После создания его можно использовать с виртуальными машинами, группами доступности или масштабируемыми наборами виртуальных машин. Группа размещения близкого взаимодействия указывается при создании вычислительных ресурсов с помощью идентификатора этой группы.

Можно также переместить существующий ресурс в группу размещения близкого взаимодействия. При перемещении ресурса в группу размещения близкого взаимодействия необходимо сначала остановить (освободить) ресурс, так как он может быть затем повторно развернут в другом центре обработки данных в регионе, соответствующем ограничению совместного размещения.

В случае групп доступности и масштабируемых наборов виртуальных машин следует задать группу размещения с учетом расположения на уровне ресурсов, а не отдельных виртуальных машин.

Группа размещения близкого взаимодействия является скорее ограничением совместного размещения, чем механизмом закрепления. Она закрепляется за определенным центром обработки данных после развертывания первого ресурса, который ее использует. После того как все ресурсы, использующие группу размещения близкого взаимодействия, будут остановлены (освобождены) или удалены, эта группа больше не будет считаться закрепленной. Поэтому при использовании группы размещения близкого взаимодействия с виртуальными машинами нескольких серий важно заранее указать все требуемые типы в шаблоне, если это возможно, или последовательно выполнять развертывание, что повысит вероятность его успешного завершения. В случае сбоя развертывания перезапустите его, указав размер виртуальной машины, который привел к сбою, в качестве первого развертываемого размера.

Использование намерения для указания размеров виртуальных машин

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

При указании intent можно также добавить необязательный параметр zone для задания зоны доступности. Он указывает, что группа размещения близкого взаимодействия должна быть создана в определенной зоне доступности. При указании параметра zone обратите внимание на следующие моменты.

  • Параметр зоны доступности может быть указан только во время создания группы размещения близкого взаимодействия и не может быть изменен позже.
  • Параметр zone можно использовать только с intent. Его нельзя использовать отдельно.
  • Можно указать только одну зону доступности.

Создание или обновление группы размещения близкого взаимодействия будет выполнено только в том случае, если хотя бы один центр обработки данных поддерживает все размеры виртуальных машин, указанные в намерении. В противном случае создание или обновление завершится сбоем с ошибкой "OverconstrainedAllocationRequest", указывающей, что сочетание размеров виртуальных машин не поддерживается в группе размещения близкого взаимодействия. Намерение не обеспечивает резервирование емкости и не предоставляет гарантий. Размеры виртуальных машин и зона, указанные в параметре intent, используются для выбора соответствующего центра обработки данных, что позволит уменьшить вероятность сбоя в случае, если требуемый размер виртуальной машины недоступен в центре обработки данных. Сбои выделения все еще могут происходить, если на момент развертывания отсутствует необходимая емкость для размера виртуальной машины.

Примечание.

Чтобы использовать намерение для групп размещения близкого взаимодействия, убедитесь, что версия API 2021-11-01 или выше

Рекомендации при использовании намерения

  • Выделяйте зону доступности для группы размещения близкого взаимодействия, только если вы используете намерение. Предоставление зоны доступности без намерения приведет к возникновению ошибки при создании группы размещения близкого взаимодействия.
  • Если вы предоставляете зону доступности в намерении, убедитесь, что зона доступности развертываемых виртуальных машин соответствует тому, что указано в намерении. это позволит избежать ошибок при развертывании виртуальных машин.
  • Создание или добавление виртуальных машин, размеры которых не включены в намерение, разрешено, но не рекомендуется. Размер может отсутствовать в выбранном центре обработки данных, что может привести к сбоям во время развертывания виртуальной машины.
  • Для существующих групп размещения рекомендуется включить размеры существующих виртуальных машин при обновлении намерения, чтобы избежать сбоев при повторном развертывании виртуальных машин.

Намерение может быть затронуто при списании оборудования

  • Возможно, что после создания группы размещения близкого взаимодействия с намерением и до развертывания виртуальных машин могут произойти события планового обслуживания, такие как списание оборудования в центре обработки данных Azure, в результате чего сочетание размеров виртуальных машин, указанное в намерении, будет недоступно в центре обработки данных. В таких случаях возникнет ошибка "OverconstrainedAllocationRequest" даже при развертывании виртуальных машин размеров, указанных в намерении. Вы можете попытаться освободить все ресурсы в группе размещения близкого взаимодействия и повторно создать их, чтобы получить центр обработки данных, который может соответствовать намерению. Если после списания центр обработки данных с указанными размерами виртуальных машин не существует, возможно, вам придется изменить намерение, чтобы использовать другое сочетание размеров виртуальных машин, поскольку прежнее сочетание размеров виртуальных машин больше не поддерживается.
  • Azure может прекратить использование всего семейства виртуальных машин или определенного набора размеров виртуальных машин. Если в вашем намерении указан такой размер виртуальной машины, может потребоваться либо удалить его, либо заменить другим размером до даты прекращения использования исходного размера виртуальной машины. В противном случае намерение больше не будет допустимым.

Что следует ожидать при использовании групп размещения близкого взаимодействия

Группы размещения близкого взаимодействия обеспечивают совместное размещение в одном центре обработки данных. Но так как группы размещения близкого взаимодействия накладывают дополнительное ограничение развертывания, могут возникать сбои при выделении ресурсов. Существует несколько вариантов использования групп размещения близкого взаимодействия, при которых могут возникнуть сбои выделения.

  • Когда вы запрашиваете первую виртуальную машину в группе размещения близкого взаимодействия, центр обработки данных выбирается автоматически. В некоторых случаях второй запрос другого размера виртуальной машины может завершиться ошибкой, если он не существует в этом центре обработки данных. В этом случае возвращается ошибка OverconstrainedAllocationRequest. Чтобы избежать этой ошибки, попробуйте изменить порядок развертывания размеров виртуальных машин или развернуть оба ресурса с помощью одного шаблона ARM.
  • Если группа размещения близкого взаимодействия создается с намерением, виртуальные машины не нужно развертывать в определенном порядке, и к ним не требуется применять пакетную обработку с помощью одного шаблона ARM, так как намерение используется для выбора центра обработки данных, который поддерживает все размеры виртуальных машин, указанные в намерении.
  • В случае эластичных рабочих нагрузок, в которых вы добавляете и удаляете экземпляры виртуальных машин, наличие ограничения группы размещения близкого взаимодействия в развертывании может привести к сбою запроса и возникновению ошибки AllocationFailure.
  • Остановка (освобождение) и запуск виртуальных машин по мере необходимости — это еще один способ обеспечить эластичность. Так как после остановки (освобождения) виртуальной машины ее емкость не сохраняется, повторный запуск этой виртуальной машины может привести к ошибке AllocationFailure.
  • Операции запуска и повторного развертывания виртуальных машин будут по-прежнему учитывать группу размещения близкого взаимодействия после настройки.

Плановое обслуживание и группы размещения близкого взаимодействия

События планового обслуживания, например списание оборудования в центре обработки данных Azure, потенциально могут влиять на согласование ресурсов в группах размещения близкого взаимодействия. Ресурсы могут быть перемещены в другой центр обработки данных, что может нарушить ожидаемые параметры совместного размещения и задержки, связанные с группой размещения близкого взаимодействия.

Проверка состояния согласования

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

  • Состояние совместного размещения группы размещения близкого взаимодействия можно просмотреть с помощью портала, интерфейса командной строки и PowerShell.

    • При использовании PowerShell состояние совместного размещения можно получить с помощью командлета Get-AzProximityPlacementGroup, добавив в него необязательный параметр -ColocationStatus.

    • При использовании CLI состояние совместного размещения можно получить с помощью команды az ppg show, добавив в нее необязательный параметр --include-colocation-status.

  • Для каждой группы размещения близкого взаимодействия в свойстве Статус совместного размещения содержится сводка состояния согласования сгруппированных ресурсов.

    • Aligned (Согласована): ресурс соответствует задержке для группы размещения близкого взаимодействия.

    • Unknown (Неизвестно): освобожден по крайней мере один ресурс виртуальной машины. После его успешного повторного запуска должно вернуться состояние Aligned (Согласована).

    • Not aligned (Не согласована): по меньшей мере один ресурс не согласован с группой размещения близкого взаимодействия. Конкретные ресурсы, которые не были согласованы, будут также указаны отдельно в разделе членства.

  • Для групп доступности можно просмотреть сведения о согласовании отдельных виртуальных машин на странице обзора группы доступности.

  • Для масштабируемых наборов сведения о согласовании отдельных экземпляров можно просмотреть на вкладке Экземпляры страницы Обзор масштабируемого набора.

Повторное согласование ресурсов

Если группа размещения близкого взаимодействия находится в состоянии Not Aligned, можно остановить (освободить), а затем перезапустить затронутые ресурсы. Если виртуальная машина находится в группе доступности или масштабируемом наборе, сначала необходимо остановить (освободить) все виртуальные машины в этой группе доступности или масштабируемом наборе, прежде чем перезапустить ее.

В случае сбоя выделения из-за ограничений развертывания может потребоваться остановить (освободить) все ресурсы в группе размещения близкого взаимодействия (включая согласованные ресурсы), а затем перезапустить их, чтобы восстановить согласованность.

Рекомендации

  • Чтобы обеспечить минимальную задержку, используйте для групп размещения близкого взаимодействия ускорение сети. Дополнительные сведения см. в статьях Создание виртуальной машины Linux с ускоренной сетью и Создание виртуальной машины Windows с ускоренной сетью.
  • Чтобы избежать размещения на оборудовании, которое не поддерживает все требуемые номера SKU и размеры виртуальных машин, используйте намерение для групп размещения близкого взаимодействия. Если это уже существующая группа размещения близкого взаимодействия без намерения, то чтобы избежать этой проблемы, можно использовать один шаблон ARM со всеми указанными размерами виртуальных машин.
  • При повторном использовании существующей группы размещения, из которой были удалены виртуальные машины, дождитесь полного завершения удаления, прежде чем добавлять в нее виртуальные машины.
  • Если задержка является приоритетной, поместите виртуальные машины в группу размещения близкого взаимодействия, а все решение разместите в зоне доступности. Но если приоритетной является устойчивость, распределите экземпляры между несколькими зонами доступности (одна группа размещения близкого взаимодействия не может охватывать несколько зон).

Следующие шаги