Övning – Lägga till en disk i ett HPC-klusters scheduler-nod

Slutförd

Azure CycleCloud förlitar sig på mallar för att definiera klusterkonfigurationer. Standardimplementeringen innehåller inbyggda mallar för de vanligaste schemaläggarna, men du hittar flera andra i Azure CycleCloud GitHub-lagringsplatsen.

Kom ihåg att du ville testa processen med att implementera ett kluster med hjälp av en anpassad Azure CycleCloud-mall. För det här ändamålet använder du Azure CycleCloud GitHub-lagringsplatsen som är värd för Det Microsoft-kurerade Slurm-projektet. Du ändrar en befintlig klustermall från den här lagringsplatsen genom att ändra lagringskonfigurationen för scheduler-noden, importera den nyligen ändrade mallen till ditt Azure CycleCloud-program, använda programmets grafiska gränssnitt för att skapa ett kluster och slutligen verifiera ändringen av lagringskonfigurationen.

Viktigt!

För att slutföra övningarna i den här modulen måste du uppfylla följande krav:

  • Ha en Azure-prenumeration med tillgänglighet för vCPU-kärnor i de tre grupperna av VM-storlekar:
    • minst 4 vCPU-kärnor i DSv3-serien
    • minst 100 vCPU-kärnor i FSv2-serien
    • minst 48 vCPU-kärnor i NC-serien
  • Ha ett Microsoft-konto eller ett Microsoft Entra-konto med rollen Ägare eller Deltagare i Azure-prenumerationen.
  • Distribuera ett Azure CycleCloud-program till en virtuell Azure-dator som är tillgänglig med en offentlig IP-adress som är associerad med dess nätverksgränssnitt.
  • Konfigurera Azure CycleCloud-programmet med rollnivån Ägare eller Deltagare till Azure-prenumerationen.
  • Ha ett Azure CycleCloud-programanvändarkonto med administratörsrollen.
  • Skapa ett undernät för virtuellt Azure-nätverk där du kan distribuera klusternoder.
  • Ha den privata nyckeln för SSH-nyckelparet som används för att konfigurera Azure CycleCloud-programmet.

Kommentar

Information om hur du identifierar och ökar vCPU-kvoterna i en Azure-prenumeration finns i följande dokumentation:

Kommentar

Du behöver den privata nyckeln för att ansluta direkt till klusternoderna i den senaste övningen i den här modulen.

I den här övningen utför du följande uppgifter:

  • Uppgift 1: Installera och konfigurera Azure CycleCloud CLI
  • Uppgift 2: Konfigurera ett Azure CycleCloud Slurm-projekt
  • Uppgift 3: Implementera en anpassad Azure CycleCloud-mall
  • Uppgift 4: Starta ett nytt kluster och granska dess lagringskonfiguration

Uppgift 1: Installera och konfigurera Azure CycleCloud CLI

De flesta hanteringsuppgifter i den här och efterföljande övningarna använder Azure CycleCloud CLI, så du börjar med att installera det och ansluta det till ditt Azure CycleCloud-program. För att förenkla den inledande installationen använder du Azure Cloud Shell.

Kommentar

Du kan också logga in på den virtuella Azure-dator som är värd för Azure CycleCloud-programmet, där Azure CycleCloud CLI redan är installerat.

  1. Starta en Azure-portalkompatibel webbläsare från datorn, gå till Azure-portalen och autentisera med ett Microsoft-konto eller ett Microsoft Entra-konto som har rollen Deltagare eller Ägare i azure-prenumerationen som du ska använda i den här modulen.

    Kommentar

    Azure-portalen stöder de vanligaste moderna webbläsarna, inklusive de aktuella versionerna av Microsoft Edge, Google Chrome, Mozilla Firefox och Apple Safari.

  2. Öppna Cloud Shell i Azure-portalen genom att välja dess ikon i verktygsfältet bredvid söktextrutan.

  3. Om du uppmanas att välja antingen Bash eller PowerShell väljer du Bash.

    Kommentar

    Om det här är första gången du startar Azure Cloud Shell och du får meddelandet Du har ingen lagringsmonterad väljer du den prenumeration som du använder i den här övningen och väljer sedan Skapa lagring.

  4. I Bash-sessionen i Fönstret Azure Cloud Shell kör du följande kommando för att ange värdet för en variabel till den offentliga IP-adressen för Azure CycleCloud-programservern (ersätt platshållaren <public_ip_address> med den faktiska offentliga IP-adressen):

    PIP=<public_ip_address>
    
  5. Kör följande kommando för att ladda ned .zip-filen som innehåller azure CycleCloud-instansspecifikt CLI-installationsprogram:

    curl -O --insecure https://$PIP/static/tools/cyclecloud-cli.zip
    
  6. Kör följande kommandon i följd för att extrahera och köra skriptet som utför Azure CycleCloud CLI-installationen:

    unzip ./cyclecloud-cli.zip
    cd ./cyclecloud-cli-installer
    ./install.sh
    

    Kommentar

    Ignorera alla meddelanden om sökvägsmiljövariabeln och fortsätt till nästa steg.

  7. Kör följande kommando för att upprätta en anslutning till Azure CycleCloud-instansen <username> , där platshållarna och <password> anger autentiseringsuppgifterna för ditt Azure CycleCloud-programanvändarkonto med administratörsrollen:

    cyclecloud initialize --batch --url=https://$PIP --username=<username> --password=<password> --verify-ssl=false
    

    Kommentar

    Parametern --verify-ssl är inställd på att false hantera scenarier där Azure CycleCloud-programmet har konfigurerats med ett självsignerat certifikat eller ett certifikat från en ej betrodd certifikatutfärdare.

  8. Kör följande kommando för att verifiera anslutningen till Azure CycleCloud-instansen genom att visa dess konfiguration av skåpet:

    cyclecloud locker list
    

    Kommentar

    Utdata bör innehålla namnen på skåpen för varje Azure-prenumeration som registrerats med CycleCloud och deras respektive containrar i enskilda Azure Storage-konton. Du bör registrera namnet på det skåp som motsvarar den Azure-prenumeration som du tänker använda för det här labbet, eftersom du behöver det senare i den här övningen. Kommandots utdata är i följande format (där <locker-name> platshållaren representerar namnet på skåpet, <storage_account_name> platshållaren representerar namnet på lagringskontot som är värd för skåpet och <container_name> platshållaren representerar namnet på containern för skåpet i lagringskontot):

    <locker-name> (az://<storage_account_name>/<container_name>)
    

Uppgift 2: Konfigurera ett Azure CycleCloud Slurm-projekt

Därefter konfigurerar du ett Azure CycleCloud Slurm-exempelprojekt. Du använder ett befintligt Slurm-projekt från Azure CycleCloud GitHub-lagringsplatsen. Du hämtar den till din hemkatalog i Azure Cloud Shell och laddar sedan upp den till Azure CycleCloud-skåpet.

  1. På datorn kör du följande kommandon i Bash-sessionen i Azure Cloud Shell-fönstret för att skapa en projektkatalog och hämta ett Slurm-projekt från motsvarande GitHub-lagringsplats till den.

    mkdir ~/cyclecloud-slurm && cd ~/cyclecloud-slurm
    cyclecloud project fetch https://github.com/Azure/cyclecloud-slurm . 
    

    Kommentar

    Se till att inkludera den avslutande perioden i slutet av det andra kommandot.

  2. Kör följande kommando för att ange standardskåpet och ladda upp projektet till det (ersätt platshållaren <locker_name> med namnet på det skåp som du identifierade i föregående uppgift, till exempel cc-lab-subscription-storage):

    cyclecloud project default_locker <locker_name>
    cyclecloud project upload 
    

    Kommentar

    Du kan också köra cyclecloud project upload <locker_name>, där platshållaren <locker_name> anger skåpets namn.

    Kommentar

    Ignorera det azcopy-relaterade felmeddelandet Cannot perform sync due to error: sync must happen between source and destination of the same type, e.g., either file <-> file, or directory/container <-> directory/container följt av Upload failed! så länge de enskilda kopiorna av projektfilerna lyckas. Bekräfta detta genom att kontrollera att den slutliga jobbstatusen visas som Completed, med noll misslyckade överföringar.

Uppgift 3: Implementera en anpassad Azure CycleCloud-mall

Nu ska du ladda ned och ändra Azure CycleCloud-exempelmallen som är kompatibel med det hämtade GitHub-baserade projektet. Du använder den för att definiera en anpassad lagringskonfiguration som innehåller en extra disk som är ansluten till scheduler-noden och som exporteras via nätverksfilsystemet (NFS). Efter den här ändringen importerar du den till ditt Azure CycleCloud-program.

Kommentar

Du kan granska innehållet i mallen med en webbläsare genom att navigera till azure/cyclecloud-slurm-lagringsplatsen.

  1. I webbläsarfönstret på datorn som visar Bash-sessionen i Azure Cloud Shell-fönstret kör du följande kommando för att ändra arbetskatalogen till den nyligen hämtade lagringsplatsen:

    cd ~/cyclecloud-slurm/templates
    
  2. Kör följande kommandon för att skapa en säkerhetskopia av den ursprungliga klustermallen:

    cp slurm.txt slurm.bak.txt
    
  3. Kör följande kommando för att öppna den nedladdade mallen i nanoredigeraren:

    nano slurm.txt
    

    Kommentar

    I stället för nanoredigeraren kan du använda valfri annan textredigerare som är tillgänglig för dig, inklusive den inbyggda Azure Cloud Shell-redigeraren.

  4. Gå till avsnittet i nanoredigerarens [[node scheduler]] gränssnitt. I det avsnittet letar du upp underavsnittet [[[volume shared]]] , flyttar till raden Persistent = ${NFSType == "Builtin"}och lägger till följande innehåll efter det:

    
        # Add 2 premium disks in a RAID 0 configuration to the NFS export
        [[[volume nfs-1]]]
        Size = 128
        StorageAccountType = Premium_LRS
        Mount = nfs
        Persistent = true
    
        [[[volume nfs-2]]]
        Size = 128
        StorageAccountType = Premium_LRS
        Mount = nfs
        Persistent = true
    
        [[[configuration cyclecloud.mounts.nfs]]]
        mountpoint = /mnt/exports/lab
        fs_type = ext4
        raid_level = 0
    
    

    Kommentar

    Om du använder en Windows-dator kan du klistra in innehållet i Urklipp med hjälp av tangentkombinationen Skift + Infoga .

    Kommentar

    Dina ändringar definierar två 128 GB Premium-lagringsdiskar i en stripe-baserad volym som automatiskt monteras på huvudnoden under etableringen. Volymen använder monteringspunkten /mnt/exports/ och formateras automatiskt som ext4-filsystemet. Inställningen Persistent = true anger att diskarna sparas när du avslutar klustret, men de tas bort automatiskt om du tar bort klustret.

    Kommentar

    Azure CycleCloud implementerar volymerna som Azure-hanterade diskar.

  5. I nanoredigerarens gränssnitt väljer du tangentkombinationen Ctrl + O , väljer tangenten Retur och väljer sedan tangentkombinationen Ctrl + X för att spara de ändringar du har gjort och stänga filen.

    Kommentar

    Nu kan du använda din anslutning till Azure CycleCloud-programmet via CLI för att importera mallen.

  6. Kör följande kommando för att importera mallen som du ändrade i föregående uppgift till Azure CycleCloud-programmet:

    cyclecloud import_template -f ~/cyclecloud-slurm/templates/slurm.txt
    

    Kommentar

    Kommandot visar namnet på den importerade mallen, schemaläggarens tillstånd (scheduler: Off -- --) och antalet totala noder (Total nodes: 1).

Uppgift 4: Starta ett nytt kluster och granska dess lagringskonfiguration

För att slutföra den här övningen kontrollerar du att mallen som du importerade till Azure CycleCloud-programmet levererar de avsedda funktionerna genom att skapa ett nytt kluster och granska lagringskonfigurationen för huvudnoden för att säkerställa att den innehåller en volym som består av två beständiga diskar.

  1. Öppna ett annat webbläsarfönster på datorn och gå till url:en https://< IP_address> (ersätt <platshållaren IP_address> med den offentliga IP-adressen för Azure CycleCloud-programservern). Bekräfta att du vill fortsätta om du uppmanas att göra det.

  2. Om du uppmanas att autentisera loggar du in genom att ange autentiseringsuppgifter för samma Azure CycleCloud-programanvändarkonto som du använde för att konfigurera Azure CycleCloud CLI.

  3. I det grafiska gränssnittet Azure CycleCloud navigerar du till sidan Kluster och väljer +.

  4. På sidan Skapa ett nytt kluster väljer du ikonen med etiketten Slurm i form av en isosceles-triangel med små cirklar vid var och en av dess hörn.

    Screenshot of the Create a New Cluster page of the Azure CycleCloud web application.

  5. På fliken Omsidan Nytt Slurm-kluster anger du contoso-custom-slurm-lab-cluster i textrutan Klusternamn.

    Screenshot of the About tab of the New Slurm Cluster page of the Azure CycleCloud web application.

  6. På fliken Obligatoriskt Inställningarsidan Nytt Slurm-kluster konfigurerar du följande inställningar (lämnar andra med sina standardvärden) och väljer Nästa:

    Inställning Värde
    Region Välj namnet på den Azure-region där du tänker distribuera klustret i den här övningen.
    Vm-typ för Scheduler Välj Välj i popup-fönstret Välj en datortyp . I textrutan SKU-sökning anger du D4s_v3. Markera kryssrutan bredvid posten D4s_v3 i listan med resultat och välj sedan Använd.

    Kommentar

    Se till att du väljer den VM-storlek som stöder Premium-nivån för Azure Storage, vilket krävs för att etablera diskar för huvudnoden enligt din anpassade konfiguration.

    Inställning Värde
    Maximalt antal HPC-kärnor Ange 100.
    Maximalt antal HTC-kärnor Ange 100.
    Maximalt antal virtuella datorer per skalningsuppsättning Ange 40.
    Undernäts-ID Välj cyclecloud-rg: cyclecloud-rg-vnet-contoso-slurm-lab-cluster-subnet.
  7. På fliken Nätverksansluten lagring på sidan Nytt Slurm-kluster kontrollerar du att NFS-typen är inställd på Inbyggd, accepterar att standardvärdet för Storlek (GB) är inställt på 100 och väljer Nästa.

    Screenshot of the Network Attached Storage tab of the New Slurm Cluster page of the Azure CycleCloud web application.

  8. På fliken Avancerat Inställningarsidan Nytt Slurm-kluster granskar du de tillgängliga alternativen utan att göra några ändringar och väljer Nästa.

    Screenshot of the Advanced Settings tab of the New Slurm Cluster page of the Azure CycleCloud web application.

  9. På fliken Cloud-initsidan Nytt Slurm-kluster granskar du de tillgängliga alternativen utan att göra några ändringar och väljer Spara.

  10. På sidan contoso-custom-slurm-lab-cluster väljer du startlänken. När du uppmanas att bekräfta väljer du OK.

    Screenshot of the Nodes tab page of contoso-slurm-lab-cluster in the off state in the Azure CycleCloud web application.

  11. Övervaka startprocessen.

    Kommentar

    Processen omfattar etablering av den virtuella Azure-datorn som hanterar rollen för klustrets huvudnod, installation och konfiguration av Swarm-schemaläggaren samt att skapa och montera diskvolymer. Det kan ta ungefär fem minuter.

  12. När statusen för scheduler-noden har ändrats till Klar väljer du dess post på fliken Noder och väljer sedan Visa information för att visa dess detaljerade vy.

    Screenshot of the Nodes tab of the scheduler node of a contoso-custom-slurm-lab-cluster.

  13. I popup-fönstret Visa schemaläggare i contoso-custom-slurm-lab-cluster-cluster växlar du till fliken Nod, bläddrar till avsnittet Volymer och kontrollerar att posterna nfs-1 och nfs-2 visas i listan med volymer.

    Screenshot of the Node tab page of the detailed view of a cluster configured with two additional NFS volumes.

Klar! Du har slutfört den första övningen i den här modulen. I den här övningen implementerade du ett kluster baserat på en anpassad Azure CycleCloud-mall. Du använde Azure CycleCloud CLI för att importera ett exempelprojekt som finns på Azure CycleCloud GitHub-lagringsplatsen, inklusive en anpassad kopia av en av dess mallar. Sedan skapade du ett kluster baserat på den importerade mallen med det grafiska Gränssnittet Azure CycleCloud, startade det och verifierade att den anpassade ändringen trädde i kraft.

Kommentar

Ta inte bort de resurser som du distribuerade och konfigurerade i den här övningen om du planerar att köra nästa övning i den här modulen. Dessa resurser krävs för att slutföra nästa övning.