Problemillas del día a día

Descripción de la solución a varios problemas típicos que nos ocurren a diario al trabajar linux.

Ignacio Barrancos Martínez
23/Marzo/2007

1. Introducción

A diario, los técnicos de sistemas que tenemos que trabajar con Linux nos encontramos problemillas que como podemos vamos solucionando, y nunca se documentan porque son parte del día a día y lo asumimos como tal. En este documento he ido colocando esas cosillas que nos suceden a diario y que nunca terminan por documentarse, y que por tanto, siempre debemos andar reinventando y redescrubiendo, y al final nos obligan a perder el mismo tiempo muchas veces.

2. Trabajando con LVM2

LVM viene de Logical Volume Manager, y nos permite gestionar almacenamiento a lo bruto, de forma dinámica de la misma manera que se hacía en HP-UX y lo hacen los discos dinámicos de Windows. No voy a disertar sobre esto, en http://tldp.org/HOWTO/LVM-HOWTO/ está mucho mejor explicado todo. La chicha del asunto está en el capítulo 11: Common Tasks.

2.1. Ampliar volúmenes físicos: Dar más disco a VG_Sistema

En máquinas virtuales suele pasar que necesitamos agregar un nuevo volumen VMware de almacenamiento, porque las plantillas quedan escuetas en cuanto al almacenamiento. También en los Blades a veces se necesita disponer del espacio sin particionar en los discos locales, para adjuntarlo al volumen físico y hacer crecer alguno de los volúmenes lógicos.

  • Añada el nuevo dispositivo. Si es una máquina virtual párela y agregue el nuevo volumen. Luego cree la partición (con tipo 8e) y si está disponible, ejecute partprobe (para no tener que reiniciar, y releer la tabla de particiones).

    Para ilustrar el ejemplo, supondremos que estamos añadiendo /dev/sdb, sobre el que hemos definido una nueva partición /dev/sdb1.

  • Preparar la partición y añadir a VG_Sistema mediante ...

    pvcreate /dev/sdb1
    vgextend VG_Sistema /dev/sdb1

Podría ser de utilidad mirar http://kbase.redhat.com/faq/FAQ_79_3744.shtm.

2.1.1. Kernel panics al reiniciar el equipo con RH4, y haber ejecutado fdisk

En algunos casos, al ejecutar fdisk para crear la nueva partición, y darnos el aviso de que debemos rebotar para que se refresque la tabla de particiones, obedientemente lo hacemos y al reiniciar nos genera un kernel panic, que nos dice que no encuentra el VG_Sistema, por no sabemos qué rollo del UUID: no tenemos que reiniciar.

Pantallazo con el panic en el arranque
Figura 1: Pantallazo con el panic en el arranque

Tras salir de fdisk, debemos ejecutar partprobe para que se refresque la tabla de particiones del disco, sin rebotar. Luego es necesario ejecutar vgscan, y ejecutar después pvcreate. Si al ejecutarlo se tienen errores de que no encuentra el volumen VG_Sistema, vuelva a ejecutar vgscan. Una vez no se obtengan errores, ejecute el vgextend, y ya podrá reiniciar.

Si se genera el error tendrá que reiniciar el equipo con la iso del primer CD de RedHat, y cuando le pregunte si quiere instalar, escriba linux rescue y luego pulse enter. Siga las instrucciones y deshaga la partición que creó. Luego reinicie.

Encontrará ISOS de RedHat 3 y RedHat 4 en la unidad D: de Trapo dentro del directorio D:Rescate-redhat. Es importante que si el equipo es RedHat4 arranque con el CD de RedHat4, y si es RH3 con el de RH3, por la versión de LVM que usa cada uno.

2.2. Ampliar volúmenes lógicos: dar más disco a un LV_XXXX y redimensionado del filesystem

Cuando trabajamos con volúmenes lógicos es habitual que se nos llene alguna de las particiones que tenemos montada sobre un volúmen lógico. Una vez se tiene de un volúmen físico con espacio suficiente, que podremos comprobar ejecutando vgdisplay y fijarnos en el campo Free PE / Size, deberemos asignarle espacio al volumen lógico que queremos ampliar, que es lo que haremos a continuación: Si no se tuviera espacio en el volumen físico, tendrá que ampliar el famoso VG_Sistema, explicado líneas antes.

Para ampliar el volumen lógico, ejecute...

  1. Extienda el volúmen mediante:

    lvextend -L+XXXG /dev/VG_Sistema/LV_YYY

    ...donde XXX son la cantidad de GigaBytes que quiere extenderlo, y LV_YYY es el nombre del volumen lógico que desea extender.

  2. Extienda el sistema de archivos. Si está usando RedHat3 o inferior deberá hacerlo en frío, desmontando la partición o si se trata de /, /usr, /var o similar reiniciando en modo single. Si fuera sin reinicio, podría ejecutar:

    lsof | grep opt | awk '{print $2}' | xargs kill -9
    umount /opt
    e2fsck -f /dev/VG_Sistema/LV_Opt
    resize2fs /dev/VG_Sistema/LV_Opt
    mount /opt

    ...imaginado que se quiere redimensionar /opt. Si está en RedHat4 podrá hacerlo en caliente sin reinicio, y bastará con que ejecute:

    ext2online /dev/VG_Sistema/LV_Opt


No hay comentarios: