Come posso montare, smontare, montare automaticamente e montare on-premises il mio file system Amazon EFS?

6 minuti di lettura
0

Desidero sapere come montare, smontare, montare automaticamente e montare on-premises il mio file system Amazon Elastic File System (Amazon EFS).

Risoluzione

Monta un file system

Per montare il file system EFS, puoi installare il pacchetto amazon-efs-utils. Oppure installa il pacchetto nfs-utils dal sito web di Mankier.

Usa amazon-efs-utils

Completa i passaggi seguenti:

  1. Per installare il pacchetto amazon-efs-utils, esegui uno di questi comandi a seconda della tua distribuzione:
    Amazon Linux 1, Amazon Linux 2 e Amazon Linux 2023

    $ sudo yum install -y amazon-efs-utils

    Distribuzioni basate su Ubuntu e Debian

    $ sudo apt-get update
    $ sudo apt-get -y install git binutils rustc cargo pkg-config libssl-dev
    $ git clone https://github.com/aws/efs-utils
    $ cd efs-utils
    $ ./build-deb.sh
    $ sudo apt-get -y install ./build/amazon-efs-utils*deb

    Se la tua distribuzione non fornisce un pacchetto rust o cargo o fornisce versioni precedenti alla 1.70, usa rustup per installare rust e cargo:

    'curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    . "$HOME/.cargo/env"

    Per creare e installare un RPM, esegui uno di questi comandi a seconda della tua distribuzione:
    OpenSUSE o SLES

    $ sudo zypper refresh
    $ sudo zypper install -y git rpm-build make rust cargo openssl-devel
    $ git clone https://github.com/aws/efs-utils
    $ cd efs-utils
    $ make rpm
    $ sudo zypper --no-gpg-checks install -y build/amazon-efs-utils*rpm

    Tutte le altre distribuzioni

    $ sudo yum -y install git rpm-build make rust cargo openssl-devel
    $ git clone https://github.com/aws/efs-utils
    $ cd efs-utils  
    $ make rpm
    $ sudo yum -y install build/amazon-efs-utils*rpm
  2. Apri la console Amazon EFS.

  3. Nel pannello di navigazione scegli File system.

  4. Seleziona il tuo file system.

  5. Scegli Collega.

  6. Usa SSH o Session Manager, una funzionalità di AWS Systems Manager, per connetterti all'istanza. Quindi esegui questi comandi:

    $ sudo mkdir -p /mnt/efs
    $ sudo mkdir -p /mnt/efs-ap
    $ sudo mount -t efs -o tls fs-12345678:/ /mnt/efs
    $ sudo mount -t efs -o tls,accesspoint=fsap-12345678 fs-01233210 /mnt/efs-ap

    Nota: sostituisci i valori di esempio con i tuoi valori.

Usa nfs-utils

Completa i passaggi seguenti:

  1. Per installare il pacchetto nfs-utils, esegui uno di questi comandi a seconda della tua distribuzione:
    Distribuzioni basate su RHEL e CentOS

    $ sudo yum -y install nfs-utils

    Distribuzioni basate su Ubuntu

    $ sudo apt install nfs-common
  2. Apri la console Amazon EFS.

  3. Nel pannello di navigazione scegli File system.

  4. Seleziona il tuo file system.

  5. Scegli Collega.

  6. Usa SSH o Session Manager per connetterti all'istanza, quindi esegui questo comando:

    $ sudo mkdir -p /mnt/efs
    $ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-DNS:/   ~/efs-mount-point

    -oppure-
    Per utilizzare un indirizzo IP per il montaggio, esegui questo comando:

    $ sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/  ~/efs-mount-point

    Nota: sostituisci i valori di esempio con i tuoi valori.

Smonta un file system

Per smontare un file system, esegui questo comando:

$ umount /mnt/efs

Se il punto di montaggio è occupato, esegui il comando umount con il parametro -l:

$ umount -l /mnt/efs

Usa /etc/fstab per montare automaticamente un file system

Per inserire una voce in /etc/fstab, in modo che il montaggio di Amazon EFS persista al riavvio, esegui questi comandi:

# vim /etc/fstab

Usa amazon-efs-utils

fs-########:/ /mnt/efs efs _netdev,nofail,noresvport,tls,iam 0 0

Usa nfs-utils

Configura i parametri in fstab:

fs-########.efs.REGION.amazonaws.com:/ /mnt/efs nfs4 defaults,_netdev,nofail 0 0
# mount -a

Per le opzioni di montaggio che utilizzano l'assistente di montaggio, consulta Automatically mounting EFS file systems.

Nota: puoi utilizzare l'indirizzo IP della destinazione di montaggio in una zona di disponibilità diversa dal client Amazon Elastic Compute Cloud (Amazon EC2) per il montaggio. Questo metodo di montaggio può comportare costi di trasferimento dati tra le zone di disponibilità e causare latenza.

Usa la Procedura guidata di avvio per montare un file system all'avvio dell'istanza

Quando avvii le istanze Amazon EC2, puoi utilizzare la procedura guidata di avvio per aggiungere automaticamente i dati utente per montare il file system.

Completa i passaggi seguenti:

  1. Apri la console Amazon EC2.
  2. Scegli Avvia le istanze.
  3. Seleziona un'Amazon Machine Image (AMI) e un tipo di istanza, quindi scegli ** Avanti: Configura i dettagli dell'istanza**.
  4. Configura i parametri per il tuo caso d'uso. Assicurati di selezionare il cloud privato virtuale (VPC) e la sottorete richiesti per il montaggio EFS.
  5. Nella pagina Configura l'istanza, in File system, seleziona il tuo file system. Il percorso accanto all'ID del file system è il punto di montaggio utilizzato dall'istanza EC2. Puoi modificare questo percorso in base alle esigenze.
    Per il montaggio del file system, vengono generati automaticamente dati utente nella sezione Dettagli avanzati:
    #cloud-config
    package_update: true
    package_upgrade: true
    runcmd:
    - yum install -y amazon-efs-utils
    - apt-get -y install amazon-efs-utils
    - yum install -y nfs-utils
    - apt-get -y install nfs-common
    - file_system_id_1=fs-0cae1679a766bcf49
    - efs_mount_point_1=/mnt/efs/fs1
    - mkdir -p "${efs_mount_point_1}"
    - test -f "/sbin/mount.efs" && printf "\n${file_system_id_1}:/ ${efs_mount_point_1} efs tls,_netdev\n" >> /etc/fstab || printf "\n${file_system_id_1}.efs.us-east-1.amazonaws.com:/ ${efs_mount_point_1} nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0\n" >> /etc/fstab
    - test -f "/sbin/mount.efs" && grep -ozP 'client-info]\nsource' '/etc/amazon/efs/efs-utils.conf'; if [[ $? == 1 ]]; then printf "\n[client-info]\nsource=liw\n" >> /etc/amazon/efs/efs-utils.conf; fi;
    - retryCnt=15; waitTime=30; while true; do mount -a -t efs,nfs4 defaults; if [ $? = 0 ] || [ $retryCnt -lt 1 ]; then echo File system mounted successfully; break; fi; echo File system not available, retrying to mount.; ((retryCnt--)); sleep $waitTime; done;>
    -oppure-
    Per montare un file system Amazon EFS su un'AMI personalizzata o con opzioni specifiche, esegui i comandi seguenti per aggiungere dati utente personalizzati:
    Distribuzioni basate su RHEL e CentOS
    #!/bin/bash
    sudo mkdir -p /mnt/efs
    sudo yum -y install nfs-utils
    Distribuzioni basate su Ubuntu
    #!/bin/bash
    sudo mkdir -p /mnt/efs
    sudo apt install nfs-common
    sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/ /mnt/efs
    Per ulteriori informazioni, consulta Run commands when you launch an EC2 instance with user data input.
  6. Avvia l'istanza.

Montare un file system on-premises

Per poter montare un file system Amazon EFS sui server on-premises, deve esserci connettività tra Amazon EFS e i server on-premises. Per stabilire la connettività tra il server on-premises e Amazon Virtual Private Cloud (Amazon VPC), usa AWS Direct Connect e AWS VPN. Quindi esegui questi comandi per installare il client NFS e montare il file system:

$ sudo yum -y install nfs-utils (Red Hat Linux)
$ sudo apt-get -y install nfs-common (Ubuntu)
$ mkdir ~/efs
$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-IP:/ ~/efs

Per ulteriori informazioni, consulta Tutorial: Mounting with on-premises Linux clients.

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 mesi fa