

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.

# Benutzer auf einem Slurm-Cluster erstellen auf SageMaker HyperPod
<a name="sagemaker-hyperpod-slurm-user-management-create-users"></a>

Es gibt drei Möglichkeiten, POSIX-Benutzer über die Knoten eines Slurm-Clusters hinweg zu erstellen. SageMaker HyperPod Sie unterscheiden sich darin*, wann * Benutzer erstellt werden und * wie viele * Lebenszykluskonfigurationen Sie verwalten müssen. Wählen Sie die Option, die zu Ihrem Cluster und Workflow passt. Hier finden Sie eine Liste von der einfachsten bis zur fortschrittlichsten Option.


| Option | Am besten geeignet für | Konfiguration des Lebenszyklus erforderlich | Wenn Benutzer erstellt werden | Verhalten beim Hochskalieren oder beim Node-Austausch | 
| --- | --- | --- | --- | --- | 
| [Option A: Fügen Sie Benutzer mit dem Utility-Skript „Benutzer erstellen“ hinzu](#sagemaker-hyperpod-multi-user-method-1-create-users) | Hinzufügen von Benutzern zu einem Cluster, der bereits existiert  InService, ohne die Konfiguration des Lebenszyklus zu ändern | Keine | Bei Bedarf, wann immer Sie das Skript ausführen | Manuell. Benutzer werden nicht automatisch übernommen. Führen Sie das Skript jedes Mal erneut aus, wenn Knoten hinzugefügt oder ersetzt werden (automatisch oder manuell). | 
| [Option B: Fügen Sie Benutzer mit dem Erweiterungsskript „add-users“ hinzu ``](#sagemaker-hyperpod-multi-user-method-2-add-users-extension) | AMI-based lebenszykluskonfigurierte Cluster, die Benutzer automatisch bereitstellen | Erweiterungsskripts für Benutzer hinzufügen | Automatisch während der Knotenbereitstellung — während der Cluster-Erstellung, beim Hinzufügen von Knoten (Scale-Up), bei AMI-Updates und beim Austausch von Knoten. | Automatisch. Die Erweiterung wird während der Bereitstellung auf jedem neuen Knoten ausgeführt, wobei die Benutzerdatei im Amazon S3-Bucket für Lebenszyklus-Skripts verwendet wird. | 
| [Option C: Fügen Sie Benutzer mit den Basis-Lifecycle-Skripten hinzu](#sagemaker-hyperpod-multi-user-method-3-base-lcs) | Cluster, die bereits den vollständigen benutzerdefinierten Basis-Lifecycle-Skriptsatz verwenden | Vollständiger benutzerdefinierter Lebenszyklus-Skriptsatz | Automatisch während der Knotenbereitstellung — während der Cluster-Erstellung, beim Hinzufügen von Knoten (Scale-Up), bei AMI-Updates und beim Austausch von Knoten. | Automatisch. Das Basis-Lifecycle-Skript wird während der Bereitstellung auf jedem neuen Knoten ausgeführt, wobei die Benutzerdatei im Amazon S3-Bucket für Lebenszyklus-Skripts verwendet wird. | 

Alle drei Optionen verwenden Skripte, die das SageMaker HyperPod Serviceteam im [ Awsome Distributed ](https://github.com/awslabs/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod) Training-Repository auf der GitHub Website bereitstellt.

**Topics**
+ [Option A: Fügen Sie Benutzer mit dem Utility-Skript „Benutzer erstellen“ hinzu](#sagemaker-hyperpod-multi-user-method-1-create-users)
+ [Option B: Fügen Sie Benutzer mit dem Erweiterungsskript „add-users“ hinzu ``](#sagemaker-hyperpod-multi-user-method-2-add-users-extension)
+ [Option C: Fügen Sie Benutzer mit den Basis-Lifecycle-Skripten hinzu](#sagemaker-hyperpod-multi-user-method-3-base-lcs)

## Option A: Fügen Sie Benutzer mit dem Utility-Skript „Benutzer erstellen“ hinzu
<a name="sagemaker-hyperpod-multi-user-method-1-create-users"></a>

Dies ist die einfachste Option und erfordert keine Lebenszykluskonfiguration. Verwenden Sie sie, wenn Ihr Cluster bereits vorhanden ist ** InService ** und Sie sofort Benutzer hinzufügen möchten. Führen Sie das [ Utility-Skript ](https://github.com/awslabs/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/utils/create_users.sh) create\_users.sh auf der GitHub Website auf dem Controller-Knoten aus, um Benutzer auf allen Knoten in einem einzigen Durchlauf zu erstellen. Das Skript erkennt automatisch die anderen Knoten anhand der Cluster-Konfigurationsdateien, erstellt die Benutzer über SSH und konfiguriert die Rechenknoten parallel, sodass sie auf große Cluster skaliert werden können. Das Skript unterstützt drei Modi für die Angabe von Benutzern, die anhand der von Ihnen übergebenen Argumente und der im aktuellen Verzeichnis vorhandenen Dateien in der folgenden Prioritätsreihenfolge ausgewählt werden:
+ **Befehlszeilenmodus ** — Sie übergeben Benutzernamen als Argumente und das Skript weist automatisch UIDs zu. Dies ist der schnellste Weg, Benutzer hinzuzufügen.
+ **Dateimodus ** — Das Skript liest Benutzerdefinitionen aus einer `shared_users.txt` (CSV) oder `shared_users.yaml` (YAML) -Datei im aktuellen Verzeichnis.
+ **Interaktiver Modus ** — das Skript fordert Sie zur Eingabe von Benutzernamen und optional UIDs auf.

**Wichtig**  
In jedem Modus werden Benutzer nur auf den Knoten `create_users.sh` erstellt, die bei der Ausführung vorhanden sind. Dazu gehört auch der Dateimodus mit einem lokalen `shared_users.txt` Oder`shared_users.yaml`. Benutzer werden ** nicht ** automatisch auf Knoten neu erstellt, die später durch Hochskalierung oder Knotenersetzung hinzugefügt werden. Dabei handelt es sich um Bereitstellungsereignisse, bei denen der neue Knoten mit einem neuen Root-Volume gestartet wird, das keine POSIX-Konten hat. (Home-Verzeichnisse und SSH-Schlüssel auf dem gemeinsam genutzten Dateisystem überleben, die Benutzerkonten selbst jedoch nicht.) Re-run `create_users.sh`nachdem die neuen Knoten hinzugefügt wurden, um sie in Einklang zu bringen.  
Re-running das Script ist sicher. Führen Sie es auf dem Controller-Knoten aus. Es erkennt die anderen Clusterknoten und wendet Benutzer im gesamten Cluster in einem Durchlauf an. Es ist pro Knoten idempotent: Es erstellt einen Benutzer nur dort, wo er fehlt, und lässt Knoten, auf denen der Benutzer bereits existiert, unverändert — eine erneute Ausführung nach dem Hinzufügen von Knoten wirkt sich also nur auf die neuen Knoten aus.  
Damit neue Knoten automatisch Benutzer empfangen, muss die Benutzerdatei Teil der Lifecycle-Konfiguration des Clusters sein, damit sie während der Bereitstellung ausgeführt wird: Speichern Sie eine `shared_users.yaml` OR-Datei in Ihrem Amazon S3-Bucket für Lifecycle-Skripte und verwenden Sie sie mit `shared_users.txt` oder. [Option B: Fügen Sie Benutzer mit dem Erweiterungsskript „add-users“ hinzu ``](#sagemaker-hyperpod-multi-user-method-2-add-users-extension) [Option C: Fügen Sie Benutzer mit den Basis-Lifecycle-Skripten hinzu](#sagemaker-hyperpod-multi-user-method-3-base-lcs) `create_users.sh`hilft, indem jeder Benutzer, den er erstellt, an ihn angehängt wird `shared_users.txt` und angeboten wird, ihn auf Amazon S3 hochzuladen. Für sich genommen — in keinem Modus — führt dies jedoch nicht dazu, dass Benutzer über Bereitstellungsereignisse hinweg bestehen bleiben.

Für jeden Benutzer gilt das Skript:
+ Erzeugt einen POSIX-Benutzer mit einer konsistenten UID auf jedem Knoten.
+ Erzeugt ein Home-Verzeichnis auf dem gemeinsam genutzten Dateisystem (automatische Erkennung von OpenZFS unter `/home` oder Amazon FSX for Lustre at). `/fsx`
+ Generiert ein SSH-Schlüsselpaar auf dem gemeinsam genutzten Dateisystem für passwortloses SSH zwischen Knoten.
+ Fügt den Benutzer der `docker` Gruppe hinzu (und gewährt optional Sudo-Zugriff).
+ Registriert den Benutzer beim Slurm-Konto auf dem Controller, damit er Jobs einreichen kann.
+ Hängt die neuen Benutzer an eine `shared_users.txt` Datei an und lädt sie optional auf Amazon S3 hoch, sodass Sie sie mit den anderen Optionen wiederverwenden können.

**Voraussetzungen**  
Bevor Sie beginnen, stellen Sie sicher, dass die folgenden Anforderungen erfüllt sind.
+ Der Cluster ist ** InService ** und Sie können eine Verbindung zum Controller-Knoten herstellen. Siehe [Zugreifen auf Ihre SageMaker HyperPod Clusterknoten](sagemaker-hyperpod-run-jobs-slurm-access-nodes.md).
+ `jq`ist auf dem Controller-Knoten installiert.
+ SSH-Zugriff ist vom Controller-Knoten aus auf alle anderen Knoten verfügbar (HyperPod konfiguriert dies für den Standardbenutzer).

**Um Benutzer mit dem `` Utility-Skript create\_users.sh hinzuzufügen**  
Führen Sie folgende Schritte aus:

1. Stellen Sie eine Verbindung zum Controller-Knoten her und laden Sie das Skript herunter. Stellen Sie sicher, dass Sie es mit Sudo-Berechtigungen ausführen.

   ```
   $ curl -O https://raw.githubusercontent.com/awslabs/awsome-distributed-training/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/utils/create_users.sh
   chmod +x create_users.sh
   ```

1. Führen Sie das Skript in einem seiner drei Modi aus, den es nach Priorität aus den übergebenen Argumenten und den Dateien im aktuellen Verzeichnis auswählt: zuerst Befehlszeilenargumente, dann eine Benutzerdatei, dann interaktive Eingabeaufforderungen. Jeder Modus läuft in derselben Reihenfolge ab: Erstellen Sie die Benutzer auf dem aktuellen Knoten, richten Sie SSH-Schlüsselpaare auf dem gemeinsam genutzten Dateisystem ein, erstellen Sie die Benutzer auf allen verbleibenden Knoten (Rechenknoten parallel), registrieren Sie sie bei der Slurm-Buchhaltung auf dem Controller, hängen Sie sie an und bieten Sie an`shared_users.txt`, diese Datei auf Amazon S3 hochzuladen.

   Die drei Modi werden in den folgenden Beispielen beschrieben, wobei jeweils zwei Benutzer (und) hinzugefügt werden. `user1` `user2`

**Befehlszeilenmodus**  
Übergeben Sie die Benutzernamen als Argumente. Das Skript weist automatisch UIDs zu und fragt, ob die neuen Benutzer Sudoers sein sollen. Dies ist der schnellste Weg, Benutzer hinzuzufügen.

   ```
   $ sudo ./create_users.sh user1 user2
   ```

   Das Skript validiert die Benutzernamen und fordert dann zum Zugriff auf Sudoer auf:

   ```
   ========================================
    Step 1: User Configuration
   ========================================
     Users from CLI args: user1 user2
       ✓ user1 — will be created (auto-assign UID)
       ✓ user2 — will be created (auto-assign UID)
     Make these user(s) sudoer(s)? (y/N): n
   ```

   Es erstellt dann die Benutzer auf dem aktuellen Knoten, richtet SSH-Schlüsselpaare ein, erstellt sie auf den Rechenknoten, registriert sie beim Slurm-Konto auf dem Controller und schreibt, sodass Sie am Ende aufgefordert werden`shared_users.txt`, diese Datei auf Amazon S3 hochzuladen.

**Dateimodus**  
Erstellen Sie eine Benutzerdatei im selben Verzeichnis wie das Skript und führen Sie das Skript dann ohne Argumente aus. Das Skript liest die Benutzerdefinitionen, validiert sie (es werden nur Benutzer erstellt, die noch nicht existieren, und UID-Konflikte werden übersprungen) und erstellt die Benutzer auf allen Knoten. Das Skript akzeptiert zwei Dateiformate.

   Verwenden Sie zum `shared_users.txt` Beispiel eine CSV-Datei mit einem Benutzer pro Zeile im folgenden Format`username,uid,home_directory`:

   ```
   user1,2001,/fsx/user1
   user2,2002,/fsx/user2
   ```

   Verwenden Sie alternativ eine YAML-Datei mit einer einfachen Benutzerliste oder Benutzern, die in Gruppen organisiert sind. `shared_users.yaml` Für die Analyse dieses Formats ist PyYAML auf dem Knoten erforderlich. Das Folgende ist das einfache Listenformat:

   ```
   users:
     - username: user1
       uid: 2001
     - username: user2
       uid: 2002
   ```

   Wenn beide Dateien vorhanden sind, hat `shared_users.txt` Vorrang. Führen Sie das Skript ohne Argumente aus:

   ```
   $ sudo ./create_users.sh
   ```

   Das Skript validiert die Dateieinträge, bestätigt die Erstellung, fordert zum Zugriff auf Sudoer auf und bietet an, Benutzer hinzuzufügen, die nicht in der Datei enthalten sind. Dann erstellt es `user1` und `user2` auf allen Knoten mit den UIDs aus der Datei (2001 und 2002), richtet SSH-Schlüsselpaare ein, registriert sie bei Slurm Accounting und aktualisiert sie. `shared_users.txt`

**interaktiver Modus**  
Führt das Skript ohne Argumente und ohne Benutzerdatei aus. Das Skript fordert Sie auf, die Benutzernamen und optional die zuzuweisenden UIDs einzugeben:

   ```
   $ sudo ./create_users.sh
   ```

   ```
   ========================================
    Step 1: User Configuration
   ========================================
     No shared_users.txt or shared_users.yaml found.
     Entering interactive mode...
   
     Enter username(s), comma-separated (e.g. 'sean' or 'sean,alice,bob'): user1,user2
     Specify UIDs? (Enter for auto-assign, or comma-separated UIDs): 2001,2002
     Make these user(s) sudoer(s)? (y/N): n
   ```

   Nachdem Sie die Eingabeaufforderungen beantwortet haben, erstellt `user1` das Skript `user2` auf allen Knoten die von Ihnen eingegebenen UIDs, richtet SSH-Schlüsselpaare ein, registriert sie bei Slurm Accounting und aktualisiert sie. `shared_users.txt`

1. Testen Sie einen Benutzer, indem Sie zu ihm wechseln und einen Befehl im gesamten Cluster ausführen.

   ```
   $ sudo su - user1 && ssh $(srun hostname)
   ```

**Anmerkung**  
Das Skript ist idempotent. Bereits existierende Benutzer werden übersprungen, und bestehende SSH-Schlüssel und Slurm-Buchhaltungszuordnungen werden beibehalten, sodass es sicher erneut ausgeführt werden kann.

## Option B: Fügen Sie Benutzer mit dem Erweiterungsskript „add-users“ hinzu ``
<a name="sagemaker-hyperpod-multi-user-method-2-add-users-extension"></a>

Verwenden Sie diese Option, wenn Ihr Cluster die ** AMI-based Konfiguration verwendet ** und Sie möchten, dass Benutzer automatisch bereitgestellt werden. SageMaker HyperPod Führt mit der Option „Verlängerungslebenszyklus“ zuerst die vollständige AMI-based Konfiguration aus und führt dann Ihr Erweiterungsskript aus. Das Serviceteam stellt im Ordner Extensions des Awsome Distributed Training Repositorys auf der Website eine gebrauchsfertige [ Erweiterung für ](https://github.com/awslabs/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/Extensions/add-users) Add-Users bereit. GitHub Da die Erweiterung während der Knotenbereitstellung ausgeführt wird, werden Benutzer automatisch erstellt, wenn der Cluster erstellt wird, und erneut auf allen neuen Knoten, die während des Scale-Outs hinzugefügt werden.

Weitere Informationen zum Einrichten von Erweiterungen finden Sie unter:
+ Informationen zum Einrichten von Erweiterungen mithilfe der AWS Konsole finden Sie unter ** Lifecycle-Konfiguration — optional ** unter [ Benutzerdefiniertes Setup](https://docs.aws.amazon.com/sagemaker/latest/dg/smcluster-getting-started-slurm-console.html#smcluster-getting-started-slurm-console-create-cluster-custom).
+ Informationen zum Einrichten von Erweiterungen mithilfe der API finden Sie unter ** Option B: AMI-based Konfiguration erweitern mit OnInitComplete ** unter [ Create your cluster](https://docs.aws.amazon.com/sagemaker/latest/dg/smcluster-getting-started-slurm-cli.html#smcluster-getting-started-slurm-cli-create-cluster).

Die `add-users` Erweiterung erstellt POSIX-Benutzer mit konsistenten UIDs, richtet Home-Verzeichnisse auf dem gemeinsam genutzten Dateisystem ein, generiert SSH-Schlüsselpaare für passwortloses SSH zwischen Knoten und registriert Benutzer mit Slurm-Konten auf dem Controller. Sie akzeptiert zwei Eingabeformate:
+ `shared_users.txt`— dasselbe CSV-Format, das von den Basis-Lifecycle-Skripten verwendet wird (`username,uid,/fsx/username`). Alle Benutzer werden dem `root` Slurm-Konto hinzugefügt.
+ `shared_users.yaml`— ein YAML-Format, das zusätzlich die Organisation von Benutzern in Gruppen mit gruppenspezifischen Slurm-Konten und Dateisystem-Mounts unterstützt. Gruppen dienen nur organisatorischen Zwecken; sie bilden keine Linux-Gruppen.

Das Folgende ist ein Beispiel für die `shared_users.yaml` Verwendung des Gruppenformats:

```
groups:
  - name: research
    slurm_account: research
    users:
      - username: user1
        uid: 2001
      - username: user2
        uid: 2002
  - name: platform
    slurm_account: platform
    users:
      - username: user3
        uid: 3001
```

**Um Benutzer mit der `Erweiterung „`Add-Users“ bei der Clustererstellung hinzuzufügen**  
Führen Sie folgende Schritte aus:

1. Kopieren Sie die entsprechende Beispieldatei in das `add-users` Verzeichnis und bearbeiten Sie sie mit Ihren Benutzern:

   ```
   $ cp shared_users_sample.yaml shared_users.yaml
   ```

1. Laden Sie das `add-users` Verzeichnis in Ihren Amazon S3-Bucket für Lifecycle-Skripts hoch (der Bucket-Pfad muss mit beginnen`s3://sagemaker-`):

   ```
   $ aws s3 cp add-users/ s3://DOC-EXAMPLE-BUCKET/add-users/ --recursive
   ```

1. Geben Sie die Erweiterung im `LifeCycleConfig` Block Ihrer `CreateCluster` Anfrage an und verwenden Sie `add_users.sh` als `OnInitComplete` Skript:

   ```
   "LifeCycleConfig": {
       "OnInitComplete": "add_users.sh",
       "SourceS3Uri": "s3://DOC-EXAMPLE-BUCKET/add-users/"
   }
   ```

**Tipp**  
Wenn Ihr Cluster zusätzlich zur Benutzererstellung mehrere Funktionen benötigt (z. B. Observability), laden Sie den gesamten Erweiterungsordner hoch und verwenden Sie den `run_extensions.sh` Orchestrator als Erweiterungsskript. Es bietet einfache boolesche Schalter, um beispielsweise jede Funktion zu aktivieren. `ENABLE_ADD_USERS="true"` Details hierzu finden Sie unter [Erste Schritte mit der SageMaker HyperPod Verwendung von AWS CLI](smcluster-getting-started-slurm-cli.md).

**Um Benutzer nach der Erstellung zu einem vorhandenen Cluster hinzuzufügen**  
Da die Erweiterung nur während der Knotenbereitstellung ausgeführt wird, müssen Sie die Erweiterung manuell ausführen, um Benutzer zu Knoten hinzuzufügen, die bereits laufen.

1. Aktualisieren Sie Ihre Benutzerdatei mit den neuen Benutzern (behalten Sie die vorhandenen Benutzer in der Datei bei) und laden Sie sie auf Amazon S3 hoch:

   ```
   $ aws s3 cp add-users/shared_users.yaml s3://DOC-EXAMPLE-BUCKET/add-users/shared_users.yaml
   ```

1. Stellen Sie eine Verbindung zum Controller-Knoten her und ziehen Sie die Skripts in das gemeinsam genutzte Dateisystem:

   ```
   $ sudo mkdir -p /fsx/cluster-scripts/add-users
   sudo aws s3 cp s3://DOC-EXAMPLE-BUCKET/add-users/ /fsx/cluster-scripts/add-users/ --recursive
   sudo chmod +x /fsx/cluster-scripts/add-users/*.sh
   ```

1. Führen Sie die Erweiterung auf dem Controller aus:

   ```
   $ sudo bash /fsx/cluster-scripts/add-users/add_users.sh
   ```

1. Führen Sie die Erweiterung auf den Rechenknoten aus mit`srun`:

   ```
   $ sudo srun --partition={{partition-name}} bash /fsx/cluster-scripts/add-users/add_users.sh
   ```

Die Skripte überspringen bestehende Benutzer und erstellen nur neue; sie sind idempotent.

## Option C: Fügen Sie Benutzer mit den Basis-Lifecycle-Skripten hinzu
<a name="sagemaker-hyperpod-multi-user-method-3-base-lcs"></a>

Verwenden Sie diese Option nur, wenn Ihr Cluster bereits den vollständigen Satz benutzerdefinierter Basislebenszyklus-Skripts verwendet, wobei Ihre Skripts die gesamte Bereitstellungssequenz besitzen. Dies ist die fortschrittlichste Option, da Sie den kompletten Lifecycle-Skriptsatz und nicht eine einzelne Erweiterung verwalten. Das Serviceteam stellt das [ Skript ](https://github.com/awslabs/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config/add_users.sh) add\_users.sh auf der GitHub Website als ein Skript innerhalb des Base-Config-Lifecycle-Skriptsatzes bereit. Während der Clustererstellung, Cluster-Aktualisierung oder Cluster-Softwareupdate wird das Lifecycle-Skript runner (`lifecycle_script.py`) ausgeführt`add_users.sh`, das eine `shared_users.txt` Datei liest und die Benutzer und ihre Home-Verzeichnisse erstellt.

In dieser Option `add_users.sh` behandelt es nur die Erstellung von POSIX-Benutzern und Basisverzeichnissen. Die Generierung von SSH-Schlüsselpaaren für kennwortloses SSH zwischen Knoten ist ein separates Modul im Basis-Lifecycle-Skriptsatz (z. B.`gen-keypair-ubuntu.sh`), das der Lifecycle-Skript-Runner als Teil des vollständigen Satzes aufruft. Stellen Sie sicher, dass das SSH-Schlüsselmodul in Ihrem Lifecycle-Skriptsatz enthalten ist, damit Benutzer Schlüsselpaare im gemeinsam genutzten Dateisystem erhalten.

Weitere Informationen zum Einrichten des vollständigen benutzerdefinierten Lifecycle-Skriptsatzes finden Sie unter:
+ Informationen zum Einrichten von Lifecycle-Skripten mithilfe der AWS Konsole finden Sie unter ** Lifecycle-Konfiguration — optional ** unter [ Benutzerdefiniertes Setup](https://docs.aws.amazon.com/sagemaker/latest/dg/smcluster-getting-started-slurm-console.html#smcluster-getting-started-slurm-console-create-cluster-custom).
+ Informationen zum Einrichten von Lifecycle-Skripten mithilfe der API finden Sie unter ** Option C: Vollständige benutzerdefinierte Kontrolle OnCreate ** unter [ Create your cluster](https://docs.aws.amazon.com/sagemaker/latest/dg/smcluster-getting-started-slurm-cli.html#smcluster-getting-started-slurm-cli-create-cluster).

**Um Benutzer während der Erstellung eines Slurm-Clusters zu erstellen**  
Führen Sie folgende Schritte aus:

1. Laden Sie das [https://github.com/awslabs/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config](https://github.com/awslabs/awsome-distributed-training/tree/main/1.architectures/5.sagemaker-hyperpod/LifecycleScripts/base-config) Base-Config-Lifecycle-Skriptset von der Website herunter. GitHub Mit dieser Option laden Sie den gesamten Base-Config-Ordner als Ihren Lifecycle-Skriptsatz hoch, nicht nur. `add_users.sh`

1. Erstellen oder bearbeiten Sie im Ordner base-config eine Textdatei mit dem folgenden Namen`shared_users.txt`. Die erste Spalte enthält den Benutzernamen, die zweite Spalte die eindeutige Benutzer-ID und die dritte Spalte ist das Benutzerverzeichnis im Amazon FSx Shared Space.

   ```
   username1,uid1,/fsx/username1
   username2,uid2,/fsx/username2
   ...
   ```

   `add_users.sh`liest `shared_users.txt` aus demselben Ordner, daher muss sich die Datei zusammen mit dem Skript in base-config befinden.

1. Laden Sie den gesamten Ordner base-config für Ihre Lifecycle-Skripte in den Amazon S3-Bucket hoch. HyperPod Während der Cluster-Erstellung, Cluster-Aktualisierung oder Cluster-Software-Aktualisierung wird der Lifecycle-Skript-Runner ausgeführt`add_users.sh`, der die Benutzer `shared_users.txt` und ihre Home-Verzeichnisse liest und einrichtet.

**Anmerkung**  
`add_users.sh`erkennt automatisch das gemeinsam genutzte Dateisystem: Wenn OpenZFS dort gemountet ist, erstellt `/home` es dort Home-Verzeichnisse; andernfalls verwendet es den Amazon FSx for Lustre-Pfad.