Hacer que un volumen de Amazon EBS esté disponible para su uso en Linux - Amazon Elastic Compute Cloud

Hacer que un volumen de Amazon EBS esté disponible para su uso en Linux

Tras adjuntar un volumen Amazon EBS a la instancia, queda expuesto como un dispositivo de bloque. Puede formatear el volumen con cualquier sistema de archivos y, a continuación, montarlo. Tras hacer que el volumen de EBS esté disponible para su uso, puede obtener acceso a él del mismo modo que obtiene acceso a cualquier otro volumen. Cualquier dato grabado en este sistema de archivos se graba en el volumen de EBS y es transparente a las aplicaciones que utilizan este dispositivo.

Puede tomar instantáneas del volumen de EBS con fines de backup o para usarlos como referencia a la hora de crear otro volumen. Para obtener más información, consulte Instantáneas de Amazon EBS.

Si el volumen de EBS que se está preparando para el uso tiene más de 2 TiB, se debe utilizar un esquema de particiones GPT para acceder a todo el volumen. Para obtener más información, consulte Restricciones de tamaño y configuración de un volumen de EBS.

Para volúmenes de una instancia de Windows, obtenga instrucciones en Hacer que el volumen esté disponible para su uso en Windows en la Guía del usuario de Amazon EC2 para instancias de Windows.

Dar formato y montar un volumen asociado

Suponga que tiene una instancia EC2 con un volumen EBS para dispositivo raíz, /dev/xvda y que acaba de asociar un volumen EBS vacío a la instancia utilizando /dev/sdf. Utilice el procedimiento siguiente para hacer que el volumen recién asociado esté disponible para utilizar.

Para dar formato y montar un volumen de EBS en Linux
  1. Conéctese a la instancia mediante SSH. Para obtener más información, consulte Conexión con la instancia de Linux.

  2. El dispositivo podría estar asociado a la instancia con un nombre distinto al que especificó en el mapeo de dispositivos de bloques. Para obtener más información, consulte Nombres de dispositivos en instancias de Linux. Utilice el comando lsblk para ver los dispositivos de disco disponibles y sus puntos de montaje (si procede) para ayudarle a determinar el nombre de dispositivo correcto que debe emplear. El resultado de lsblk elimina el prefijo /dev/ de las rutas completas del dispositivo.

    A continuación se muestra un ejemplo de resultado para una instancia creada en Nitro System, que expone los volúmenes de EBS como dispositivos de bloques NVMe. El dispositivo raíz es /dev/nvme0n1, que tiene dos particiones denominadas nvme0n1p1 y nvme0n1p128. El volumen adjunto es /dev/nvme1n1, que no tiene particiones ni se ha montado aún.

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 10G 0 disk nvme0n1 259:1 0 8G 0 disk -nvme0n1p1 259:2 0 8G 0 part / -nvme0n1p128 259:3 0 1M 0 part

    El siguiente es un resultado de ejemplo para una instancia T2. El dispositivo raíz es /dev/xvda, que tiene una partición denominada xvda1. El volumen adjunto es /dev/xvdf, que no tiene particiones ni se ha montado aún.

    [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk -xvda1 202:1 0 8G 0 part / xvdf 202:80 0 10G 0 disk
  3. Determine si se hay un sistema de archivos en el volumen. Los volúmenes nuevos son dispositivos de bloques sin procesar, por lo que debe crear un sistema de archivos en ellos para poder montarlos y utilizarlos. Los volúmenes que se crearon a partir de instantáneas suelen contar ya con un sistema de archivos; si crea un nuevo sistema de archivos sobre uno existente, se sobrescribirán los datos.

    Utilice uno o ambos de los métodos siguientes para determinar si hay un sistema de archivos en el volumen:

    • Utilice el comando file -s para obtener información sobre un dispositivo específico como, por ejemplo, su tipo de sistema de archivos. Si el resultado solo muestra data, como en el siguiente ejemplo, no hay ningún sistema de archivos en el dispositivo

      [ec2-user ~]$ sudo file -s /dev/xvdf /dev/xvdf: data

      Si el dispositivo tiene un sistema de archivos, el comando muestra información acerca del tipo de sistema de archivos. Por ejemplo, el resultado siguiente muestra un dispositivo raíz con el sistema de archivos XFS.

      [ec2-user ~]$ sudo file -s /dev/xvda1 /dev/xvda1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
    • Utilice el comando lsblk -f para obtener información sobre todos los dispositivos asociados a la instancia.

      [ec2-user ~]$ sudo lsblk -f

      Por ejemplo, el siguiente resultado muestra que hay tres dispositivos asociados a las instancias—nvme1n1, nvme0n1 y nvme2n1. La primera columna enumera los dispositivos y sus particiones. La columna FSTYPE muestra el tipo de sistema de archivos para cada dispositivo. Si la columna está vacía para un dispositivo específico, significa que el dispositivo no tiene un sistema de archivos. En este caso, el dispositivo nvme1n1 y la partición nvme0n1p1 en el dispositivo nvme0n1 se formatean con el sistema de archivos XFS, mientras que el dispositivo nvme2n1 y la partición nvme0n1p128 en el dispositivo nvme0n1 no tiene sistemas de archivos.

      NAME FSTYPE LABEL UUID MOUNTPOINT nvme1n1 xfs 7f939f28-6dcc-4315-8c42-6806080b94dd nvme0n1 ├─nvme0n1p1 xfs / 90e29211-2de8-4967-b0fb-16f51a6e464c / └─nvme0n1p128 nvme2n1

    Si el resultado de estos comandos muestra que no hay ningún sistema de archivos en el dispositivo, debe crear uno.

  4. (Condicional) Si descubrió que existe un sistema de archivos en el dispositivo en el paso anterior, omita este paso. Si tiene un volumen vacío, utilice el comando mkfs -t para crear un sistema de archivos en el volumen.

    aviso

    No utilice este comando si está montando un volumen que ya tiene datos (por ejemplo, un volumen que se creó a partir de una instantánea). De lo contrario, formateará el volumen y se eliminarán los datos existentes.

    [ec2-user ~]$ sudo mkfs -t xfs /dev/xvdf

    Si recibe un error que indica que no se encuentra mkfs.xfs, utilice el comando siguiente para instalar las herramientas XFS y, a continuación, repita el comando anterior:

    [ec2-user ~]$ sudo yum install xfsprogs
  5. Utilice el comando mkdir para crear un directorio para el punto de montaje del volumen. El punto de montaje es el lugar en el que se ubica el volumen en el árbol del sistema de archivos y donde se leen y escriben los archivos después de montar el volumen. El siguiente ejemplo crea un directorio denominado /data.

    [ec2-user ~]$ sudo mkdir /data
  6. Monte el volumen o partición en el directorio del punto de montaje que creó en el paso anterior.

    Si el volumen no tiene particiones, utilice el siguiente comando y especifique el nombre del dispositivo para montar todo el volumen.

    [ec2-user ~]$ sudo mount /dev/xvdf /data

    Si el volumen tiene particiones, utilice el siguiente comando y especifique el nombre de la partición para montar una partición.

    [ec2-user ~]$ sudo mount /dev/xvdf1 /data
  7. Revise los permisos del archivo del montaje del nuevo volumen para asegurarse de que los usuarios y las aplicaciones puedan escribir en el volumen. Para obtener más información sobre los permisos de archivos, consulte File security en The Linux Documentation Project.

  8. El punto de montaje no se preserva automáticamente después de reiniciar la instancia. Para montar automáticamente este volumen de EBS después del reinicio, consulte Montar automáticamente un volumen asociado después del reinicio.

Montar automáticamente un volumen asociado después del reinicio

Para montar un volumen de EBS asociado en cada reinicio del sistema, añada una entrada para el dispositivo en el archivo /etc/fstab.

Puede utilizar el nombre de dispositivo, por ejemplo /dev/xvdf, en /etc/fstab, pero recomendamos utilizar el identificador universal único (UUID) de 128 bits del dispositivo. Los nombres de dispositivo pueden cambiar, pero el UUID persiste durante la vida útil de la partición. Utilizando el UUID, reduce las posibilidades de que el sistema no se pueda arrancar tras una reconfiguración del hardware. Para obtener más información, consulte Identificar el dispositivo EBS.

Montar automáticamente un volumen asociado después del reinicio
  1. (Opcional) Cree una copia de seguridad del archivo /etc/fstab que pueda utilizar si destruye o elimina accidentalmente este archivo al editarlo.

    [ec2-user ~]$ sudo cp /etc/fstab /etc/fstab.orig
  2. Ejecute el comando blkid para encontrar el UUID del dispositivo. Tome nota del UUID del dispositivo que desea montar después del reinicio. Lo necesitará en el siguiente paso.

    Por ejemplo, el siguiente comando muestra que hay dos dispositivos montados en la instancia y muestra los UUID de ambos dispositivos.

    [ec2-user ~]$ sudo blkid /dev/xvda1: LABEL="/" UUID="ca774df7-756d-4261-a3f1-76038323e572" TYPE="xfs" PARTLABEL="Linux" PARTUUID="02dcd367-e87c-4f2e-9a72-a3cf8f299c10" /dev/xvdf: UUID="aebf131c-6957-451e-8d34-ec978d9581ae" TYPE="xfs"

    En Ubuntu 18.04 use el comando lsblk.

    [ec2-user ~]$ sudo lsblk -o +UUID
  3. Abra el archivo /etc/fstab con cualquier editor de texto (como nano o vim).

    [ec2-user ~]$ sudo vim /etc/fstab
  4. Añada la siguiente entrada a /etc/fstab para montar el dispositivo en el punto de montaje especificado. Los campos son el valor UUID devuelto por blkid (o lsblk para Ubuntu 18.04), el punto de montaje, el sistema de archivos y las opciones de montaje del sistema de archivos recomendadas. Para obtener más información acerca de los campos obligatorios, ejecute man fstab para abrir el manual fstab.

    En el siguiente ejemplo, montamos el dispositivo con UUID aebf131c-6957-451e-8d34-ec978d9581ae al punto de montaje /data y usamos el sistema de archivos xfs. También usamos los marcadores defaults y nofail. Especificamos 0 para evitar que el sistema de archivos sea volcado, y especificamos 2 para indicar que es un dispositivo no raíz.

    UUID=aebf131c-6957-451e-8d34-ec978d9581ae /data xfs defaults,nofail 0 2
    nota

    Si en algún momento arranca la instancia sin este volumen asociado (por ejemplo, después de mover el volumen a otra instancia), la opción de montaje nofail permite a la instancia arrancar incluso si hay errores al montar el volumen. Los derivados de Debian, incluidas las versiones de Ubuntu anteriores a la 16.04, también deben añadir la opción de montaje nobootwait.

  5. Para verificar que la entrada funciona, ejecute los siguientes comandos para desmontar el dispositivo y, a continuación, monte todos los sistemas de archivos en /etc/fstab. Si no hay ningún error, el archivo /etc/fstab está correcto y el sistema de archivos se montará automáticamente después de su reinicio.

    [ec2-user ~]$ sudo umount /data [ec2-user ~]$ sudo mount -a

    Si recibe un mensaje de error, solucione los errores en el archivo.

    aviso

    Los errores del archivo /etc/fstab pueden impedir el arranque del sistema. No apague un sistema que presente errores en el archivo /etc/fstab.

    Si no está seguro de cómo corregir errores en /etc/fstab y creó un archivo de copia de seguridad en el primer paso de este procedimiento, puede restaurarlo desde su archivo de copia de seguridad utilizando el comando siguiente.

    [ec2-user ~]$ sudo mv /etc/fstab.orig /etc/fstab