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


Создание кластера для высокопроизводительных вычислений (HPC) Windows с помощью сценария развертывания пакета HPC в IaaS

Важно!

1 марта 2023 г. мы прекратим поддержку классических виртуальных машин.

Если вы используете ресурсы IaaS из ASM, выполните миграцию до 1 марта 2023 г. Рекомендуем осуществить этот переход как можно раньше, чтобы воспользоваться различными улучшенными функциями в Azure Resource Manager.

Дополнительные сведения см. в статье Перенесите свои ресурсы IaaS в Azure Resource Manager до 1 марта 2023 г.

Выполните сценарий PowerShell для развертывания пакета HPC в IaaS, чтобы развернуть полный кластер пакета HPC 2012 R2 для рабочих нагрузок Windows на виртуальных машинах Azure. Кластер состоит из присоединенного к Active Directory головного узла под управлением Windows Server и пакета Microsoft HPC, а также дополнительных вычислительных ресурсов Windows, которые вы указали. Если вы хотите развернуть кластер пакета HPC в Azure для рабочих нагрузок Linux, см. раздел о создании кластера HPC Linux с помощью сценария развертывания пакета HPC в IaaS.

Важно!

Сценарий PowerShell, описанный в этой статье, создает кластер пакета Microsoft HPC 2012 R2 в Azure с помощью классической модели развертывания. Для большинства новых развертываний Майкрософт рекомендует использовать модель диспетчера ресурсов. Кроме того сценарий, описанный в этой статье не поддерживает пакет HPC 2016. Сведения о шаблонах Resource Manager для HPC Pack 2012 R2 и HPC Pack 2016 в см. в статье Варианты развертывания кластера HPC Pack в Azure.

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

Общие сведения о планировании кластера пакета HPC см. в статьях Product Evaluation and Planning (Оценка и планирование продукта) и Getting Started (Приступая к работе), посвященных пакету HPC 2012 R2, в библиотеке TechNet.

Обязательные условия

  • Подписка Azure. Вы можете использовать подписку на глобальную службу Azure или Azure для Китая. Ограничения подписки влияют на количество и тип узлов кластера, которые вы можете развернуть. Дополнительные сведения см. в статье Подписка Azure, границы, квоты и ограничения службы.
  • Клиентские компьютеры под управлением Windows с установленной и настроенной средой Azure PowerShell 0.8.10 или более поздней версии. Пошаговые инструкции по установке и подключению к подписке Azure см. в статье Get started with Azure PowerShell cmdlets (Начало работы с командлетами Azure PowerShell).
  • Скрипт развертывания IaaS из пакета HPC. Скачайте и распакуйте последнюю версию скрипта из Центра загрузки Майкрософт. Проверьте версию сценария, запустив New-HPCIaaSCluster.ps1 –Version. В этой статье предполагается использование скрипта версии 4.5.2.
  • Файл конфигурации скрипта. Создайте XML-файл, с помощью которого скрипт настраивает кластер HPC. Информацию и примеры см. в следующих разделах этой статьи и в файле Manual.rtf, сопровождающем скрипт развертывания.

Синтаксис

New-HPCIaaSCluster.ps1 [-ConfigFile] <String> [-AdminUserName]<String> [[-AdminPassword] <String>] [[-HPCImageName] <String>] [[-LogFile] <String>] [-Force] [-NoCleanOnFailure] [-PSSessionSkipCACheck] [<CommonParameters>]

Примечание

Запустите скрипт от имени администратора.

Параметры

  • ConfigFile. Указывает путь к файлу конфигурации кластера HPC. Дополнительные сведения о файле конфигурации см. в этой статье или в файле Manual.rtf в папке со скриптом.

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

  • AdminPassword — пароль администратора. Если значение не указано в командной строке, скрипт предложит ввести пароль.

  • HPCImageName (необязательно) — образ виртуальной машины с пакетом HPC, используемый для развертывания кластера HPC. Это должен быть образ пакета HPC от корпорации Майкрософт (доступен в Azure Marketplace). Если значение не указано (рекомендуется в большинстве случаев), скрипт выбирает последний опубликованный образ пакета HPC 2012 R2. Последняя версия образа предполагает, что установлена ОС Windows Server 2012 R2 Datacenter с пакетом HPC 2012 R2 с обновлением 3.

    Примечание

    Если не указать действительный образ пакета HPC, развертывание завершится ошибкой.

  • LogFile (необязательно) — путь к файлу журнала развертывания. Если значение не указано, скрипт создаст файл журнала во временной папке на компьютере, на котором выполняется скрипт.

  • Force (необязательно). Скрывает все окна с запросами подтверждения.

  • NoCleanOnFailure (необязательно). Указывает, что виртуальные машины Azure, которые не удалось развернуть, не удаляются. Перед повторным выполнением скрипта следует удалить такие виртуальные машины вручную. В противном случае может произойти сбой развертывания.

  • PSSessionSkipCACheck (необязательно). Для каждой облачной службы с виртуальными машинами, развернутыми с помощью этого скрипта, Azure автоматически создает самозаверяющий сертификат, и все виртуальные машины в облачной службе используют его как стандартный сертификат удаленного управления Windows (WinRM). Чтобы развернуть функции HPC на этих виртуальных машинах Azure, скрипт по умолчанию временно устанавливает эти сертификаты в локальном корневом хранилище центров сертификации на клиентском компьютере для подавления ошибки безопасности "не доверенный ЦС" во время выполнения скрипта. После завершения выполнения скрипта сертификаты удаляются. Если этот параметр задан, сертификаты не устанавливаются на локальный компьютер, а предупреждения системы безопасности подавляются.

    Важно!

    Не рекомендуется использовать этот параметр для развертывания в рабочей среде.

Пример

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

.\New-HPCIaaSCluster.ps1 –ConfigFile MyConfigFile.xml -AdminUserName <username> –AdminPassword <password>

Дополнительные сведения

  • Скрипт дополнительно может включать отправку заданий через веб-портал для пакета HPC или с помощью REST API для пакета HPC.
  • Скрипт может дополнительно запускать другие скрипты до и после настройки головного узла (если нужно установить дополнительное программное обеспечение или настроить другие параметры).

Файл конфигурации

Скрипт развертывания использует файл конфигурации в формате XML. Файл схемы HPCIaaSClusterConfig.xsd находится в папке скрипта развертывания пакета HPC по модели IaaS. IaaSClusterConfig — это корневой элемент файла конфигурации. Его дочерние элементы подробно описаны в файле Manual.rtf в папке со скриптом развертывания.

Примеры файлов конфигурации

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

Пример 1

Следующий файл конфигурации развертывает кластер пакета HPC с одним головным узлом с локальными базами данных, а также пятью вычислительными узлами под управлением операционной системы Windows Server 2012 R2. Все облачные службы создаются сразу в расположении West US (западная часть США). Головной узел выступает в качестве контроллера домена в доменном лесу.

<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
  <Subscription>
    <SubscriptionId>08701940-C02E-452F-B0B1-39D50119F267</SubscriptionId>
    <StorageAccount>mystorageaccount</StorageAccount>
  </Subscription>
  <Location>West US</Location>  
  <VNet>
    <VNetName>MyVNet</VNetName>
    <SubnetName>Subnet-1</SubnetName>
  </VNet>
  <Domain>
    <DCOption>HeadNodeAsDC</DCOption>
    <DomainFQDN>hpc.local</DomainFQDN>
  </Domain>
  <Database>
    <DBOption>LocalDB</DBOption>
  </Database>
  <HeadNode>
    <VMName>MyHeadNode</VMName>
    <ServiceName>MyHPCService</ServiceName>
    <VMSize>ExtraLarge</VMSize>
  </HeadNode>
  <ComputeNodes>
    <VMNamePattern>MyHPCCN-%1000%</VMNamePattern>
    <ServiceName>MyHPCCNService</ServiceName>
    <VMSize>Medium</VMSize>
    <NodeCount>5</NodeCount>
    <OSVersion>WindowsServer2012R2</OSVersion>
  </ComputeNodes>
</IaaSClusterConfig>

Пример 2

Следующий файл конфигурации развертывает HPC-кластер в существующем доменном лесу. Кластер содержит один головной узел с локальными базами данных и 12 вычислительных узлов с примененным расширением виртуальных машин BGInfo. Автоматическая установка обновлений Windows отключена для всех виртуальных машин в доменном лесу. Все облачные службы создаются сразу в расположении East Asia (Восточная Азия). Вычислительные узлы создаются в трех облачных службах и трех учетных записях хранения: от MyHPCCN-0001 до MyHPCCN-0005 в MyHPCCNService01 и mycnstorage01; от MyHPCCN-0006 до MyHPCCN0010 в MyHPCCNService02 и mycnstorage02; от MyHPCCN-0011 до MyHPCCN-0012 в MyHPCCNService03 и mycnstorage03). Вычислительные узлы создаются из существующего частного образа вычислительного узла. Служба автоматического масштабирования включена с интервалами увеличения и уменьшения по умолчанию.

<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
  <Subscription>
    <SubscriptionName>Subscription-1</SubscriptionName>
    <StorageAccount>mystorageaccount</StorageAccount>
  </Subscription>
  <Location>East Asia</Location>  
  <VNet>
    <VNetName>MyVNet</VNetName>
    <SubnetName>Subnet-1</SubnetName>
  </VNet>
  <Domain>
    <DCOption>NewDC</DCOption>
    <DomainFQDN>hpc.local</DomainFQDN>
    <DomainController>
      <VMName>MyDCServer</VMName>
      <ServiceName>MyHPCService</ServiceName>
      <VMSize>Large</VMSize>
      </DomainController>
     <NoWindowsAutoUpdate />
  </Domain>
  <Database>
    <DBOption>LocalDB</DBOption>
  </Database>
  <HeadNode>
    <VMName>MyHeadNode</VMName>
    <ServiceName>MyHPCService</ServiceName>
    <VMSize>ExtraLarge</VMSize>
  </HeadNode>
  <Certificates>
    <Certificate>
      <Id>1</Id>
      <PfxFile>d:\mytestcert1.pfx</PfxFile>
      <Password>MyPsw!!2</Password>
    </Certificate>
  </Certificates>
  <ComputeNodes>
    <VMNamePattern>MyHPCCN-%0001%</VMNamePattern>
<ServiceNamePattern>MyHPCCNService%01%</ServiceNamePattern>
<MaxNodeCountPerService>5</MaxNodeCountPerService>
<StorageAccountNamePattern>mycnstorage%01%</StorageAccountNamePattern>
    <VMSize>Medium</VMSize>
    <NodeCount>12</NodeCount>
    <ImageName HPCPackInstalled=”true”>MyHPCComputeNodeImage</ImageName>
    <VMExtensions>
       <VMExtension>
          <ExtensionName>BGInfo</ExtensionName>
          <Publisher>Microsoft.Compute</Publisher>
          <Version>1.*</Version>
       </VMExtension>
    </VMExtensions>
  </ComputeNodes>
  <AutoGrowShrink>
    <CertificateId>1</CertificateId>
  </AutoGrowShrink>
</IaaSClusterConfig>

Пример 3

Следующий файл конфигурации развертывает HPC-кластер в существующем доменном лесу. Кластер содержит один головной узел, один сервер базы данных с 500 ГБ дискового пространства, два узла-брокера под управлением операционной системы Windows Server 2012 R2, а также пять вычислительных узлов под управлением операционной системы Windows Server 2012 R2. Облачная служба MyHPCCNService создается в территориальной группе MyIBAffinityGroup, а остальные облачные службы — в территориальной группе MyAffinityGroup. Интерфейс REST API планировщика заданий HPC и веб-портал HPC работают на головном узле.

<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
  <Subscription>
    <SubscriptionName>Subscription-1</SubscriptionName>
    <StorageAccount>mystorageaccount</StorageAccount>
  </Subscription>
  <AffinityGroup>MyAffinityGroup</AffinityGroup>
  <Location>East Asia</Location>  
  <VNet>
    <VNetName>MyVNet</VNetName>
    <SubnetName>Subnet-1</SubnetName>
  </VNet>    
  <Domain>
    <DCOption>ExistingDC</DCOption>
    <DomainFQDN>hpc.local</DomainFQDN>
  </Domain>
  <Database>
    <DBOption>NewRemoteDB</DBOption>
    <DBVersion>SQLServer2014_Enterprise</DBVersion>
    <DBServer>
      <VMName>MyDBServer</VMName>
      <ServiceName>MyHPCService</ServiceName>
      <VMSize>ExtraLarge</VMSize>
      <DataDiskSizeInGB>500</DataDiskSizeInGB>
    </DBServer>
  </Database>
  <HeadNode>
    <VMName>MyHeadNode</VMName>
    <ServiceName>MyHPCService</ServiceName>
    <VMSize>ExtraLarge</VMSize>
    <EnableRESTAPI />
    <EnableWebPortal />
  </HeadNode>
  <ComputeNodes>
    <VMNamePattern>MyHPCCN-%0000%</VMNamePattern>
    <ServiceName>MyHPCCNService</ServiceName>
    <VMSize>A8</VMSize>
<NodeCount>5</NodeCount>
<AffinityGroup>MyIBAffinityGroup</AffinityGroup>
  </ComputeNodes>
  <BrokerNodes>
    <VMNamePattern>MyHPCBN-%0000%</VMNamePattern>
    <ServiceName>MyHPCBNService</ServiceName>
    <VMSize>Medium</VMSize>
    <NodeCount>2</NodeCount>
  </BrokerNodes>
</IaaSClusterConfig>

Пример 4

Следующий файл конфигурации развертывает HPC-кластер в существующем доменном лесу. Кластер содержит один головной узел с локальными базами данных. Сценарий создает два шаблона узлов Azure, а на основе шаблона узла AzureTemplate1 — три узла Azure среднего размера. Файл сценария будет выполняться на головном узле после настройки головного узла.

<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
  <Subscription>
    <SubscriptionName>Subscription-1</SubscriptionName>
    <StorageAccount>mystorageaccount</StorageAccount>
  </Subscription>
  <AffinityGroup>MyAffinityGroup</AffinityGroup>
  <Location>East Asia</Location>  
  <VNet>
    <VNetName>MyVNet</VNetName>
    <SubnetName>Subnet-1</SubnetName>
  </VNet>
  <Domain>
    <DCOption>ExistingDC</DCOption>
    <DomainFQDN>hpc.local</DomainFQDN>
  </Domain>
  <Database>
    <DBOption>LocalDB</DBOption>
  </Database>
  <HeadNode>
    <VMName>MyHeadNode</VMName>
    <ServiceName>MyHPCService</ServiceName>
<VMSize>ExtraLarge</VMSize>
    <PostConfigScript>c:\MyHNPostActions.ps1</PostConfigScript>
  </HeadNode>
  <Certificates>
    <Certificate>
      <Id>1</Id>
      <PfxFile>d:\mytestcert1.pfx</PfxFile>
      <Password>MyPsw!!2</Password>
    </Certificate>
    <Certificate>
      <Id>2</Id>
      <PfxFile>d:\mytestcert2.pfx</PfxFile>
    </Certificate>    
  </Certificates>
  <AzureBurst>
    <AzureNodeTemplate>
      <TemplateName>AzureTemplate1</TemplateName>
      <SubscriptionId>bb9252ba-831f-4c9d-ae14-9a38e6da8ee4</SubscriptionId>
      <CertificateId>1</CertificateId>
      <ServiceName>mytestsvc1</ServiceName>
      <StorageAccount>myteststorage1</StorageAccount>
      <NodeCount>3</NodeCount>
      <RoleSize>Medium</RoleSize>
    </AzureNodeTemplate>
    <AzureNodeTemplate>
      <TemplateName>AzureTemplate2</TemplateName>
      <SubscriptionId>ad4b9f9f-05f2-4c74-a83f-f2eb73000e0b</SubscriptionId>
      <CertificateId>1</CertificateId>
      <ServiceName>mytestsvc2</ServiceName>
      <StorageAccount>myteststorage2</StorageAccount>
      <Proxy>
        <UsesStaticProxyCount>false</UsesStaticProxyCount>     
        <ProxyRatio>100</ProxyRatio>
        <ProxyRatioBase>400</ProxyRatioBase>
      </Proxy>
      <OSVersion>WindowsServer2012</OSVersion>
    </AzureNodeTemplate>
  </AzureBurst>
</IaaSClusterConfig>

Устранение неполадок

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

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

    Чтобы решить эту проблему, войдите на контроллер домена и удалите настройки сервера пересылки или задайте допустимый DNS-сервер пересылки. чтобы настроить этот параметр, в диспетчер сервера щелкните инструменты>DNS , чтобы открыть диспетчер DNS, а затем дважды щелкните серверы пересылки.

  • Проблема с доступом к сети RDMA с виртуальных машин с ресурсоемкими вычислениями. Если добавить виртуальные машины Windows Server вычислительного узла или узла-брокера, имеющие размер A8 или A9 (с поддержкой RDMA), на этих виртуальных машинах может возникнуть проблема с подключением к сети приложений RDMA. Причина этой проблемы может быть связана с неправильной установкой расширения HpcVmDrivers при добавлении виртуальных машин в кластер. Например, расширение может оставаться в состоянии «Выполняется установка».

    Чтобы решить эту проблему, проверьте состояние расширения на виртуальных машинах. Если расширение не установлено должным образом, попробуйте удалить узлы из кластера HPC, а затем снова добавить их. Например, вы можете добавить виртуальные машины для вычислительных узлов, выполнив скрипт Add-HpcIaaSNode.ps1 на головном узле.

Дальнейшие действия