Использование роли виртуальной машины в Windows Azure

Обновлено: Март 2011 г.

[Поддержка функции «Роль виртуальной машины» в Windows Azure прекращается 15 мая 2013 г. После этой даты развертывания этой роли будут удалены. Для продолжения работы с существующими приложениями можно использовать виртуальные машины Windows Azure. Дополнительные сведения об использовании виртуальных машин для приложения см. на веб-странице Moving from VM Role to Windows Azure Virtual Machines (Переход от использования функции «Роль виртуальной машины» к использованию виртуальных машин Windows Azure).

В Windows Azure виртуальные машины можно использовать двумя разными способами. Можно использовать роль ВМ или виртуальные машины.

  • Роль ВМ была представлена на конференции PDC10 и до сих пор остается в бета-версии. Роль получала превосходные отзывы пользователей, большая часть из которых использовалась для создания новой виртуальной машины в Windows Azure. По природе роли ВМ ее состояние неизменно; она полезна для клиентских сценариев, таких как установка приложений с длительным временем установки, подверженных ошибкам, и поддержки облачных шаблонов с масштабированием. Мы продолжаем принимать клиентов в программу бета-версии роли ВМ через предыдущий портал управления. Поскольку роль ВМ находится в бета-версии и ее характеристики и возможности могут измениться, не рекомендуется использовать роль ВМ для рабочего развертывания. Вы можете продолжить использование роли ВМ для проверки концепции или тестовых служб, пока идет сбор отзывов, которые будут учтены при определении будущего Windows Azure.

  • Виртуальные машины — из отзывов пользователей, собранных с момента запуска бета-версии роли ВМ, мы узнали много полезных сведений для планирования новых виртуальных машин Windows Azure. Виртуальные машины по своей природе постоянны, что позволяет клиентам запускать приложения, такие как SQL Server и SharePoint, в Windows Azure. Виртуальные машины также поддерживают операционные системы Windows Server и Linux. Служба виртуальных машин выпущена в предварительной версии, их использование регулируется соответствующими условиями и положениями. Ожидается, что служба станет общедоступной в конце календарного года, но точная дата еще не установлена. Дополнительные сведения об этом новом компоненте см. в области компонентов на сайте www.windowsazure.com.

Роль ВМ позволяет развертывать образ Windows Server 2008 R2 в среде Windows Azure. Благодаря роли ВМ можно работать в знакомой среде, используя стандартные технологии Windows для создания образа, установки на него программного обеспечения, подготовки образа для загрузки в Windows Azure, а также управления им после загрузки.

Может быть установлена одна из следующих операционных систем:

  • Windows Server 2008 R2 Enterprise (только английский язык);

  • Windows Server 2008 R2 Standard (только английский язык).

noteПримечание
Windows Web Server 2008 R2 не поддерживается.

Роль ВМ предоставляет высокую степень контроля над виртуальной машиной, а также преимущества выполнения в среде Windows Azure: немедленная масштабируемость, обновление на месте без простоя службы, интеграция с другими компонентами службы и сбалансированный по нагрузке трафик. Роль ВМ состоит из операционной системы, которая построена с использованием базового виртуального жесткого диска (VHD) и при необходимости разностного VHD-файла. Для использования роли ВМ также требуется файл определения службы и файл конфигурации службы.

Роль ВМ отличается от веб-роли и рабочей роли, поскольку с ними основное внимание акцентируется на создании и выполнении кода в операционной системе, которая управляется средой Windows Azure. Для роли ВМ вы предоставляете предварительно настроенный образ операционной системы. Разработчики имеют полный доступ к образу операционной системы. Администраторы могут получать удаленный доступ к виртуальной машине всех ролей, чтобы выполнять задачи обслуживания и устранения неполадок.

noteПримечание
Выполнение экземпляров роли ВМ в эмулятор вычислений не поддерживается.

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

На экземпляр роли ВМ, выполняемый в Windows Azure, накладываются некоторые ограничения, неприменимые к локальной установке операционной системы. Некоторые сетевые функции ограниченны. Например, для использования протокола определяемой пользователем процедуры необходимо также использовать Windows Azure Connect. Кроме того, экземпляр роли ВМ, работающий в Windows Azure, не сохраняет состояние. Рекомендуется использовать службы хранилища Windows Azure для сохранения состояния в большом двоичном объекте или на диске Windows Azure. Пример этого см. в разделе Разработка адаптера для роли виртуальной машины в Windows Azure. Данные, которые записываются в каталог ресурса локального хранилища, сохраняются при повторном создании экземпляра сервера. Однако эти данные могут быть потеряны в случае временного сбоя в Windows Azure, когда экземпляр роли ВМ нужно переместить на другое оборудование.

На следующем рисунке представлен обзор действий в процессе разработки роли ВМ.

VMRoleOverview

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

Пока экземпляр роли ВМ переводится в режим в сети, т. е. при первой загрузке и настройке операционной системы с помощью прохода специализации и при каждом последующем запуске служб Windows, настроенных для автозапуска, экземпляр роли ВМ при опросе возвращает состояние Busy. После автозапуска всех служб экземпляр роли ВМ возвращает состояние Ready. В этот момент Windows Azure предполагает, что экземпляр роли ВМ уже готов к получению трафика. На вас лежит обязанность подтвердить это. Затем Windows Azure направляет трафик в экземпляр, пока он не будет изъят из ротации подсистемы балансировки нагрузки из-за того, что код, исполняемый в экземпляре роли ВМ, установил состояние Busy, или потому, что было инициировано состояние завершения работы.

Когда экземпляр роли ВМ находится в сети, ваш код в любой момент может явным образом задать состояние Busy, добавив обработчик в событие StatusCheck. После возникновения события можно вызвать метод SetBusy для объекта-аргумента события. Когда среда Windows Azure опрашивает экземпляр роли ВМ и получает состояние Busy, она перестает направлять трафик в экземпляр, пока для него не будет восстановлено состояние Ready. Когда экземпляр роли ВМ начинает завершение работы из-за перезагрузки или повторного создания образа, он снова возвращает состояние Busy. Он не получает трафик от подсистемы балансировки нагрузки, пока не будет переведен в оперативный режим и снова не завершит процессы автозапуска.

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

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

  • Если адаптер — служба автозапуска, убедитесь, что задача настройки экземпляра роли ВМ завершена до возврата значения методом OnStart. После завершения метода OnStart облачная служба должна находиться в состоянии Ready и оставаться в состоянии Ready, пока не будет явно изъята из ротации или не начнется процесс завершения работы.

  • Избегайте спонтанной перезагрузки облачной службы. Файл ответов по умолчанию отключает центр обновления Windows. Не изменяйте этот параметр.

  • Избегайте завершения работы Windows из экземпляра роли ВМ.

Все экземпляры ролей ВМ, работающие в Windows Azure, оцениваются по часам вычислительных операций. Лицензирование для роли ВМ включено в стоимость часа вычислительной операции и не привязано к состоянию лицензирования установочного носителя, который использовался для создания базового VHD-файла.

noteПримечание
К приложениям, развернутым в Windows Azure, применяются условия лицензирования, связанные с приложением.

Виртуальный жесткий диск создается с помощью диспетчера Hyper-V на сервере под управлением операционной системы Windows Server 2008. В документации этот сервер называется исходным сервером. Перед началом разработки роли ВМ необходимо выполнить следующие операции на исходном сервере.

  • Установите выпуск Windows Server 2008 (рекомендуется использовать Windows Server 2008 R2) и все нужные обновления.

  • Установите роль сервера Hyper-V. Дополнительные сведения см. в разделе Установка роли Hyper-V с полной установкой Windows Server 2008.

  • Установите пакет Windows Azure SDK и его необходимые компоненты. Удалите все предыдущие версии до установки последней версии. Чтобы загрузить последнюю версию, посетите страницу загрузок Windows Azure.

  • Убедитесь, что установочный носитель Windows Server 2008 R2 или ранее созданный VHD-файл доступен. Типичная форма установочного носителя — ISO-файл.

  • (Необязательно) Установите Visual Studio 2010, чтобы упростить создание модели службы и развертывание пакета.

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

См. также

Добавления сообщества

Показ: