Uso de NFS para la transferencia de datos sin conexión - Guía para desarrolladores de AWS Snowball Edge

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de NFS para la transferencia de datos sin conexión

El dispositivo Snow Family contiene una interfaz de archivos que proporciona acceso al almacenamiento interno del dispositivo. Para importar los datos sin conexión a Amazon S3 con el dispositivo Snow Family, conecta el dispositivo a la red local y, a continuación, usaAWS OpsHubpara desbloquearlo. Puede copiar datos de dispositivos de almacenamiento locales al dispositivo Snow Family a través de la interfaz de archivos NFS.

Después de copiar los datos en el dispositivo Snow Family, la etiqueta de envío de tinta electrónica se actualizará para asegurarse de que el dispositivo se envía automáticamente al correctoAWSinstalación. Puede rastrear el dispositivo Snow Family utilizando mensajes de texto o correos electrónicos generados por Amazon SNS y la consola. Para obtener más información sobre AWS OpsHub, consulte Uso de AWS OpsHub for Snow Family para administrar dispositivos.

nota

Los nombres de archivo son claves de objeto del depósito S3 local del dispositivo Snow Family. El nombre clave es una secuencia de caracteres Unicode cuya codificación UTF-8 tiene una longitud máxima de 1024 bytes. Recomendamos utilizar NFSv4.1 siempre que sea posible y codificar nombres de archivo con Unicode UTF-8 para garantizar una importación de datos correcta. Es posible que los nombres de archivo que no estén codificados con UTF-8 no se carguen en S3 o se carguen en S3 con un nombre de archivo diferente según la codificación NFS que utilice.

Asegúrese de que la longitud máxima de la ruta de archivo sea inferior a 1024 caracteres. Los dispositivos Snow Family no admiten rutas de archivos superiores a 1024 caracteres. Si se supera la longitud de esta ruta de archivo, se producirán errores de importación de archivos.

Para obtener más información, consulteClaves de objetosen laAmazon Simple Storage Service.

Puede transferir hasta 8 TB con un único dispositivo Snowcone y transferir conjuntos de datos más grandes con varios dispositivos, ya sea en parallel o secuencialmente. Por ejemplo, puede transferir 24 TB de datos con tres dispositivos Snowcone. Para trabajos de transferencia de datos más grandes, puede utilizar el dispositivo Snowball Edge Storage Optimized. Puede transferir hasta 80 TB con un único dispositivo Snowball Edge Storage Optimized y transferir conjuntos de datos más grandes con varios dispositivos, ya sea en parallel o secuencialmente.

nota
  • Solo puedes transferir hasta 40 millones de archivos utilizando un solo dispositivo Snow Family. Si necesita transferir más de 40 millones de archivos en un solo trabajo, por lotes de los archivos para reducir el número de archivos por cada transferencia. Los archivos individuales pueden ser de cualquier tamaño y el tamaño máximo de archivo puede ser de hasta 5 TB. No es una limitación de nieve, sino una limitación de S3. S3 limita el tamaño del archivo a un máximo de 5 TB.

  • Puede proporcionar bloques de CIDR para rangos de IP que puedan montar los recursos compartidos NFS expuestos por el dispositivo. Por ejemplo, 10.0.0.0/16. Si no proporciona bloques de CIDR permitidos, se denegarán todas las solicitudes de montaje. Para obtener más información, consulte .Restricción del acceso a los recursos compartidos de NFS cuando NFS se está ejecutando.

  • Para las transferencias basadas en NFS, los metadatos de estilo POSIX estándar se añadirán a los objetos a medida que se importan a Amazon S3 desde Snowball Edge. Además, verá los metadatos «x-amz-meta-user-agent aws-datasync» tal como usamos actualmenteAWS DataSynccomo parte del mecanismo de importación interno a Amazon S3 para la importación de Snowball Edge con la opción NFS.

Configuración de NFS para Snowball Edge

NFS es omnipresente (existe o está en todas partes al mismo tiempo). Cada portátil, estación de trabajo y servidor tiene una conexión IP y cada sistema operativo moderno tiene un cliente NFS integrado. Los sistemas de almacenamiento de objetos suelen utilizar la API de Amazon S3, que es menos ubicua que NFS, especialmente en el centro de datos privado. Amazon S3 no admite NFS. Por lo tanto, antes de solicitar el SBE, debe decidir utilizar la interfaz S3 o la interfaz NFS. Si elige la interfaz NFS, monte el bucket NFS de SBE como volumen.

Requisito previo

  • 2 Direcciones IP:

    • Uno para la interfaz de red física para activar SBE (por ejemplo, 192.168.0.9)

    • El segundo para la interfaz de red virtual para montar SBE (por ejemplo, 192.168.0.10)

  • Estación de trabajo

Cómo configurar Snowball Edge

confirmar que el servicio NFS está activo

snowballEdge describe-service --service-id nfs --profile sbe1 { "ServiceId" : "nfs", "Status" : { "State" : "ACTIVE" } }

Si el estado está activo, puede montar el volumen SBE; de lo contrario, tendrá que reiniciar el servicio o crear una interfaz de red virtual

Crear una interfaz de red virtual e iniciar el servicio NFS

Compruebe si ya existe una interfaz de red virtual

$ snowballEdge describe-virtual-network-interface --profile sbe1

Identificar ID de interfaz física

$ snowballEdge describe-device --profile sbe1

Cree una interfaz de red virtual e identifique v-nic arn

$ snowballEdge create-virtual-network-interface \ --physical-network-interface-id s.ni-abcd1234 \ --ip-address-assignment STATIC \ --static-ip-address-configuration IpAddress=192.168.0.10,Netmask=255.255.255.0 --profile sbe1

Iniciar servicio NFS

$ snowballEdge start-service --virtual-network-interface-arns arn:aws:snowball-device:::interface/s.ni-8712e3a5cb180e65d --service-id nfs --service-configuration AllowedHosts=0.0.0.0/0 —profile sbe1

comprobar el estado del servicio

$ snowballEdge describe-service --service-id nfs --profile sbe1 { "ServiceId" : "nfs", "Status" : { "State" : "ACTIVE" }, "Endpoints" : [ { "Protocol" : "nfs", "Port" : 2049, "Host" : "192.168.0.10" } ], "ServiceConfiguration" : { "AllowedHosts" : [ "192.168.0.6/32", "11.160.2.156/32", "192.168.0.10/32" ] } }

Montar SBE

En la estación de trabajo, puede montar el volumen SBE, que es el nombre del bucket del almacenamiento NFS.

$ sudo mkdir /mnt/local $ sudo mount -t nfs 192.168.0.10:/buckets/your-nfs-bucket-name /mnt/local

Después de montar el volumen SBE, puede comprobar el tamaño del volumen con el comando «df».

$ df -h* */mnt/local Filesystem Size Used Avail Use% Mounted on 192.168.0.10 80TB 20G 79TB 1% /mnt/local
nota

Solución de problemas de NFS

A continuación se indican errores que podría surgir al usar NFS en dispositivos Snow Family.

Recibo un mensaje de error DESACTIVADO

Recibirá este mensaje si apaga el dispositivo Snow Family sin detener primero el servicio NFS. La próxima vez que inicie NFS, podría fallar con un mensaje de error DESACTIVADO.

Por ejemplo: Iniciar el servicio en su Snowball Edge.

snowballEdge start-service --service-id nfs --virtual-network-interface-arns arn:aws:snowball-device:::interface/s.ni-84991da69040a7xxx

Puede determinar el estado del servicio mediante ladescribe-servicecomando.

snowballEdge describe-service --service-id nfs { "ServiceId" : "nfs", "Status" : { "State" : "DEACTIVATED" } }

Cómo corregir el problema

Para corregir el problema, detenga y reinicie el servicio NFS siguiendo los siguientes pasos.

Paso 1: Usardescribe-servicepara determinar el estado del servicio:

snowballEdge describe-service --service-id nfs { "ServiceId" : "nfs", "Status" : { "State" : "DEACTIVATED" } }

Paso 2: Usarstop-servicepara detener el servicio NFS:

snowballEdge stop-service --service-id nfs --profile 11

Paso 3: Usarstart-servicepara iniciar el servicio NFS normalmente:

snowballEdge start-service --virtual-network-interface-arns arn:aws:snowball-device:::interface/s.ni-8712e3a5cb180e65d --service-id nfs --service-configuration AllowedHosts=0.0.0.0/0 --profile 11

Paso 4: Usardescribe-servicepara asegurarse de que el servicio está ACTIVO:

SnowbalLedge describe-service —service-id nfs

{ "ServiceId" : "nfs", "Status" : { "State" : "ACTIVE" }, "Endpoints" : [ { "Protocol" : "nfs", "Port" : 2049, "Host" : "192.168.0.10" } ], "ServiceConfiguration" : { "AllowedHosts" : [ "192.168.0.6/32", "11.160.2.156/32", "192.168.0.10/32" ] } }