Aan de slag met Linux-rekenknooppunten in een HPC Pack-cluster in Azure
Belangrijk
Klassieke VM's worden op 1 maart 2023 buiten gebruik gesteld.
Als u IaaS-resources van ASM gebruikt, dient u de migratie uiterlijk 1 maart 2023 te voltooien. U wordt aangeraden al eerder over te schakelen om te kunnen profiteren van de vele functieverbeteringen in Azure Resource Manager.
Zie Uw IaaS-resources vóór 1 maart 2023 naar Azure Resource Manager migreren voor meer informatie.
Stel een Microsoft HPC Pack-cluster in Azure in dat een hoofdknooppunt bevat dat wordt uitgevoerd Windows Server en verschillende rekenknooppunten waarop een ondersteunde Linux-distributie wordt uitgevoerd. Verken opties voor het verplaatsen van gegevens tussen de Linux-knooppunten en het Windows hoofdknooppunt van het cluster. Informatie over het verzenden van Linux HPC-taken naar het cluster.
Notitie
Azure heeft twee verschillende implementatiemodellen voor het maken en werken met resources: Resource Manager en klassiek. In dit artikel komen beide modellen aan de orde, maar u wordt aangeraden voor de meeste nieuwe implementaties het Resource Manager-model te gebruiken.
Op hoog niveau toont het volgende diagram het HPC Pack-cluster waarmee u maakt en werkt.
Voor andere opties voor het uitvoeren van Linux HPC-workloads in Azure raadpleegt u Technische resources voor batch- en high-performance computing.
Een HPC Pack-cluster implementeren met Linux-rekenknooppunten
In dit artikel vindt u twee opties voor het implementeren van een HPC Pack-cluster in Azure met Linux-rekenknooppunten. Beide methoden gebruiken een Marketplace-installatiekopieën van Windows Server met HPC Pack om het hoofdknooppunt te maken.
- Azure Resource Manager-sjabloon: gebruik een sjabloon uit de Azure Marketplace of een quickstartsjabloon van de community om het maken van het cluster in het Resource Manager implementatiemodel te automatiseren. Het HPC Pack-cluster voor Linux-workloadssjabloon in de Azure Marketplace maakt bijvoorbeeld een volledige HPC Pack-clusterinfrastructuur voor Linux HPC-workloads.
- PowerShell-script : gebruik het Microsoft HPC Pack IaaS-implementatiescript (New-HpcIaaSCluster.ps1) om een volledige clusterimplementatie in het klassieke implementatiemodel te automatiseren. Dit Azure PowerShell script maakt gebruik van een HPC Pack VM-installatiekopieën in de Azure Marketplace voor snelle implementatie en biedt een uitgebreide set configuratieparameters voor het implementeren van Linux-rekenknooppunten.
Vereisten
Azure-abonnement : u kunt een abonnement gebruiken in de Azure Global- of Azure China-service. Als u geen account hebt, kunt u binnen een paar minuten een gratis account maken.
Kernquotum : mogelijk moet u het quotum van kernen verhogen, met name als u ervoor kiest om meerdere clusterknooppunten met vm-grootten met meerderecores te implementeren. Als u een quotum wilt verhogen, opent u gratis een onlineaanvraag voor klantenondersteuning.
Linux-distributies : HPC Pack ondersteunt momenteel de volgende Linux-distributies voor rekenknooppunten. U kunt Waar beschikbaar Marketplace-versies van deze distributies gebruiken of uw eigen distributies leveren.
Op basis van CentOS: 6.5, 6.6, 6.7, 7.0, 7.1, 7.2, 6.5 HPC, 7.1 HPC
Red Hat Enterprise Linux: 6.7, 6.8, 7.2
SUSE Linux Enterprise Server: SLES 12, SLES 12 (Premium), SLES 12 SP1, SLES 12 SP1 (Premium), SLES 12 voor HPC, SLES 12 voor HPC (Premium)
Ubuntu Server: 14.04 LTS, 16.04 LTS
Tip
Als u het Azure RDMA-netwerk wilt gebruiken met een van de VM-grootten die geschikt zijn voor RDMA, geeft u een SUSE Linux Enterprise Server 12 HPC- of CentOS-gebaseerde HPC-installatiekopieën op uit de Azure Marketplace. Zie High Performance Compute VM-grootten voor meer informatie.
Aanvullende vereisten voor het implementeren van het cluster met behulp van het HPC Pack IaaS-implementatiescript:
- Clientcomputer: u hebt een op Windows gebaseerde clientcomputer nodig om het script voor clusterimplementatie uit te voeren.
- - Azure PowerShell Installeren en configureren Azure PowerShell (versie 0.8.10 of hoger) op uw clientcomputer.
-
HPC Pack IaaS-implementatiescript : download en pak de nieuwste versie van het script uit het Microsoft Downloadcentrum. U kunt de versie van het script controleren door uit te voeren
.\New-HPCIaaSCluster.ps1 –Version
. Dit artikel is gebaseerd op versie 4.4.1 of hoger van het script.
Implementatieoptie 1. Een Resource Manager-sjabloon gebruiken
Ga in de Azure Marketplace naar het HPC Pack-cluster voor Linux-workloads en klik op Implementeren.
Controleer de gegevens in de Azure Portal en klik vervolgens op Maken.
Voer op de blade Basisbeginselen een naam in voor het cluster, waarmee ook de vm met het hoofdknooppunt wordt genoemd. U kunt een bestaande resourcegroep kiezen of een groep maken voor de implementatie op een locatie die voor u beschikbaar is. De locatie is van invloed op de beschikbaarheid van bepaalde VM-grootten en andere Azure-services (zie Producten beschikbaar per regio).
Op de blade Instellingen voor hoofdknooppunten kunt u voor een eerste implementatie over het algemeen de standaardinstellingen accepteren.
Notitie
De URL van het script na configuratie is een optionele instelling om een openbaar beschikbaar Windows PowerShell script op te geven dat u wilt uitvoeren op de VM met het hoofdknooppunt nadat deze is uitgevoerd.
Selecteer op de blade Instellingen voor rekenknooppunten een naamgevingspatroon voor de knooppunten, het aantal en de grootte van de knooppunten en de Linux-distributie die u wilt implementeren.
Voer op de blade Infrastructuurinstellingen namen in voor het virtuele netwerk en Active Directory-domein, domein- en VM-beheerdersreferenties en een naamgevingspatroon voor de opslagaccounts.
Notitie
HPC Pack maakt gebruik van het Active Directory-domein om clustergebruikers te verifiëren.
Nadat de validatietests zijn uitgevoerd en u de gebruiksvoorwaarden hebt bekeken, klikt u op Kopen.
Implementatieoptie 2. Het IaaS-implementatiescript gebruiken
Hieronder volgen aanvullende vereisten voor het implementeren van het cluster met behulp van het HPC Pack IaaS-implementatiescript:
- Clientcomputer: u hebt een op Windows gebaseerde clientcomputer nodig om het script voor clusterimplementatie uit te voeren.
- - Azure PowerShell Installeren en configureren Azure PowerShell (versie 0.8.10 of hoger) op uw clientcomputer.
-
HPC Pack IaaS-implementatiescript : download en pak de nieuwste versie van het script uit het Microsoft Downloadcentrum. U kunt de versie van het script controleren door uit te voeren
.\New-HPCIaaSCluster.ps1 –Version
. Dit artikel is gebaseerd op versie 4.4.1 of hoger van het script.
XML-configuratiebestand
Het HPC Pack IaaS-implementatiescript gebruikt een XML-configuratiebestand als invoer om het HPC-cluster te beschrijven. In het volgende voorbeeldconfiguratiebestand wordt een klein cluster opgegeven dat bestaat uit een HPC Pack-hoofdknooppunt en twee grootte A7 CentOS 7.0 Linux-rekenknooppunten.
Wijzig het bestand indien nodig voor uw omgeving en de gewenste clusterconfiguratie en sla het bestand op met een naam zoals HPCDemoConfig.xml. U moet bijvoorbeeld de naam van uw abonnement en een unieke naam voor het opslagaccount en de naam van de cloudservice opgeven. Daarnaast wilt u mogelijk een andere ondersteunde Linux-installatiekopieën kiezen voor de rekenknooppunten. Zie het bestand Manual.rtf in de scriptmap en maak een HPC-cluster met het IaaS-implementatiescript voor HPC Pack voor meer informatie over de elementen in het configuratiebestand.
<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
<Subscription>
<SubscriptionName>Subscription-1</SubscriptionName>
<StorageAccount>allvhdsje</StorageAccount>
</Subscription>
<Location>Japan East</Location>
<VNet>
<VNetName>centos7rdmavnetje</VNetName>
<SubnetName>CentOS7RDMACluster</SubnetName>
</VNet>
<Domain>
<DCOption>HeadNodeAsDC</DCOption>
<DomainFQDN>hpc.local</DomainFQDN>
</Domain>
<Database>
<DBOption>LocalDB</DBOption>
</Database>
<HeadNode>
<VMName>CentOS7RDMA-HN</VMName>
<ServiceName>centos7rdma-je</ServiceName>
<VMSize>ExtraLarge</VMSize>
<EnableRESTAPI />
<EnableWebPortal />
</HeadNode>
<LinuxComputeNodes>
<VMNamePattern>CentOS7RDMA-LN%1%</VMNamePattern>
<ServiceName>centos7rdma-je</ServiceName>
<VMSize>A7</VMSize>
<NodeCount>2</NodeCount>
<ImageName>5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-70-20150325</ImageName>
</LinuxComputeNodes>
</IaaSClusterConfig>
Het HPC Pack IaaS-implementatiescript uitvoeren
Open Windows PowerShell op de clientcomputer als beheerder.
Wijzig de map in de map waarin het script is geïnstalleerd (E:\IaaSClusterScript in dit voorbeeld).
cd E:\IaaSClusterScript
Voer de volgende opdracht uit om het HPC Pack-cluster te implementeren. In dit voorbeeld wordt ervan uitgegaan dat het configuratiebestand zich in E:\HPCDemoConfig.xml
.\New-HpcIaaSCluster.ps1 –ConfigFile E:\HPCDemoConfig.xml –AdminUserName MyAdminName
a. Omdat het AdminPassword niet is opgegeven in de voorgaande opdracht, wordt u gevraagd om het wachtwoord voor gebruiker MyAdminName in te voeren.
b. Het script wordt vervolgens gestart met het valideren van het configuratiebestand. Het kan enkele minuten duren, afhankelijk van de netwerkverbinding.
c. Nadat de validatie is geslaagd, worden in het script de clusterbronnen vermeld die moeten worden gemaakt. Voer Y in om door te gaan.
d. Het script begint met het implementeren van het HPC Pack-cluster en voltooit de configuratie zonder verdere handmatige stappen. Het script kan enkele minuten worden uitgevoerd.
Notitie
In dit voorbeeld genereert het script automatisch een logboekbestand omdat de parameter -LogFile niet is opgegeven. De logboeken worden niet in realtime geschreven, maar worden verzameld aan het einde van de validatie en de implementatie. Als het PowerShell-proces wordt gestopt terwijl het script wordt uitgevoerd, gaan sommige logboeken verloren.
Verbinding maken naar het hoofdknooppunt
Nadat u het HPC Pack-cluster in Azure hebt geïmplementeerd, maakt u via Extern bureaublad verbinding met de hoofdknooppunt-VM met behulp van de domeinreferenties die u hebt opgegeven bij het implementeren van het cluster (bijvoorbeeld hpc\clusteradmin). U beheert het cluster vanaf het hoofdknooppunt.
Start HPC Cluster Manager op het hoofdknooppunt om de status van het HPC Pack-cluster te controleren. U kunt Linux-rekenknooppunten op dezelfde manier beheren en bewaken als met Windows rekenknooppunten. U ziet bijvoorbeeld de Linux-knooppunten die worden vermeld in ResourceBeheer (deze knooppunten worden geïmplementeerd met de LinuxNode-sjabloon ).
U ziet ook de Linux-knooppunten in de weergave HeatMap .
Gegevens verplaatsen in een cluster met Linux-knooppunten
U hebt verschillende opties om gegevens te verplaatsen tussen Linux-knooppunten en het Windows hoofdknooppunt van het cluster. Hier volgen drie algemene methoden, die in de volgende secties uitgebreider worden beschreven:
- Azure File : maakt een beheerde SMB-bestandsshare beschikbaar voor het opslaan van gegevensbestanden in Azure Storage. Windows knooppunten en Linux-knooppunten kunnen tegelijkertijd een Azure-bestandsshare koppelen als een station of map, zelfs als ze zijn geïmplementeerd in verschillende virtuele netwerken.
- SMB-share hoofdknooppunt: koppelt een standaardmap Windows gedeelde map van het hoofdknooppunt op Linux-knooppunten.
- Hoofdknooppunt NFS-server: biedt een oplossing voor het delen van bestanden voor een gemengde Windows en Linux-omgeving.
Azure File Storage
De Azure File-service maakt bestandsshares beschikbaar met behulp van het standaard SMB 2.1-protocol. Virtuele Azure-machines en cloudservices kunnen bestandsgegevens delen tussen toepassingsonderdelen via gekoppelde shares en on-premises toepassingen hebben toegang tot bestandsgegevens in een share via de File Storage-API.
Zie Aan de slag met Azure File Storage op Windows voor gedetailleerde stappen voor het maken van een Azure-bestandsshare en deze koppelen op het hoofdknooppunt. Zie Azure File Storage gebruiken met Linux als u de Azure-bestandsshare wilt koppelen op de Linux-knooppunten. Als u permanente verbindingen wilt instellen, raadpleegt u Persistente verbindingen met Microsoft Azure Bestanden.
Maak in het volgende voorbeeld een Azure-bestandsshare in een opslagaccount. Als u de share op het hoofdknooppunt wilt koppelen, opent u een opdrachtprompt en voert u de volgende opdrachten in:
cmdkey /add:allvhdsje.file.core.windows.net /user:allvhdsje /pass:<storageaccountkey>
net use Z: \\allvhdje.file.core.windows.net\rdma /persistent:yes
In dit voorbeeld is allvhdsje de naam van uw opslagaccount, is storageaccountkey de sleutel van uw opslagaccount en is rdma de naam van de Azure-bestandsshare. De Azure-bestandsshare wordt gekoppeld als Z: op het hoofdknooppunt.
Als u de Azure-bestandsshare wilt koppelen op Linux-knooppunten, voert u een clusrun-opdracht uit op het hoofdknooppunt. Clusrun is een handig HPC Pack-hulpprogramma voor het uitvoeren van beheertaken op meerdere knooppunten. (Zie ook Clusrun voor Linux-knooppunten in dit artikel.)
Open een Windows PowerShell-venster en voer de volgende opdrachten in:
clusrun /nodegroup:LinuxNodes mkdir -p /rdma
clusrun /nodegroup:LinuxNodes mount -t cifs //allvhdsje.file.core.windows.net/rdma /rdma -o vers=2.1`,username=allvhdsje`,password=<storageaccountkey>'`,dir_mode=0777`,file_mode=0777
Met de eerste opdracht maakt u een map met de naam /rdma op alle knooppunten in de Groep LinuxNodes. Met de tweede opdracht wordt de Azure-bestandsshare allvhdsjw.file.core.windows.net/rdma gekoppeld aan de map /rdma met dir- en bestandsmodus-bits die zijn ingesteld op 777. In de tweede opdracht is allvhdsje de naam van uw opslagaccount en is storageaccountkey uw opslagaccountsleutel.
Notitie
Het symbool ''' in de tweede opdracht is een escape-symbool voor PowerShell. ""," betekent dat het "," (kommateken) deel uitmaakt van de opdracht.
Hoofdknooppuntshare
U kunt ook een gedeelde map van het hoofdknooppunt koppelen op Linux-knooppunten. Een share biedt de eenvoudigste manier om bestanden te delen, maar het hoofdknooppunt en alle Linux-knooppunten moeten worden geïmplementeerd in hetzelfde virtuele netwerk. Dit zijn de stappen.
Maak een map op het hoofdknooppunt en deel deze met iedereen met lees-/schrijfmachtigingen. Deel bijvoorbeeld D:\OpenFOAM op het hoofdknooppunt als \CentOS7RDMA-HN\OpenFOAM. Hier is CentOS7RDMA-HN de hostnaam van het hoofdknooppunt.
Open een Windows PowerShell-venster en voer de volgende opdrachten uit:
clusrun /nodegroup:LinuxNodes mkdir -p /openfoam clusrun /nodegroup:LinuxNodes mount -t cifs //CentOS7RDMA-HN/OpenFOAM /openfoam -o vers=2.1`,username=<username>`,password='<password>'`,dir_mode=0777`,file_mode=0777
Met de eerste opdracht maakt u een map met de naam /openfoam op alle knooppunten in de Groep LinuxNodes. Met de tweede opdracht wordt de gedeelde map //CentOS7RDMA-HN/OpenFOAM gekoppeld aan de map met dir- en bestandsmodus-bits ingesteld op 777. De gebruikersnaam en het wachtwoord in de opdracht moeten de gebruikersnaam en het wachtwoord zijn van een clustergebruiker op het hoofdknooppunt. (Zie Clustergebruikers toevoegen of verwijderen.)
Notitie
Het symbool ''' in de tweede opdracht is een escape-symbool voor PowerShell. ""," betekent dat het "," (kommateken) deel uitmaakt van de opdracht.
NFS-server
Met de NFS-service kunt u bestanden delen en migreren tussen computers met het Windows Server 2012 besturingssysteem met behulp van het SMB-protocol en Linux-computers met behulp van het NFS-protocol. De NFS-server en alle andere knooppunten moeten worden geïmplementeerd in hetzelfde virtuele netwerk. Het biedt betere compatibiliteit met Linux-knooppunten vergeleken met een SMB-share. Het ondersteunt bijvoorbeeld bestandskoppelingen.
Als u een NFS-server wilt installeren en instellen, volgt u de stappen in Server for Network File System First Share First Share End-to-End.
Maak bijvoorbeeld een NFS-share met de naam nfs met de volgende eigenschappen:
Open een Windows PowerShell-venster en voer de volgende opdrachten uit:
clusrun /nodegroup:LinuxNodes mkdir -p /nfsshare clusrun /nodegroup:LinuxNodes mount CentOS7RDMA-HN:/nfs /nfsshared
Met de eerste opdracht maakt u een map met de naam /nfsshared op alle knooppunten in de LinuxNodes-groep. Met de tweede opdracht wordt de NFS-share CentOS7RDMA-HN:/nfs gekoppeld aan de map. Hier is CentOS7RDMA-HN:/nfs het externe pad van uw NFS-share.
Taken verzenden
Er zijn verschillende manieren om taken naar het HPC Pack-cluster te verzenden:
- HPC-clusterbeheer of HPC-taakbeheer-GUI
- HPC-webportal
- REST-API
Taakinzending naar het cluster in Azure via HPC Pack GUI-hulpprogramma's en de HPC-webportal zijn hetzelfde als voor Windows rekenknooppunten. Zie HPC Pack Job Manager en Taken verzenden vanaf een on-premises clientcomputer.
Als u taken wilt verzenden via de REST API, raadpleegt u Taken maken en verzenden met behulp van de REST API in Microsoft HPC Pack. Als u taken wilt verzenden vanaf een Linux-client, raadpleegt u ook het Python-voorbeeld in de HPC Pack SDK.
Clusrun voor Linux-knooppunten
Het HULPPROGRAMMA HPC Pack clusrun kan worden gebruikt voor het uitvoeren van opdrachten op Linux-knooppunten via een opdrachtprompt of HPC-clusterbeheer. Hieronder volgen enkele basisvoorbeelden.
Huidige gebruikersnamen weergeven op alle knooppunten in het cluster.
clusrun whoami
Installeer het hulpprogramma gdb-foutopsporingsprogramma met yum op alle knooppunten in de linuxnodes-groep en start de knooppunten na 10 minuten opnieuw op.
clusrun /nodegroup:linuxnodes yum install gdb –y; shutdown –r 10
Maak een shellscript waarin elk getal 1 tot en met 10 voor één seconde wordt weergegeven op elk Linux-knooppunt in het cluster, voer het uit en geef de uitvoer van de knooppunten onmiddellijk weer.
clusrun /interleaved /nodegroup:linuxnodes echo \"for i in {1..10}; do echo \\\"\$i\\\"; sleep 1; done\" ^> script.sh; chmod +x script.sh; ./script.sh
Notitie
Mogelijk moet u bepaalde escape-tekens gebruiken in clusrun-opdrachten . Zoals in dit voorbeeld wordt weergegeven, gebruikt u ^ in een opdrachtprompt om het symbool '>' te ontsnappen.
Volgende stappen
- Probeer het cluster omhoog te schalen naar een groter aantal knooppunten of probeer een Linux-workload uit te voeren op het cluster. Zie NamD uitvoeren met Microsoft HPC Pack op Linux-rekenknooppunten in Azure voor een voorbeeld.
- Probeer een cluster met RDMA-compatibele, rekenintensieve VM's om MPI-workloads uit te voeren. Zie OpenFOAM uitvoeren met Microsoft HPC Pack in een Linux RDMA-cluster in Azure voor een voorbeeld.
- Als u geïnteresseerd bent in het werken met Linux-knooppunten in een on-premises HPC Pack-cluster, raadpleegt u de TechNet-richtlijnen.