Una de las muchas ventajas de tener servidores virtuales es la de poder ampliar nuestros filesystem fácilmente, aunque no siempre podemos hacerlo, todo dependerá del sistema operativo que tengamos instalado, del filesystem que queramos ampliar y del tipo que sea. Hoy os voy a explicar como ampliar el filesystem raíz de una VM linux (Centos 6.5) de tipo LVM, aunque no tiene porque ser necesario un servidor virtual, ya que también se podría realizar en uno físico.
Para entender un poco por encima como funciona LVM, debemos entenderlo como un grupo de particiones físicas agrupadas entre si para formar un volumen lógico.
En el siguiente esquema podemos apreciar un ejemplo de como 3 particiones conforman el /home.

Vamos a comenzar comprobando en nuestro sistema el espacio que disponemos en nuestro sistema de ficheros, para ello vamos a usar el comando df. Como podemos observar el / de nuestro sistema esta montado sobre el grupo de volúmenes lógicos vg_dbigcloud01 y contiene el volumen lógico LogVol00 con un espacio de 15gb.
Ahora con el comando fdisk vamos a identificar todas las particiones que tenemos
Si somos observadores podremos apreciar que únicamente disponemos un disco que es sda, el cual tiene 3 particiones, ahora vamos a añadir un nuevo disco a nuestra VM de 15gb.
OJO a partir de aquí realizar un snapshot de la VM ya que cualquier paso que no se realice correctamente podemos quedarnos sin VM.
Una vez añadido el disco si realizamos un fdisk -l, veremos que si sin aparecernos, esto es porque el kernel aun no sabe que se ha añadido un nuevo disco, para que nuestro sistema re-escanee los dispositivos iscsi vamos a realizar lo siguiente:
grep mpt /sys/class/scsi_host/host?/proc_name
obteniendo:
/sys/class/scsi_host/host2/proc_name:mptspi
ahora ejecutamos el siguiente comando:
echo "- - -" > /sys/class/scsi_host/host2/scan
y listo ya al realizar el fdisk -l nos detecta el disco /dev/sdb.
Ahora es el comienzo de particionar nuestro disco, para ello ejecutamos fdisk /dev/sdb y nos mostrar un mensaje indicando que nuestro disco no tiene una tabla de particiones valida.
vamos a crear una nueva partición pulsando en la tecla n y luego intro, posteriormente se nos solicite que indiquemos el tipo de partición para ello pulsamos la p de primaria y el numero de la partición que al ser un nuevo disco sera la 1.
Lo siguiente que se nos pedirá, es desde donde hasta donde queremos crear la partición, por defecto nos habla de cilindros (Si queremos podemos usar Mb o Gb), como vamos a usar todo el disco entero para crear la partición dejamos los valores que aparecen por defecto pulsando intro.
Ahora tenemos que indicar el tipo de partición, para ello pulsamos la tecla t y nos pedirá el código del tiempo de partición, si pulsamos la tecla L nos aparecerá el listado completo, como nosotros vamos a usar LVM podemos escribir directamente 8e y pulsamos intro, por ultimo pulsamos la w para escribir los cambios en la tabla de particiones.
Después de esto realizando un fdisk -l comprobamos que tenemos una nueva partición de tipo LVM /dev/sdb1
Ahora vamos a trabajar con LVM, para ello vamos a crear un volumen físico con nuestra partición para posteriormente asignarlo añadirlo volumen lógico.
pvcreate /dev/sdb1
ahora necesitamos conocer el nombre del grupo de volúmenes, para ello ejecutamos el comando vgdisplay.
Una vez localizado el grupo, vamos a extenderlo con el volumen creado.
vgextend vg_dbigcloud01 /dev/sdb1
Ya solo nos queda extender el volumen lógico que usamos para el / , primero necesitamos conocer el path de dicho volumen, que podemos comprobarlo ejecutando lvscan
una vez ya conocemos el path del volumen, lo extendemos:
lvextend /dev/vg_dbigcloud01/LogVol00 /dev/sdb1
Como veis en el volumen lógico aparece ya la cantidad con la suma de las dos particiones, pero aun no hemos acabado, si haces un df veréis que aun sigue apareciendo el tamaño del principio y esto es porque hay que incrementar el tamaño del volumen, para ello ejecutamos lo siguiente:
resize2fs /dev/vg_dbigcloud01/LogVol00
OJO, dependiendo del tamaño de los volúmenes esta operación puede tardar mas o menos.
Y ya disponemos de nuestro sistema / ampliado.
Como veis el proceso puede parecer algo lioso, pero cuando tengáis que realizarlo un par de veces veréis como os resulta sencillo.
Quizás te interese las siguientes entradas sobre Linux:
- AWS - Deshacer actualizaciones de paquetes en Amazon Linux
- Configurar syslog en Linux para dividir los log por criticidad
- Realizando migraciónes parciales con rsync en Linux
- Realizando peticiones soap a un web service con curl en bash
- Usa tus propios scripts a través de SNMP en Linux
- Eliminado ficheros en linux comprendidos entre dos fechas
- Configurar bonding de interfaces de red en linux
- Como crear una relación de confianza entre dos servidores Linux
- Ampliar un filesystem con LVM de un Servidor Virtual Linux
Compártelo:
Comentarios