Es común que los administradores de servidores necesiten expandir el tamaño de las particiones cuando estas se llenan. Aunque la limpieza de datos innecesarios es una práctica recomendada, a menudo existen situaciones donde la única solución viable es aumentar la capacidad de la partición.
En los sistemas Linux existe el Linux Volumen Manager (LVM), el cual permite realizar la ampliación de la partición en "caliente" es decir sin tener que desmontarla, con todos los servicios en línea.
En este artículo te mostraré como es el proceso de aumentar el tamaño de una partición. Vamos a suponer algunas cosas:
- La partición que se ha llenado corresponde a /var,
- Esta partición ya se encuentra creada sobre un VL (volumen lógico) llamado lv_var,
- lv_var pertenece al Volumen Group vg_raiz,
- el filesystem de /var es ext4
Ahora veamos el proceso:
a. Generación del Physical Volumen
Lo primero a realizar es la creación del PV, el cual asociamos a un disco duro nuevo o bien a una partición de éste que no ha sido utilizada. Dejo para otro artículo la forma de reconocer discos nuevos dentro del sistema operativo, en el caso que no lo haga el sistema operativo automáticamente.
Supongamos que montamos un disco en nuestro servidor, y que el sistema operativo lo identifica como /dev/sdd. Para crear una PV a partir de éste disco, utilizamos el comando:
$ pvcreate /dev/sddEl nuevo PV tendrá como nombre /dev/sdd,.
Supongamos ahora que utilizamos una partición disponible en uno de los discos ya creados, por ejemplo /dev/sdc4. En este caso el PV se creará con el comando:
$ pvcreate /dev/sdc4Como en el caso anterior, el nuevo pv se llamará /dev/sdc4
b. Asignación del pv a un volumen group
El siguiente paso es asignar nuestro revientemente creado pv a un volumen group. Como estamos ampliando una partición debemos asignar el pv al vg en donde se encuentre el lv a extender, en nuestro caso corresponde a vg_raiz. El comando para asignar los pv corresponde a vgextend.
$ vgextend vg_raiz /dev/sddc. Extender el Logical Volumen
Ahora vamos a extender el lvm lv_var, con el espacio del nuevo disco. Como queremos darle todo el espacio disponible, usaremos el comando lvextend con el siguiente formato:
$ lvextend -l +100%FREE /dev/vg_raiz/lv_varEl comando indica que se utilizará el 100% del espacio libre disponible en el vg_raiz para extender el lv_var.
Normalmente, el volumen group es indicado con el path completo. En los sistemas redhat, por ejemplo se llaman /dev/mapper/vg_raiz__lv_var-
Hay otras variantes de lvextend que pueden ser vistas en la guia.
d. Extender el sistema de archivos
Ahora que ya tenemos una partición más grande para el var, debemos expandir el sistema de archivos para utilizarla completamente. El comando que se utiliza depende del sistema de archivos, en nuestro caso ext4 hace uso de resize2fs
$ resizefs /dev/vg_raiz/lv_varSe recomienda validar el sistema de archivos con el comando fsck /dev/vg_raiz/lv_var.
Al termina exitosamente, podremos ver que el sistema de archivo /var habrá crecido en el tamaño del nuevo disco. Esto lo podemos comprobar con el comando
$ df -hBien, así de simple es ampliar una partición en linux. Claro que hemos supuesto que ya estabamos utilizando LVM en la respectiva partición.
En otras publicaciones veremos como realizar otras operaciones interesantes sobre LVM.
No hay comentarios:
Publicar un comentario