¿Cuáles son los pasos básicos para montar, desmontar, montar automáticamente y montar de manera local mi sistema de archivos de EFS?

Última actualización: 17-06-2022

¿Cuáles son los pasos básicos para montar, desmontar, montar automáticamente y montar de manera local mi sistema de archivos de Amazon Elastic File System (Amazon EFS)?

Resolución

Para montar su sistema de archivos de Amazon EFS, puede instalar el paquete nfs-utils o el paquete efs-utils.

Montaje de EFS con herramientas efs-utils

1.    Ejecute el siguiente comando para instalar el paquete efs-utils:

Amazon Linux o Amazon Linux 2

$ sudo yum install -y amazon-efs-utils

Distribuciones basadas en Ubuntu y Debian

$ sudo apt-get -y install ./build/amazon-efs-utils*deb./build-deb.sh
$ cd /path/to/efs-utils
$ git clone https://github.com/aws/efs-utils
$ sudo apt-get -y install git binutils
$ sudo apt-get update

Otras distribuciones de Linux

$ sudo yum -y install git
$ sudo yum -y install rpm-build
$ git clone https://github.com/aws/efs-utils
$ cd /path/efs-utils
$ sudo yum -y install make
$ sudo yum -y install rpm-build
$ sudo make rpm
$ sudo yum -y install ./build/amazon-efs-utils*rpm

2.    Después de instalar el paquete efs-utils, abra la consola de EFS.

3.    Seleccione File systems (Sistemas de archivos).

4.    Seleccione el sistema de archivos que desee montar.

5.    Seleccione Adjuntar.

6.    Copie el comando de abajo mediante el ayudante de montaje de EFS.

7.    Conéctese a la instancia mediante SSH o AWS Systems Manager Session Manager y ejecute el comando que copió en el paso 6:

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

Nota: Edite los comandos anteriores según sea necesario y sustituya el identificador del sistema de archivos, el punto de montaje, etc.

Montaje de EFS con el cliente NFS

1.    Ejecute el siguiente comando para instalar el paquete nfs-utils:

Distribuciones basadas en RHEL y CentOS

$ sudo yum -y install nfs-utils

Distribuciones basadas en Ubuntu

$ sudo apt install nfs-common

2.    Después de instalar el paquete nfs-utils, vaya a la consola de EFS.

3.    Seleccione File systems (Sistemas de archivos).

4.    Seleccione el sistema de archivos que desee montar.

5.    Seleccione Adjuntar.

6.    Copie el comando de abajo mediante el ayudante de montaje de NFS.

7.    Conéctese a la instancia mediante SSH o Session Manager y ejecute el comando que copió en el paso 6:

$ 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

De forma alternativa, realice lo siguiente:

Ejecute el siguiente comando para montarlo con una dirección IP:

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

Nota: Edite los comandos anteriores según sea necesario y sustituya el identificador del sistema de archivos, el punto de montaje, el DNS, la dirección IP, etc.

Desmontaje de un sistema de archivos de EFS

Ejecute el siguiente comando para desmontar el sistema de archivos:

$ umount /mnt/efs

Si el punto de montaje está ocupado, utilice el parámetro -l con el comando umount:

$ umount -l /mnt/efs

Montaje automático de un sistema de archivos mediante /etc/fstab

Ejecute los siguientes comandos para crear una entrada en /etc/fstab de modo que el montaje de EFS persista al reiniciar:

# vim /etc/fstab

Con efs-utils

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

Con el cliente NFS

Modifique los parámetros de fstab según sea necesario para su configuración.

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

Para conocer las distintas opciones de montaje con el ayudante de montaje, consulte Montar automáticamente EFS mediante/etc/fstab con ayudante de montaje EFS.

Nota: Puede montar su sistema de archivos con una dirección IP de un destino de montaje en una zona de disponibilidad diferente a la del cliente (Amazon Elastic Compute Cloud [Amazon EC2]). Al hacerlo, tenga en cuenta factores como los cargos por transferencia de datos entre zonas de disponibilidad y la latencia.

Montaje de EFS en el lanzamiento de instancias mediante el asistente de lanzamiento

Al lanzar instancias de EC2, puede usar el asistente de lanzamiento para agregar datos de usuario automáticamente para el montaje de EFS.

1.    Abra la consola de EC2.

2.    Luego, seleccione Launch instances (Lanzar instancias).

3.    Seleccione una AMI y un tipo de instancia y, a continuación, seleccione Next: Configure Instance Details (Siguiente: Configurar detalles de la instancia).

4.    Configure varios parámetros según sus requisitos. Asegúrese de seleccionar la VPC y la subred necesarias para el montaje del sistema de archivos de EFS.

5.    En la página Configure instance (Configurar instancia), en File systems (Sistemas de archivos), elija el sistema de archivos de EFS que desee montar. La ruta que se muestra a continuación del ID del sistema de archivos es el punto de montaje que utilizará la instancia de EC2. Si es necesario, puede cambiar esta ruta. Los datos de usuario se generan automáticamente para montar EFS en la sección Advanced details (Detalles avanzados):

#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;>

De forma alternativa, realice lo siguiente:

Para montar EFS en una AMI personalizada o con opciones específicas, agregue datos de usuario personalizados con los comandos necesarios en la sección Advanced details (Detalles avanzados). Para obtener más información, consulte Ejecutar comandos en la instancia de Linux durante el lanzamiento.

Distribuciones basadas en RHEL y CentOS

#!/bin/bash
sudo mkdir -p /mnt/efs
sudo yum -y install nfs-utils

Distribuciones basadas en Ubuntu

#!/bin/bash
sudo mkdir -p /mnt/efs
sudo apt install nfs-common
sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-ip:/  /mnt/efs

6.    Lance la instancia.

Montaje local de EFS

Para montar EFS en los servidores locales, debe haber conectividad entre EFS y los servidores locales. Puede usar AWS Direct Connect y VPN para establecer esta conectividad.

Después de establecer la conectividad entre el servidor local y la VPC de EFS, ejecute los siguientes comandos para instalar el cliente NFS y montar EFS:

$ 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

¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?