Začínáme s linuxovými výpočetními uzly v clusteru HPC Pack v Azure
Důležité
Klasické virtuální počítače budou vyřazeny 1. března 2023.
Pokud používáte prostředky IaaS z ASM, dokončete migraci do 1. března 2023. Doporučujeme, abyste přechod zpřesnit dříve, abyste využili řadu vylepšení funkcí v Azure Resource Manageru.
Další informace najdete v tématu Migrace prostředků IaaS do Azure Resource Manageru do 1. března 2023.
Nastavte cluster Microsoft HPC Pack v Azure, který obsahuje hlavní uzel se systémem Windows Server a několik výpočetních uzlů, na kterých běží podporovaná distribuce Linuxu. Prozkoumejte možnosti přesunu dat mezi uzly Linuxu a hlavním uzlem clusteru Windows. Naučte se odesílat úlohy prostředí HPC s Linuxem do clusteru.
Poznámka
Azure má dva různé modely nasazení pro vytváření a práci s prostředky: Resource Manager a classic. Tento článek popisuje použití obou modelů, ale Microsoft doporučuje, aby většina nových nasazení používala model Resource Manager.
Následující diagram na vysoké úrovni znázorňuje cluster HPC Pack, se kterým vytváříte a pracujete.
Další možnosti spouštění úloh prostředí HPC s Linuxem v Azure najdete v technických prostředcích pro dávkové a vysoce výkonné výpočetní prostředí.
Nasazení clusteru HPC Pack s linuxovými výpočetními uzly
Tento článek ukazuje dvě možnosti nasazení clusteru HPC Pack v Azure s výpočetními uzly s Linuxem. Obě metody používají image Marketplace Windows Serveru s sadou HPC Pack k vytvoření hlavního uzlu.
- Šablona Azure Resource Manageru – Použití šablony z Azure Marketplace nebo šablony rychlého startu z komunity k automatizaci vytváření clusteru v modelu nasazení Resource Manager. Například cluster HPC Pack pro linuxové úlohy šablony v Azure Marketplace vytvoří úplnou infrastrukturu clusteru HPC Pack pro úlohy HPC s Linuxem.
- Skript PowerShellu – Pomocí skriptu nasazení Microsoft HPC Pack IaaS (New-HpcIaaSCluster.ps1) můžete automatizovat kompletní nasazení clusteru v modelu nasazení Classic. Tento skript Azure PowerShell používá image virtuálního počítače HPC Pack v Azure Marketplace pro rychlé nasazení a poskytuje komplexní sadu parametrů konfigurace pro nasazení výpočetních uzlů s Linuxem.
Další informace o možnostech nasazení clusteru HPC Pack v Azure najdete v tématu Možnosti pro vytvoření a správu clusteru vysokovýkonných výpočetních prostředí (HPC) v Azure pomocí sady Microsoft HPC Pack.
Požadavky
Předplatné Azure – Předplatné Můžete použít buď ve službě Azure Global, nebo Azure China. Pokud účet nemáte, můžete si během několika minut vytvořit bezplatný účet.
Kvóta jader – Možná budete muset zvýšit kvótu jader, zejména pokud se rozhodnete nasadit několik uzlů clusteru s velikostmi virtuálních počítačů s více jádry. Pokud chcete zvýšit kvótu, otevřete online žádost o zákaznickou podporu bez poplatků.
Distribuce Linuxu – Aktuálně sada HPC Pack podporuje následující distribuce Linuxu pro výpočetní uzly. Verze těchto distribucí na Marketplace můžete použít, pokud jsou k dispozici, nebo můžete zadat vlastní.
Založené na 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 pro HPC, SLES 12 pro HPC (Premium)
Ubuntu Server: 14.04 LTS, 16.04 LTS
Tip
Pokud chcete použít síť Azure RDMA s jednou z velikostí virtuálních počítačů podporujících RDMA, zadejte image prostředí HPC nebo HPC založené na systému SUSE Linux Enterprise Server 12 HPC nebo CentOS z Azure Marketplace. Další informace najdete v tématu Velikosti virtuálních počítačů s vysokým výkonem.
Další předpoklady pro nasazení clusteru pomocí skriptu nasazení IaaS sady HPC Pack:
- Klientský počítač – Ke spuštění skriptu nasazení clusteru potřebujete klientský počítač založený na Windows.
- - Azure PowerShell Instalujte a nakonfigurujte Azure PowerShell (verze 0.8.10 nebo novější) na klientském počítači.
-
Skript pro nasazení sady HPC Pack IaaS – Stáhněte a rozbalte nejnovější verzi skriptu z webu Stažení softwaru společnosti Microsoft. Verzi skriptu můžete zkontrolovat spuštěním
.\New-HPCIaaSCluster.ps1 –Version
příkazu . Tento článek je založený na verzi 4.4.1 nebo novější skriptu.
Možnost nasazení 1. Použití šablony Resource Manageru
V Azure Marketplace přejděte do clusteru HPC Pack pro linuxové úlohy a klikněte na Nasadit.
V Azure Portal zkontrolujte informace a klepněte na tlačítko Vytvořit.
V okně Základy zadejte název clusteru, který také pojmenuje virtuální počítač hlavního uzlu. Můžete zvolit existující skupinu prostředků nebo vytvořit skupinu pro nasazení v umístění, které je pro vás k dispozici. Umístění ovlivňuje dostupnost určitých velikostí virtuálních počítačů a dalších služeb Azure (viz Produkty dostupné podle oblasti).
V okně Nastavení hlavního uzlu můžete pro první nasazení obecně přijmout výchozí nastavení.
Poznámka
Adresa URL skriptu po konfiguraci je volitelné nastavení pro zadání veřejně dostupného Windows PowerShell skriptu, který chcete spustit na virtuálním počítači hlavního uzlu po jeho spuštění.
V okně Nastavení výpočetního uzlu vyberte vzor pojmenování pro uzly, počet a velikost uzlů a distribuci Linuxu, která se má nasadit.
V okně Nastavení infrastruktury zadejte názvy pro virtuální síť a doménu služby Active Directory, přihlašovací údaje správce domény a virtuálního počítače a vzor pojmenování pro účty úložiště.
Poznámka
Sada HPC Pack používá doménu služby Active Directory k ověřování uživatelů clusteru.
Po spuštění ověřovacích testů a zkontrolujte podmínky použití, klikněte na Koupit.
Možnost nasazení 2. Použití skriptu nasazení IaaS
Následují další předpoklady pro nasazení clusteru pomocí skriptu nasazení IaaS sady HPC Pack:
- Klientský počítač – Ke spuštění skriptu nasazení clusteru potřebujete klientský počítač založený na Windows.
- - Azure PowerShell Instalujte a nakonfigurujte Azure PowerShell (verze 0.8.10 nebo novější) na klientském počítači.
-
Skript pro nasazení sady HPC Pack IaaS – Stáhněte a rozbalte nejnovější verzi skriptu z webu Stažení softwaru společnosti Microsoft. Verzi skriptu můžete zkontrolovat spuštěním
.\New-HPCIaaSCluster.ps1 –Version
příkazu . Tento článek je založený na verzi 4.4.1 nebo novější skriptu.
Konfigurační soubor XML
Skript nasazení IaaS sady HPC Pack používá jako vstup konfigurační soubor XML k popisu clusteru PROSTŘEDÍ HPC. Následující ukázkový konfigurační soubor určuje malý cluster skládající se z hlavního uzlu sady HPC Pack a dvou velikostí výpočetních uzlů A7 CentOS 7.0 Linux.
Upravte soubor podle potřeby pro vaše prostředí a požadovanou konfiguraci clusteru a uložte ho pod názvem, například HPCDemoConfig.xml. Musíte například zadat název předplatného a jedinečný název účtu úložiště a název cloudové služby. Kromě toho můžete chtít pro výpočetní uzly zvolit jinou podporovanou image Linuxu. Další informace o prvcích v konfiguračním souboru najdete v souboru Manual.rtf ve složce skriptu a vytvoření clusteru PROSTŘEDÍ HPC se skriptem nasazení IaaS sady HPC Pack.
<?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>
Spuštění skriptu nasazení IaaS sady HPC Pack
Otevřete Windows PowerShell na klientském počítači jako správce.
V tomto příkladu změňte adresář na složku, ve které je skript nainstalovaný (E:\IaaSClusterScript).
cd E:\IaaSClusterScript
Spuštěním následujícího příkazu nasaďte cluster HPC Pack. Tento příklad předpokládá, že se konfigurační soubor nachází v E:\HPCDemoConfig.xml
.\New-HpcIaaSCluster.ps1 –ConfigFile E:\HPCDemoConfig.xml –AdminUserName MyAdminName
a. Protože v předchozím příkazu není zadaný adminPassword , zobrazí se výzva k zadání hesla pro uživatele MyAdminName.
b. Skript pak začne ověřovat konfigurační soubor. V závislosti na síťovém připojení může trvat až několik minut.
c. Po ověření skript vypíše prostředky clusteru, které se mají vytvořit. Pokračujte zadáním Y .
d. Skript začne nasazovat cluster HPC Pack a dokončí konfiguraci bez dalších ručních kroků. Skript může běžet několik minut.
Poznámka
V tomto příkladu skript automaticky vygeneruje soubor protokolu, protože parametr -LogFile není zadaný. Protokoly nejsou napsané v reálném čase, ale shromažďují se na konci ověření a nasazení. Pokud je proces PowerShellu během spuštění skriptu zastavený, dojde ke ztrátě některých protokolů.
Připojení do hlavního uzlu
Po nasazení clusteru HPC Pack v Azure se připojte přes Vzdálenou plochu k virtuálnímu počítači hlavního uzlu pomocí přihlašovacích údajů domény, které jste zadali při nasazení clusteru (například hpc\clusteradmin). Cluster spravujete z hlavního uzlu.
Na hlavním uzlu spusťte Správce clusteru HPC a zkontrolujte stav clusteru HPC Pack. Výpočetní uzly s Linuxem můžete spravovat a monitorovat stejným způsobem jako se Windows výpočetními uzly. Zobrazí se například uzly Linuxu uvedené ve správě prostředků (tyto uzly se nasazují pomocí šablony LinuxNode ).
Zobrazí se také uzly Linuxu v zobrazení Heat Mapa .
Jak přesunout data v clusteru s uzly Linuxu
Máte několik možností, jak přesouvat data mezi uzly Linuxu a hlavním uzlem clusteru Windows. Tady jsou tři běžné metody popsané podrobněji v následujících částech:
- Azure File – Zveřejňuje spravovanou sdílenou složku SMB pro ukládání datových souborů do úložiště Azure. Windows uzly a uzly Linuxu můžou připojit sdílenou složku Azure jako jednotku nebo složku současně, i když jsou nasazené v různých virtuálních sítích.
- Sdílená složka SMB hlavního uzlu – Připojí standardní Windows sdílenou složku hlavního uzlu na uzlech Linuxu.
- Server NFS hlavního uzlu – Poskytuje řešení pro sdílení souborů pro smíšené prostředí Windows a Linux.
Azure File Storage
Služba Azure File zveřejňuje sdílené složky pomocí standardního protokolu SMB 2.1. Virtuální počítače a cloudové služby Azure můžou sdílet data souborů mezi komponentami aplikace prostřednictvím připojených sdílených složek a místní aplikace můžou přistupovat ke sdíleným datům ve sdílené složce prostřednictvím rozhraní API úložiště souborů.
Podrobný postup vytvoření sdílené složky Azure a jeho připojení k hlavnímu uzlu najdete v tématu Začínáme se službou Azure File Storage na Windows. Pokud chcete připojit sdílenou složku Azure na uzlech Linuxu, přečtěte si téma Jak používat azure File Storage s Linuxem. Pokud chcete nastavit trvalá připojení, přečtěte si téma Trvalé připojení k Microsoft Azure Files.
V následujícím příkladu vytvořte sdílenou složku Azure v účtu úložiště. Pokud chcete připojit sdílenou složku na hlavním uzlu, otevřete příkazový řádek a zadejte následující příkazy:
cmdkey /add:allvhdsje.file.core.windows.net /user:allvhdsje /pass:<storageaccountkey>
net use Z: \\allvhdje.file.core.windows.net\rdma /persistent:yes
V tomto příkladu je allvhdsje název vašeho účtu úložiště, klíč účtu úložiště je klíč účtu úložiště a rdma je název sdílené složky Azure. Sdílená složka Azure se připojí jako Z: na hlavním uzlu.
Pokud chcete připojit sdílenou složku Azure na uzlech Linuxu, spusťte na hlavním uzlu příkaz clusrun . Clusrun je užitečný nástroj HPC Pack pro provádění úloh správy na více uzlech. (Viz také Clusrun pro uzly Linuxu v tomto článku.)
Otevřete okno Windows PowerShell a zadejte následující příkazy:
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
První příkaz vytvoří složku s názvem /rdma na všech uzlech ve skupině LinuxNode. Druhý příkaz připojí sdílenou složku Azure allvhdsjw.file.core.windows.net/rdma ke složce /rdma s bity dir a režim souborů nastavenými na 777. Ve druhém příkazu je allvhdsje název vašeho účtu úložiště a klíč účtu úložiště je klíč vašeho účtu úložiště.
Poznámka
Symbol "'" v druhém příkazu je řídicí symbol powershellu. "'," znamená, že znak "," (čárka) je součástí příkazu.
Sdílená složka hlavního uzlu
Případně připojte sdílenou složku hlavního uzlu k uzlům Linuxu. Sdílená složka poskytuje nejjednodušší způsob sdílení souborů, ale hlavní uzel a všechny uzly Linuxu musí být nasazeny ve stejné virtuální síti. Postupujte takto.
Vytvořte složku na hlavním uzlu a nasdílejte ji všem s oprávněními ke čtení a zápisu. Například na hlavním uzlu sdílejte D:\OpenFOAM jako \CentOS7RDMA-HN\OpenFOAM. Tady CentOS7RDMA-HN je název hostitele hlavního uzlu.
Otevřete okno Windows PowerShell a spusťte následující příkazy:
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
První příkaz vytvoří složku s názvem /openfoam na všech uzlech ve skupině LinuxNode. Druhý příkaz připojí sdílenou složku //CentOS7RDMA-HN/OpenFOAM ke složce s bity dir a režim souborů nastavenými na 777. Uživatelské jméno a heslo v příkazu by mělo být uživatelské jméno a heslo uživatele clusteru v hlavním uzlu. (Viz Přidání nebo odebrání uživatelů clusteru.)
Poznámka
Symbol "'" v druhém příkazu je řídicí symbol powershellu. "'," znamená, že znak "," (čárka) je součástí příkazu.
Server NFS
Služba NFS umožňuje sdílet a migrovat soubory mezi počítači s operačním systémem Windows Server 2012 pomocí protokolu SMB a počítačů se systémem Linux pomocí protokolu NFS. Server NFS a všechny ostatní uzly musí být nasazeny ve stejné virtuální síti. Poskytuje lepší kompatibilitu s linuxovými uzly v porovnání se sdílenou složkou SMB. Podporuje například odkazy na soubory.
Chcete-li nainstalovat a nastavit server NFS, postupujte podle kroků v části Server pro síťovou složku První sdílená složka end-to-End.
Vytvořte například sdílenou složku NFS s názvem nfs s následujícími vlastnostmi:
Otevřete okno Windows PowerShell a spusťte následující příkazy:
clusrun /nodegroup:LinuxNodes mkdir -p /nfsshare clusrun /nodegroup:LinuxNodes mount CentOS7RDMA-HN:/nfs /nfsshared
První příkaz vytvoří složku s názvem /nfsshared na všech uzlech ve skupině LinuxNode. Druhý příkaz připojí sdílenou složku NFS CentOS7RDMA-HN:/nfs ke složce. Tady centOS7RDMA-HN:/nfs je vzdálená cesta ke sdílené složce NFS.
Jak odesílat úlohy
Úlohy můžete odeslat do clusteru HPC Pack několika způsoby:
- Grafické uživatelské rozhraní správce clusteru HPC nebo správce úloh HPC
- Webový portál HPC
- REST API
Odeslání úlohy do clusteru v Azure prostřednictvím nástrojů grafického uživatelského rozhraní HPC Pack a webového portálu HPC jsou stejné jako pro Windows výpočetní uzly. Viz Správce úloh sady HPC Pack a postup odesílání úloh z místního klientského počítače.
Pokud chcete odesílat úlohy prostřednictvím rozhraní REST API, přečtěte si informace o vytváření a odesílání úloh pomocí rozhraní REST API v sadě Microsoft HPC Pack. Pokud chcete odesílat úlohy z klienta s Linuxem, projděte si také ukázku Pythonu v sadě SDK sady HPC Pack.
Clusrun pro uzly Linuxu
Nástroj clusrun sady HPC Pack lze použít ke spouštění příkazů na uzlech Linuxu prostřednictvím příkazového řádku nebo správce clusteru HPC. Následuje několik základních příkladů.
Umožňuje zobrazit aktuální uživatelská jména na všech uzlech v clusteru.
clusrun whoami
Nainstalujte nástroj ladicího programu gdbs yum na všechny uzly ve skupině uzlů linuxu a po 10 minutách restartujte uzly.
clusrun /nodegroup:linuxnodes yum install gdb –y; shutdown –r 10
Vytvořte skript prostředí zobrazující každé číslo 1 až 10 za jednu sekundu na každém uzlu Linuxu v clusteru, spusťte ho a zobrazte výstup z uzlů okamžitě.
clusrun /interleaved /nodegroup:linuxnodes echo \"for i in {1..10}; do echo \\\"\$i\\\"; sleep 1; done\" ^> script.sh; chmod +x script.sh; ./script.sh
Poznámka
V příkazech clusrun možná budete muset použít určité řídicí znaky. Jak je znázorněno v tomto příkladu, použijte ^ v příkazovém řádku k řídicímu znaku ">".
Další kroky
- Zkuste vertikálně navýšit kapacitu clusteru na větší počet uzlů nebo zkuste spustit úlohu Linuxu v clusteru. Příklad najdete v tématu Spuštění NAMD s Microsoft HPC Packem na výpočetních uzlech Linuxu v Azure.
- Zkuste cluster s virtuálními počítači s podporou RDMA a náročnými na výpočetní výkon spouštět úlohy MPI. Příklad najdete v tématu Spuštění OpenFOAM s Microsoft HPC Packem v clusteru RDMA s Linuxem v Azure.
- Pokud chcete pracovat s linuxovými uzly v místním clusteru HPC Pack, přečtěte si pokyny k TechNetu.