Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Einen Cluster mit einem EFA-enabled FSx Lustre erstellen
In diesem Tutorial erstellen Sie einen Cluster, der ein EFA-enabled FSx Lustre-Dateisystem als gemeinsam genutzten Speicher verwendet. Die Verwendung eines FSx Lustre-Dateisystems mit aktiviertem EFA kann die Leistung um das bis zu 8-fache steigern. Um zu überprüfen, ob Sie ein EFA-enabled Dateisystem benötigen, schauen Sie sich den Abschnitt Arbeiten mit EFA-enabled Dateisystemen im FSx for Lustre-Benutzerhandbuch an.
Bei der Nutzung AWS ParallelCluster zahlen Sie nur für die AWS Ressourcen, die beim Erstellen oder Aktualisieren von AWS ParallelCluster Images und Clustern entstehen. Weitere Informationen finden Sie unter AWS Dienste verwendet von AWS ParallelCluster.
Voraussetzungen
-
Die AWS CLI ist installiert und konfiguriert.
-
Die ParallelCluster CLI ist installiert und konfiguriert.
-
Ein Amazon EC2 EC2-Schlüsselpaar für die Anmeldung beim Cluster.
-
Eine IAM-Rolle mit den Berechtigungen, die für die Ausführung der ParallelCluster CLI erforderlich sind.
Erstellen von Sicherheitsgruppen
Erstellen Sie zwei Sicherheitsgruppen in derselben VPC, in der der Cluster und das Dateisystem bereitgestellt werden: eine für den Client, der auf Clusterknoten ausgeführt wird, und eine für das Dateisystem.
# Create security group for the FSx client aws ec2 create-security-group \ --group-name Fsx-Client-SecurityGroup \ --description "Allow traffic for the FSx Lustre client" \ --vpc-idvpc-cluster\ --regionregion# Create security group for the FSx file system aws ec2 create-security-group \ --group-name Fsx-FileSystem-SecurityGroup \ --description "Allow traffic for the FSx Lustre File System" \ --vpc-idvpc-cluster\ --regionregion
Im weiteren Verlauf des Tutorials gehen sg-client wir von den Sicherheitsgruppen-IDs des Clients bzw. des Dateisystems aus. sg-file-system
Konfigurieren Sie die Sicherheitsgruppe für den Client so, dass der gesamte inbound/outbound Datenverkehr zum und vom Dateisystem zugelassen wird, wie von EFA gefordert.
# Allow all inbound traffic from the file system to the client aws ec2 authorize-security-group-ingress \ --group-idsg-client\ --protocol -1 \ --port -1 \ --source-groupsg-file-system\ --regionregion# Allow all outbound traffic from the client to the file system aws ec2 authorize-security-group-egress \ --group-idsg-client\ --protocol -1 \ --port -1 \ --source-groupsg-file-system\ --regionregion
Konfigurieren Sie die Sicherheitsgruppe für das Dateisystem so, dass der gesamte inbound/outbound Datenverkehr innerhalb des Dateisystems und der gesamte eingehende Datenverkehr vom Client zugelassen werden, wie von EFA gefordert.
# Allow all inbound traffic within this security group aws ec2 authorize-security-group-ingress \ --group-idsg-file-system\ --protocol -1 \ --port -1 \ --source-groupsg-file-system\ --regionregion# Allow all outbound traffic within this security group aws ec2 authorize-security-group-egress \ --group-idsg-file-system\ --protocol -1 \ --port -1 \ --source-groupsg-file-system\ --regionregion# Allow all inbound traffic from the client aws ec2 authorize-security-group-ingress \ --group-idsg-file-system\ --protocol -1 \ --port -1 \ --source-groupsg-client\ --regionregion# Allow all outbound traffic to the client aws ec2 authorize-security-group-egress \ --group-idsg-file-system\ --protocol -1 \ --port -1 \ --source-groupsg-client\ --regionregion
Erstellen Sie das Dateisystem
Erstellen Sie das Dateisystem in derselben Availability Zone (AZ), in der sich die Rechenknoten befinden werden, und ersetzen Sie es im folgenden Code durch seine ID. Dies ist erforderlich, damit EFA mit Ihrem Dateisystem arbeiten kann. Beachten Sie, dass wir EFA im Rahmen der Erstellung des Dateisystems mithilfe der EfaEnable Eigenschaft aktivieren.subnet-compute-nodes
aws fsx create-file-system \ --file-system-type LUSTRE \ --storage-capacity 38400 \ --storage-type SSD \ --subnet-idssubnet-compute-nodes\ --security-group-idssg-file-system\ --lustre-configuration DeploymentType=PERSISTENT_2,PerUnitStorageThroughput=125,EfaEnabled=true,MetadataConfiguration={Mode=AUTOMATIC} \ --regionregion
Notieren Sie sich die Dateisystem-ID, die vom vorherigen Befehl zurückgegeben wurde. Ersetzen Sie diese Datei im Rest des Tutorials durch diese Dateisystem-ID.fs-id
Den Cluster erstellen
-
Erstellen Sie den Cluster mit den folgenden Konfigurationen, die in der AWS ParallelCluster YAML-Konfigurationsdatei festgelegt sind:
-
AMI basiert auf einem unterstützten Betriebssystem wie Ubuntu 22.04.
-
Rechenknoten müssen einen von EFA unterstützten Instance-Typ mit Nitro v4+ verwenden, z. B. g6.16xlarge.
-
Rechenknoten müssen sich in derselben AZ befinden, in der sich das Dateisystem befindet.
-
Rechenknoten müssen auf true Efa/Enabledgesetzt sein.
-
Rechenknoten müssen den FSx Lustre-Client für die Verwendung von EFA konfigurieren, indem sie den Abschnitt Konfiguration von EFA-Clients im FSx for Lustre-Benutzerhandbuch befolgen. Dieses Handbuch enthält das
configure-efa-fsx-lustre-clientPaket, das Sie herunterladen, extrahieren und mit dem Sie es ausführen können.setup.shUm es automatisch auf jeden Rechenknoten anzuwenden, führen Sie diese Schritte von einer OnNodeStartbenutzerdefinierten Aktion aus, wie unten gezeigt. -
Erstellen Sie die Datei
configure-efa-fsx-lustre-client-wrapper.shund laden Sie sie beispielsweise in einen Bucket hochyour-bucket, der von den Rechenknoten aus erreichbar ist. Folgt man den Schritten in der FSx-Dokumentation, auf die oben verwiesen wurde, führt der Wrapper das Äquivalent von:#!/bin/bash set -euo pipefail # Download the FSx Lustre EFA client configuration package. # See: https://docs.aws.amazon.com/fsx/latest/LustreGuide/configure-efa-clients.html # Replace the source below with a location reachable from your compute nodes # (for example, your own S3 bucket populated from the FSx documentation package). cd /tmp aws s3 cps3://your-bucket/configure-efa-fsx-lustre-client.zip. unzip -o configure-efa-fsx-lustre-client.zip cd configure-efa-fsx-lustre-client # Configure the FSx Lustre client to use EFA. ./setup.sh
-
-
-
Erstellen Sie eine Cluster-Konfigurationsdatei:
config.yamlRegion:regionImage: Os: ubuntu2204 HeadNode: InstanceType: c5.xlarge Networking: SubnetId:subnet-xxxxxxxxxxAdditionalSecurityGroups: -sg-clientSsh: KeyName:my-ssh-keyScheduling: Scheduler: slurm SlurmQueues: - Name: q1 ComputeResources: - Name: cr1 Instances: - InstanceType: g6.16xlarge MinCount: 1 MaxCount: 3 Efa: Enabled: true Networking: SubnetIds: -subnet-xxxxxxxxxx# Subnet in the same AZ where the file system is AdditionalSecurityGroups: -sg-clientPlacementGroup: Enabled: false Iam: S3Access: - BucketName:your-bucketCustomActions: OnNodeStart: # Point this at the wrapper script you created and hosted (see step above). Script:s3://your-bucket/configure-efa-fsx-lustre-client-wrapper.shSharedStorage: - MountDir: /fsx Name: my-fsxlustre-efa-external StorageType: FsxLustre FsxLustreSettings: FileSystemId:fs-idErstellen Sie dann einen Cluster mit dieser Konfiguration:
pcluster create-cluster \ --cluster-name fsx-efa-tutorial \ --cluster-configuration config.yaml \ --regionregion
Validieren Sie, dass FSx mit EFA funktioniert
Um zu überprüfen, ob der Lustre-Netzwerkverkehr EFA verwendet, verwenden Sie das lnetctl Lustre-Tool, das den Netzwerkverkehr für eine bestimmte Netzwerkschnittstelle anzeigen kann. Führen Sie zu diesem Zweck die folgenden Befehle in einem Rechenknoten aus:
# Take note of the number of packets flowing through the interface, # which are specified in statistics:send_count and statistics:recv_count sudo lnetctl net show --net efa -v # Generate traffic to the file system echo 'Hello World' > /fsx/hello-world.txt # Take note of the number of packets flowing through the interface, # which are specified in statistics:send_count and statistics:recv_count sudo lnetctl net show --net efa -v
Wenn die Funktion funktioniert, wird die Anzahl der Pakete, die über die Schnittstelle fließen, voraussichtlich zunehmen.