miércoles, 10 de abril de 2019

Añadir disco a clúster IBM Spectrum Scale



Cómo añadir un disco a un clúster de IBM Spectrum Scale en un sistema Linux, paso a paso.



Me encontré recientemente con una base de datos que no arrancaba. Esta base de datos está ubicada en un servidor Linux, así que descartando posibles causas del problema, hice un df -h para ver el procentaje de ocupación de los filesystems del S.O. Fue entonces cuando vi que el filesystem sobre el que reside la base de datos, al que llamaremos "montaje", estaba totalmente lleno (Use%: 100%):

HOST# df -h Filesystem             Size Used Avail Use% Mounted on /dev/sda2               95G  12G   79G  13% / devtmpfs               420G 8.0K  420G   1% /dev tmpfs                  420G  80K  420G   1% /dev/shm tmpfs                  420G  10M  420G   1% /run tmpfs                  420G    0  420G   0% /sys/fs/cgroup /dev/sda1              148M    0  148M   0% /boot/efi /dev/montaje           1.3T 1.3T     0 100% /montaje

Este "montaje" está montado sobre un clúster de IBM Spectrum Scale. Tras ver que no podía liberar espacio en el directorio, decidí añadir un disco al clúster para darle más espacio a /montaje.

Para añadir un disco a un clúster de IBM Spectrum Scale, primero debemos añadir un disco físico o virtual al sistema operativo. Añadí un disco de 1 TB a la máquina virtual y luego miré qué letra se le había asignado al disco a nivel de sistema operativo:

HOST# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0    2:0    1 4K    0 disk sda    8:0    0 128G  0 disk ├─sda1 8:1    0 148M  0 part /boot/efi ├─sda2 8:2    0 95.9G 0 part / └─sda3 8:3    0 32G   0 part [SWAP] sdb    8:16   0 250G  0 disk └─sdb1 8:17   0 250G  0 part sdc    8:32   0 1T    0 disk └─sdc1 8:33   0 1024G 0 part sdd    8:48   0 1T    0 disk sr0    11:0   1 4.1G  0 rom sr1    11:1   1 4.1G  0 rom sr2    11:2   1 8.5M  0 rom

Vi que era el disco "sdd". Me dirigí entonces al directorio /var/mmfs/config y copié el fichero usado en la creación del primer nodo del cluster (NSD server) hacia un nuevo archivo:

HOST# cp disk.list.data.gpfsnode01 disk.list.data.gpfsnode01.new.adddisk

Edité este archivo cambiando los siguientes valores:

device=/dev/sda por device=/dev/sdd
nsd=data01node01 por nsd=data03node01

De modo que el archivo quedó así:

%nsd: device=/dev/sdd nsd=data03node01 servers=gpfsnode01 usage=dataAndMetadata failureGroup=1001 pool=system

Para saber qué nombre usar en el campo "nsd" (para no introducir un nombre que ya estuviese en uso), ejecuté el comando mmlsnsd para listar los Disk Name ya usados en el clúster:

HOST# mmlsnsd File system   Disk name    NSD servers --------------------------------------------------------------------------- montaje       data01node01 gpfsnode01 montaje       data02node01 gpfsnode01

Preparé el disco para ser añadido al clúster con el comando mmcrnsd -F:

HOST# mmcrnsd -F disk.list.data.gpfsnode01.new.adddisk -v yes mmcrnsd: Processing disk sdd

Hecho esto, el disco data03node01 quedó preparado para ser añadido al clúster:

HOST# mmlsnsd File system   Disk name    NSD servers --------------------------------------------------------------------------- montaje       data01node01 gpfsnode01 montaje       data02node01 gpfsnode01 (free disk)   data03node01 gpfsnode01

Por último, añadí el disco al clúster con el comando mmadddisk:

HOST# mmadddisk montaje -F disk.list.data.gpfsnode01.new.adddisk The following disks of montaje will be formatted on node HOST: data03node01: size 1048576 MB Extending Allocation Map Checking Allocation Map for storage pool system Completed adding disks to file system montaje.

Verifiqué que se hubiera añadido el disco al clúster:

HOST# mmlsnsd File system   Disk name    NSD servers --------------------------------------------------------------------------- montaje       data01node01 gpfsnode01 montaje       data02node01 gpfsnode01 montaje       data03node01 gpfsnode01

Con el disco ya añadido al clúster, vi que el espacio total de "montaje" había incrementado en 1 TB. Gracias a esto, el filesystem ya no estaba al 100% de uso:

HOST# df -h Filesystem             Size Used Avail Use% Mounted on /dev/sda2               95G  12G   79G  13% / devtmpfs               420G 8.0K  420G   1% /dev tmpfs                  420G  80K  420G   1% /dev/shm tmpfs                  420G  10M  420G   1% /run tmpfs                  420G    0  420G   0% /sys/fs/cgroup /dev/sda1              148M    0  148M   0% /boot/efi /dev/montaje           2.3T 1.3T     0  50% /montaje

Llegados a este punto, probé a levantar la base de datos y ya arrancó sin problemas.


Fuentes:

https://www.ibm.com/support/knowledgecenter/STXKQY_4.2.0/com.ibm.spectrum.scale.v4r2.adm.doc
https://www.ibm.com/support/knowledgecenter/STXKQY_4.2.0/com.ibm.spectrum.scale.v4r2.adm.doc
0

0 comentarios:

Publicar un comentario