Come faccio a montare un file system Amazon FSx per Lustre esistente su Batch AWS in un ambiente di calcolo gestito?
Desidero montare un file system Amazon FSx per Lustre esistente su Batch AWS in un ambiente di calcolo gestito. C'è un modo per configurarlo senza creare Amazon Machine Image (AMI) personalizzate?
Breve descrizione
Usa un modello di avvio di Amazon Elastic Compute Cloud (Amazon EC2) con Batch AWS. Questa configurazione consente di montare un file system Amazon FSx per Lustre esistente nei container senza creare AMI personalizzate.
**Importante:**quando crei il file system, utilizza lo stesso Amazon Virtual Private Cloud (Amazon VPC) e le stesse sottoreti assegnati al tuo ambiente di calcolo.
Risoluzione
1. Crea un file system Amazon FSx per Lustre. Scegli un tipo di implementazione del file system persistente o scratch.
Suggerimento: utilizza file system persistenti per archiviazione e carichi di lavoro a lungo termine. Utilizza i file system scratch per l'archiviazione temporanea e l'elaborazione dei dati a breve termine.
2. Copia l'ID del file system (ad esempio, fs-12345678). Ti serve l'ID del file system per eseguire il modello di avvio.
3. Crea un modello di avvio che includa una sezione di dati utente e utilizzi il formato di file multiparte MIME. Per ulteriori informazioni, consulta Archivio multiparte Mime sul sito Cloud-init.
Esempio di file multiparte MIME di Amazon Linux 2
Importante: sostituisci fs-12345678 con l'ID del tuo file system. Sostituisci us-east-1 con la tua regione AWS. Sostituisci xxxxxxxx con il tuo nome di montaggio Amazon FSx di otto caratteri.
MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/cloud-config; charset="us-ascii" runcmd: - file_system_id_01=fs-09c9ae4593b53a741 - region=us-east-1 - fsx_directory=/scratch - fsx_mount_name=xxxxxxxx - amazon-linux-extras install -y lustre2.10 - mkdir -p ${fsx_directory} - mount -t lustre -o noatime,flock ${file_system_id_01}.fsx.${region}.amazonaws.com@tcp:/${fsx_mount_name} ${fsx_directory} --==MYBOUNDARY==--
Nota: questo file multiparte MIME di esempio configura la risorsa di calcolo per installare il pacchetto Lustre 2.10 dalla libreria Extras. Il file monta anche un file system Amazon FSx per Lustre esistente su /scratch. Per le istruzioni di installazione per altre distribuzioni Linux, consulta Installazione del client Lustre.
4. Avvia il modello per richiamare i dati utente.
5. Crea un file denominato mount-fsx-lustre.json.
Nota: regola la dimensione del volume in base al tuo caso d'uso.
Esempio di modello di avvio di Amazon Linux 2
{ "LaunchTemplateName": "user-data", "LaunchTemplateData": { "BlockDeviceMappings": [ { "Ebs": { "DeleteOnTermination": true, "VolumeSize": 30, "VolumeType": "gp2" }, "DeviceName": "/dev/xvda" } ], "UserData": "TUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSI9PU1ZQk9VTkRBUlk9PSIKCi0tPT1NWUJPVU5EQVJZPT0KQ29udGVudC1UeXBlOiB0ZXh0L2Nsb3VkLWNvbmZpZzsgY2hhcnNldD0idXMtYXNjaWkiCgpwYWNrYWdlczoKLSBhbWF6b24tZWZzLXV0aWxzCgpydW5jbWQ6Ci0gZmlsZV9zeXN0ZW1faWRfMDE9ZnMtODc0MTc4MDYgICAgIAotIGVmc19kaXJlY3Rvcnk9L21udC9lZnMKCi0gbWtkaXIgLXAgJHtlZnNfZGlyZWN0b3J5fQotIGVjaG8gIiR7ZmlsZV9zeXN0ZW1faWRfMDF9Oi8gJHtlZnNfZGlyZWN0b3J5fSBlZnMgdGxzLF9uZXRkZXYiID4+IC9ldGMvZnN0YWIKLSBtb3VudCAtYSAtdCBlZnMgZGVmYXVsdHMKCi0tPT1NWUJPVU5EQVJZPT0tLQ==" } }
Esempio di modello di avvio di Amazon Linux 1
{ "LaunchTemplateName": "userdata", "LaunchTemplateData": { "BlockDeviceMappings": [ { "Ebs": { "DeleteOnTermination": true, "VolumeSize": 8, "VolumeType": "gp2" }, "DeviceName": "/dev/xvda" }, { "Ebs": { "DeleteOnTermination": true, "VolumeSize": 22, "VolumeType": "gp2" }, "DeviceName": "/dev/xvdcz" } ], "UserData": "TUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiBtdWx0aXBhcnQvbWl4ZWQ7IGJvdW5kYXJ5PSI9PU1ZQk9VTkRBUlk9PSIKCi0tPT1NWUJPVU5EQVJZPT0KQ29udGVudC1UeXBlOiB0ZXh0L2Nsb3VkLWNvbmZpZzsgY2hhcnNldD0idXMtYXNjaWkiCgpwYWNrYWdlczoKLSBhbWF6b24tZWZzLXV0aWxzCgpydW5jbWQ6Ci0gZmlsZV9zeXN0ZW1faWRfMDE9ZnMtODc0MTc4MDYgICAgIAotIGVmc19kaXJlY3Rvcnk9L21udC9lZnMKCi0gbWtkaXIgLXAgJHtlZnNfZGlyZWN0b3J5fQotIGVjaG8gIiR7ZmlsZV9zeXN0ZW1faWRfMDF9Oi8gJHtlZnNfZGlyZWN0b3J5fSBlZnMgdGxzLF9uZXRkZXYiID4+IC9ldGMvZnN0YWIKLSBtb3VudCAtYSAtdCBlZnMgZGVmYXVsdHMKCi0tPT1NWUJPVU5EQVJZPT0tLQ==" } }
Nota: se aggiungi dati utente a un modello di avvio nella console Amazon EC2, assicurati di eseguire una delle seguenti operazioni: incolla i dati utente come testo normale oppure carica i dati utente da un file.
Se utilizzi l'interfaccia della linea di comando AWS (AWS CLI) o un SDK AWS, devi prima codificare in base64 i dati utente. Quindi, invia quella stringa come valore del parametro UserData quando chiami CreateLaunchTemplate.
6. Esegui il seguente comando AWS CLI per creare un modello di avvio basato sul file mount-fsx-lustre.json che hai creato nel passaggio 5:
Importante: sostituisci us-east-1 con la tua regione AWS.
aws ec2 --region us-east-1 create-launch-template --cli-input-json file://mount-fsx-lustre.json
Esempio di output del comando create-launch-template
{ "LaunchTemplate": { "LaunchTemplateId": "lt-08cb09d54bcf551f3", "LaunchTemplateName": "fsx-test", "CreateTime": "2020-06-30T17:13:22.000Z", "CreatedBy": "arn:aws:iam::12345678999:user/test", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } }
7. Crea un nuovo ambiente di calcolo e associalo al tuo modello di avvio.
Importante: per impostazione predefinita, gli ambienti di calcolo gestiti da Batch AWS utilizzano una versione approvata dell'AMI ottimizzata per Amazon Elastic Container Service (Amazon ECS) per le risorse di calcolo. Devi impostare in modo esplicito l'ID AMI per le AMI Amazon Linux 2 ottimizzate per Amazon ECS e altre distribuzioni Linux.
Quando Batch AWS avvia le istanze, il file system Amazon FSx per Lustre viene ora montato sulle istanze di container.
8. Verifica se il file system è montato con l'istanza di container utilizzando SSH per connetterti all'istanza avviata da Batch AWS. Quindi, esegui il seguente comando Linux df:
$ df -h
Esempio di output del comando df
Filesystem Size Used Avail Used% Mounted on devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 3.9G 448K 3.9G 1% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/xvda1 30G 4.2G 25G 15% / 172.31.79.79@tcp:/xxxxxxxx 1.1T 4.5M 1.1T 1% /scratch tmpfs 798M 0 798M 0% /run/user/1000
Nota: /scratch viene montato automaticamente.
9. Crea una definizione del processo in Batch AWS che includa il volume e il punto di montaggio.
Esempio di definizione del processo in Batch AWS
{ "jobDefinitionName": "Fsx-sample", "jobDefinitionArn": "arn:aws:batch:us-east-1:12345678999:job-definition/userdata:1", "revision": 1, "status": "ACTIVE", "type": "container", "parameters": {}, "containerProperties": { "image": "busybox", "vcpus": 1, "memory": 1024, "command": [], "volumes": [ { "host": { "sourcePath": "/scratch" }, "name": "Scratch" } ], "environment": [], "mountPoints": [ { "containerPath": "/scratch", "sourceVolume": "Scratch" } ], "ulimits": [], "resourceRequirements": [] } }
10. Invia un processo Batch AWS utilizzando la definizione del processo che hai creato nel passaggio 9.
Contenuto pertinente
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata 2 anni fa