Ya hemos visto como ampliar un volumen en AWS, sin embargo, es posible que necesitemos añadir volumenes a una instancia EC2. Sea para utilizar el tipo de volumen más adecuado a nuestra carga de trabajo o para superar las limitaciones del volumen de arranque. 

Veamos cómo añadir volumenes a una instancia EC2

Tipos de volúmenes en AWS

A grandes rasgos AWS nos ofrece los siguientes tipos de volúmenes:

  • SSD de uso general (gp2), de uso por defecto en la mayoría de las instancias. Con un tamaño entre 1GB y 16TB son adecuados para la mayoría de las cargas de  trabajo con un coste muy económico. Su tasa máxima de transferencia es de 160 MB/s (hasta 10.000 IOPS). Precio aproximado: 0,10$ por GB/mes
  • SSD de IOPS provisionadas (io1),  están diseñados para entornos con un gran número de operaciones E/S, por ejemplo bases de datos. Su tamaño puede variar entre 4GB y 16TB, con una tasa máxima de transferencia de 500 MB/s (hasta 32.000 IOPS). Precio aproximado: 0,125$ por GB/mes + 0,065$ por IOPS/mes
  • HDD con velocidad optimizada (st1), son óptimos para el procesamiento masivo de datos secuenciales, por ejemplo en aplicaciones de Big Data o streaming. Su tamaño puede variar entre 500GB y 16TB, no pueden utilizarse como discos de arranque. Tasa máxima de transferencia 500 MB/s (hasta 500 IOPS). Precio aproximado: 0,045$ por GB/mes
  • Cold HDD (sc1), son similares a los st1, pero están optimizados para datos a los que no se accede con frecuencia. Tasa máxima de transferencia 250 MB/s (hasta 250 IOPS). Precio aproximado: 0,10$ por GB/mes. Precio aproximado: 0,025$ por GB/mes

Elegir el tipo de volumen adecuado, además de mejorar el rendimiento de nuestra instancia, supone un ahorro significativo en los costes mensuales.

Pasos para añadir volumenes a una instancia EC2

1. Crear el volumen

Debemos crear el volumen en la misma que que la instancia a la cual queremos asociarlo. Por tanto, lo primero es determinar la zona

A continuación vamos a Elastic Block Store => Volumes y hacemos click en Create Volume. Se nos abre una ventana donde definiremos los parámetros del nuevo volumen

Seleccionamos el tipo de volumen, su tamaño y la zona donde vamos a crearlo. En el caso de un volumen gt2, indicaremos el número de IOPS que necesitamos. Opcionalmente podemos escoger una imagen (snapshot) o lo dejamos en blanco para crear un disco vacío.

Hacemos click en Create Volume y esperamos a que esté disponible.

2. Asociar el volumen a la instancia

Seleccionamos el volumen recién creado, hacemos click en Action y seleccionamos Attach Volume. Se nos desplegará una lista con las instancias de la misma zona y seleccionamos una de ella.

Solo nos queda hacer click en Attach y esperar a que el volumen esté disponible

3. Conectarnos a la instancia y montar el volumen

Nos conectamos a nuestra instancia y activamos el nuevo disco con las herramientas que nos proporcione el sistema operativo. En nuestro caso, para una instancia Linux, conectamos por ssh y comprobamos el resultado

El comando lsblk nos muestra los discos acociados a la instancia, de los cuales el segundo no está particionado. Podemos hacer una comprobacion adicional con sudo file -s /dev/xvdf. Si el volumen no estuviese vacío (por ejemplo se ha creado a partir de una instantánea) el resultado sería diferente del mostrado en la imagen.

Tomemos nota que el dispositivo se crea como /dev/xvdf, aunque en la consola aparecerá como sdf.

Como el dispositivo está vacio lo formateamos por ejempo con ext4: sudo mkfs -t ext4 /dev/xvdf

Una vez formateado el volumen (o si el volumen no está en blanco), procedemos a montarlo, establecemos los permisos adecuados y comporbamos que todo esté Ok:
sudo mkdir /datos
sudo mount /dev/xvdf /datos

sudo chown -R ubuntu:ubuntu /datos/
df -h

3. Modificar fstab para montar automáticamente el volumen al reiniciar

Si queremos que el nuevo volumen se monte automáticamente con cada reinicio del sistema, debemos añadir una línea al archivo /etc/fstab. Para identificar el volumen utilizaremos el UUID generado al formatearlo, o en su defecto podemos determinarlo mediante  sudo blkid.

En nuestro ejemplo la línea a añadir sería
UUID=c8a79736-4aa6-4000-bfbd-64698a83efea  /datos ext4 defaults,nofail 0 2

Con el comando sudo mount -a, comprobamos que no haya errores en fstab. Debemos subsanar cualquier error antes de reiniciar el sistema o corremos el riesgo que no nos arranque.

Como siempre, una buena medida es realizar una copia del fstab original, para restaurarla si no somos capaces de solucionar los errores.

Si todo ha ido bien, tendremos nuestro nuevo volumen disponible en el próximo reinicio del sistema.

5 1 vote
Valoración del artículo
Suscribir
Notificar de
guest
0 Comentarios
Newest
Oldest Most Voted
Inline Feedbacks
View all comments