Incrementar tamaño de disco en RHEL.

En mi trabajo hay ocasiones en las que los usuarios quieren más espacio en disco del que habían planificado. Afortunadamente la mayoría de la infraestructura es virtual y que por default la instalación de todo RHEL debe considerar grupos de volúmenes y volúmenes lógicos.
Cuando llegué a BCH esto de los VG, LV y PV eran chino. En Windows se usan discos dinámicos y particiones y nada más.
Además eso de tener que darle algo más grande solo porque no pensaron bien saca lo peor de mi malgenio pero bueno … es lo que hay!.

eDcvmmo

Como hoy amanecí generoso y amable  compartiré esto: Un verdadero manual a prueba de tontos.

Lo primero,  la estructura LVM tiene 3 elementos:

  •  Volume Group: Se compone de uno o más discos físicos (es como un array RAID) y contiene más de un volumen lógico. Sus comandos comienzan con vg*

  • Logical Volume : Es una partición dentro de un VG. Equivale a un disco dentro de una partición, se puede formatear, expandir, comprimir, eliminar, etc. Sus comandos comienzan con lv*

  • Phisical Volume: Se compone de uno más discos físicos. No es lo mismo que un LV. Sus comandos comienzan con pv*

Lo primero es generar el disco virtual, si el hypervisor es VMWare basta con agregar el disco en caliente y luego permitir que el sistema operativo detecte el nuevo disco, para ello se ejecuta el comando:
ls /sys/class/scsi_host

0

 

Si es Hyper-V no hay mucho que hacer, solo apagar la máquina virtual y agregar el nuevo disco para que sea reconocido. En ambos casos se llega al mismo resultado, un nuevo disco presentado. Para ver el nuevo disco basta con ejecutar el comando: lvmdiskscan

2
 

 

 

 

 

 

 

 

 

 
Ahí aparece nuestro nuevo disco, identificado como /dev/sdb.
Ya tenemos el disco, pero ahora viene la pregunta de rigor … tenemos un Volume Group?, la única forma de saberlo es ejecutando el comando vgs

1

 

 

 

Ahí aparece nuestro VG, se llama VolGroup00

Ya tenemos el PV, tenemos el VG … ahora solo falta hacer magia y permitir extender el Volume Group con el nuevo disco, para ello se usa el comando vgextend VolGroup00 /dev/sdb (sintaxis: vgextend nombre_vg ruta_disco)

3

 

 

 

 

Para validar (y no quedar como huevón) se ejecuta el comando lvs y validar el nuevo tamaño.

4

 

 

 

 

 

No aparece?? (no, no ha quedado como huevón) no importa, es normal 😉 … falta extender el LogicalVolume que vamos a extender … pero como mierda sabremos cual es?? Simple! con un simple df -Th

5

 

 

 

 

 
Ahora si! tenemos el PV, el VG y el LV . Si quiero expandir el file system de /Oracle entonces debo hacer referencia al LV como LogVol00
Entonces, ahora, a extender ese /Oracle !!. Como?, con:
lvextend -L10240M /dev/VolGroup00/LogVol00
6

 

 

 
Pero da error!! . Si, en VMWare es normal que pueda generar un error, ya que los discos se manejan como Lazy Zeroed. Si hubiesen sido creados como Thick Provision o Thin Provision o si la máquina está alojada en un Hyper-V no daría este error y entonces podrias saltar al paso siguiente … pero como tenemos este pequeño detallito, vamos a resolverlo a lo macho: Se le dice a lvextend que usaremos el tamaño de inodos en vez del tamaño en Mb o Gb.

7

 

 

 
Ve la diferencia? se reemplazó la opción L a l y se agregó, mediante un signo más, el tamaño solicitado.

Ahora que ya tienes el tamaño asignado faltan dos pasos más y estamos listos.
Redimensionar el FS /Oracle, para que tome su nuevo tamaño. Esto se hace con resize2fs /dev/VolGroup00/LogVol00 (sintaxis : resize2fs /dev/Nombre_VG/Nombre_LV)

8

 

 

 

 


Y listo! Ya esta expandido el VolGroup00. Puedes comprobarlo con el simple pero efectivo df -Th

 (que? esperabas la fotito con el nuevo tamaño?? .|. )

TIP : Y que pasa cuando encontramos un vejestorio con RHEL 5.6??

Bueno, en estos casos se modifica el lvextend dejando la siguiente configuración:
lvextend -l +100%FREE /dev/VolumeGroup/LogicalVolume

2 opiniones en “Incrementar tamaño de disco en RHEL.”

  1. Estimado Francisco,
    Muy bueno el tutorial
    No tiene por casualidad unos tutoriales de cluster de windows, donde trabajo necesito reconfigurar uno.
    Saludos,

    1. Carlos.
      Tengo la experiencia pero no el tiempo para hacer un tutorial de clúster services.
      Pero la cosa es fácil:
      Destruye el cluster con problemas.
      Genera un nuevo clúster, indicando los nodos, roles a balancear, donde va a estar el quorum y listo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *