Como ampliar un sistema de ficheros ext3 en caliente con LVM
Desde la versión 1.36 de e2fsprogs es posible ampliar sistemas de ficheros ext2 y ext3 sin desmontar el sistema. En el caso de RedHat Enterprise Linux (y CentOS) esto es possible desde la versión 5.
Supongamos que queremos ampliar este sistema de ficheros ext3:
/dev/mapper/anf14-postgres on /var/postgres/data type ext3 (rw,noatime)
Primero añadimos un disco nuevo al Volume Group, para añadir espacio:
# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created
Seguimos extendiendo el volume group:
# vgextend anf14 /dev/sdb1 Volume group "anf14" successfully extended
A continuación con vgdisplay podemos ver los extends que nos quedan libres mediante la linea “Free PE“:
# vgdisplay --- Volume group --- VG Name anf14 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 2 Act PV 2 VG Size 1.99 GB PE Size 4.00 MB Total PE 510 Alloc PE / Size 255 / 1020.00 MB Free PE / Size 255 / 1020.00 MB VG UUID Yf29xZ-0nGU-jPiO-O3aD-n31L-D112-AspFYY
En este caso quedan libres 255, por lo que si añadirlos todos podemos hacerlo especificando el numero:
# lvextend -l +255 /dev/anf14/postgres Extending logical volume postgres to 1.99 GB Logical volume postgres successfully resized
O bien indicando que queremos añadir el 100% de los extends libres:
# lvextend -l +100%free /dev/anf14/postgres Extending logical volume postgres to 1.99 GB Logical volume postgres successfully resized
En cualquiera de los dos comandos, es importante el símbolo de suma (+), que es el que indica añadir, sino lo que indicamos es el tamaño final. A continuación ya solo nos queda ampliar el sistema de ficheros:
# resize2fs /dev/anf14/postgres resize2fs 1.39 (29-May-2006) Filesystem at /dev/anf14/postgres is mounted on /var/postgres/data; on-line resizing required Performing an on-line resize of /dev/anf14/postgres to 522240 (4k) blocks. The filesystem on /dev/anf14/postgres is now 522240 blocks long.
Por lo que ya tendremos el sistema de ficheros ampliado si cortar el servicio, en este caso de una base de datos PostgreSQL.
En el caso que en lugar de ampliar necesitemos reducir, deberemos desmontar el sistemas de ficheros.
9. January 2009 at 1:15 am :
en RHEL4 también se puede, únicamente cambiar resize2fs por ext2online 🙂
9. January 2009 at 9:21 am :
Interesante 🙂 siempre me había tocado las narices que en RHEL4 la versión fuera la 1.35 en lugar de la 1.36
¿ Sabes porque hay dos utilidades que hacen lo mismo ? Por lo que veo la resize2fs es la de Teo Ts’o (maintainer de e2fsprogs) mientras que ext2online es de un tal Andreas Dilger de la empresa de Lustre (ahora Sun)