miércoles, 10 de febrero de 2021

Presentar un nuevo volumen a una EC2 Linux



Cómo presentar un nuevo disco o volumen a una EC2 Linux.



La situación es la siguiente: tenemos una instancia (o máquina virtual) Linux en AWS y queremos presentarle un nuevo disco o volumen EBS para montarlo en una carpeta y almacenar ficheros en él.

Primero de todo, creamos un nuevo volumen en la consola de AWS con el tamaño que necesitemos (luego se puede ampliar) y lo adjuntamos a la instancia EC2 en cuestión.

Lo podemos ver ahora en la instancia ejecutando el comando lsblk como xvdb:

HOST# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 300G 0 disk ├─xvda1 202:1 0 2M 0 part ├─xvda2 202:2 0 20M 0 part /boot/efi └─xvda3 202:3 0 300G 0 part / xvdb 202:16 0 1.5T 0 disk

A continuación, formateamos el volumen. En este caso, lo he formateado a XFS:

HOST# mkfs -t xfs /dev/xvdb meta-data=/dev/xvdb isize=512 agcount=4, agsize=98304000 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=0, rmapbt=0 = reflink=0 data = bsize=4096 blocks=393216000, imaxpct=5 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=192000, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0

En este punto, ya podemos crear el directorio donde se montará el disco (/oradata):

HOST# mkdir /oradata

Monto el disco sobre la carpeta:

HOST# mount /dev/xvdb /oradata

Compruebo que el disco esté montado sobre el directorio en cuestión mediante df:

HOST# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 16G 4.0K 16G 1% /dev tmpfs 16G 0 16G 0% /dev/shm tmpfs 16G 353M 16G 3% /run tmpfs 16G 0 16G 0% /sys/fs/cgroup /dev/xvda3 300G 57G 244G 19% / /dev/xvda2 20M 142K 20M 1% /boot/efi tmpfs 3.2G 0 3.2G 0% /run/user/1000 /dev/xvdb 1.5T 1.6G 1.5T 1% /oradata

Se observa que /dev/xvdb está montado sobre /oradata.

Llegados aquí, toca hacer que el montaje sea persistente. Para ello, miramos el ID del volumen con blkid:

HOST# blkid /dev/xvda1: PARTLABEL="p.legacy" PARTUUID="73cfc22b-6651-4fa1-9cee-04818d0607be" /dev/xvda2: SEC_TYPE="msdos" LABEL_FATBOOT="EFI" LABEL="EFI" UUID="564C-A498" TYPE="vfat" PARTLABEL="p.UEFI" PARTUUID="2d0407cf-5df1-4ff4-9c7f-5796c942fd32" /dev/xvda3: LABEL="ROOT" UUID="15991bdf-394d-4e90-b988-5061b112debe" TYPE="xfs" PARTLABEL="p.lxroot" PARTUUID="0e94321a-99d8-4a89-8b3e-ee0ffaad835c" /dev/xvdb: UUID="3a21705d-ad34-4ce2-94ab-9df6edcc727d" TYPE="xfs"

Vemos el ID de xvdb en la última línea.

Ahora, modifico el archivo /etc/fstab para que el volumen se monte automáticamente tras un reinicio:

HOST# vi /etc/fstab

El archivo /etc/fstab queda así:

LABEL=ROOT / xfs defaults 0 0 LABEL=EFI /boot/efi vfat defaults 0 0 UUID="3a21705d-ad34-4ce2-94ab-9df6edcc727d" /oradata xfs defaults 0 0

Por último, podemos probar a desmontar /oradata y montarlo automáticamente siguiendo los puntos de montaje presentes en /etc/fstab para emular el comportamiento tras un reinicio de la instancia:

HOST# umount /oradata

Ahora monto todas las particiones automáticamente:

HOST# mount -a

Y compruebo que el disco esté montado usando df:

HOST# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 16G 4.0K 16G 1% /dev tmpfs 16G 0 16G 0% /dev/shm tmpfs 16G 353M 16G 3% /run tmpfs 16G 0 16G 0% /sys/fs/cgroup /dev/xvda3 300G 57G 244G 19% / /dev/xvda2 20M 142K 20M 1% /boot/efi tmpfs 3.2G 0 3.2G 0% /run/user/1000 /dev/xvdb 1.5T 1.6G 1.5T 1% /oradata


Fuentes:

https://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/ebs-using-volumes.html
0

0 comentarios:

Publicar un comentario