Si realizamos una instalación estándar de CentOS seguramente habremos observado que por defecto se crea una partición root muy pequeña (de 50 GB) y el resto del tamaño del disco se asigna a la partición home. Esto puede ser un problema si deseamos tener más espacio en la partición root por lo que en esta entrada voy a enseñaros como podéis disminuir el tamaño de la partición home para asignárselo a la partición root.
En primer lugar necesitamos conocer la información de la partición por lo que utilizaremos el siguiente comando.
df -hT
Nos aparecerá una pantalla con mucha información aunque lo que realmente nos interesa son los volúmenes de root y home y el tipo.
En este ejemplo vemos que el volumen root se llama /dev/mapper/cl-root y el de home /dev/mapper/cl-home y ambos son del tipo xfs.
S.ficheros Tipo Tamaño Usados Disp Uso% Montado en devtmpfs devtmpfs 3,9G 0 3,9G 0% /dev tmpfs tmpfs 3,9G 0 3,9G 0% /dev/shm tmpfs tmpfs 3,9G 8,9M 3,9G 1% /run tmpfs tmpfs 3,9G 0 3,9G 0% /sys/fs/cgroup /dev/mapper/cl-root xfs 50G 41G 9,5G 82% / /dev/sda1 xfs 1014M 310M 705M 31% /boot /dev/mapper/cl-home xfs 192G 3,4G 188G 2% /home tmpfs tmpfs 783M 0 783M 0% /run/user/0 tmpfs tmpfs 783M 0 783M 0% /run/user/1001
A continuación vamos a respaldar la información de la partición /home
Nos posicionamos en la raíz.
[root@server1 ~]# cd /
Creamos la carpeta home2.
[root@server1 /]# mkdir /home2
Copiamos todo el contenido de home a home2 respetando los permisos de los ficheros y carpetas que contenga.
[root@server1 /]# cp -r -p /home/* /home2
Desmontamos la partición /home
[root@server1 /]# umount /home
Eliminamos el LVM de home.
[root@server1 /]# lvremove /dev/mapper/cl-home Do you really want to remove active logical volume cl/home? [y/n]: y Logical volume "home" successfully removed
Ahora ya tendremos espacio suficiente para extender la partición /root, en mi caso la extenderemos en 140 GB.
[root@server1 /]# lvextend -L 140G /dev/mapper/cl-root Size of logical volume cl/root changed from 50,00 GiB (12800 extents) to 140,00 GiB (35840 extents). Logical volume cl/root successfully resized.
Extendemos el sistema de archivos xfs.
[root@server1 /]# xfs_growfs /dev/mapper/cl-root meta-data=/dev/mapper/cl-root isize=512 agcount=4, agsize=3276800 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=13107200, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=6400, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 13107200 to 36700160
Creamos la partición home con un tamaño de 50 GB.
[root@server1 /]# lvcreate -L 50g -n home cl Logical volume "home" created.
Una vez tenemos la partición le daremos el formato xfs al sistema de ficheros.
[root@server1 /]# mkfs.xfs /dev/mapper/cl-home meta-data=/dev/mapper/cl-home isize=512 agcount=4, agsize=3276800 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=13107200, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=6400, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
Montamos la partición /home.
[root@server1 /]# mount /dev/mapper/cl-home /home
Verificamos que los cambios de tamaño de las particiones se han realizado correctamente.
Podemos observar que la partición root ha pasado de 50 GB a 140 GB y que la partición /home ha pasado de 192 GB a 50 GB.
[root@server1 /]# df -hT S.ficheros Tipo Tamaño Usados Disp Uso% Montado en devtmpfs devtmpfs 3,9G 0 3,9G 0% /dev tmpfs tmpfs 3,9G 0 3,9G 0% /dev/shm tmpfs tmpfs 3,9G 8,9M 3,9G 1% /run tmpfs tmpfs 3,9G 0 3,9G 0% /sys/fs/cgroup /dev/mapper/cl-root xfs 140G 44G 97G 32% / /dev/sda1 xfs 1014M 310M 705M 31% /boot tmpfs tmpfs 783M 0 783M 0% /run/user/0 tmpfs tmpfs 783M 0 783M 0% /run/user/1001 /dev/mapper/cl-home xfs 50G 33M 50G 1% /home
Una vez comprobado que todo es correcto copiamos el contenido que previamente salvamos en la carpeta /home2 a la carpeta /home respetando nuevamente los permisos.
[root@server1 /]# cp -r -p /home2/* /home
Por último eliminamos la carpeta /home2.
[root@server1 /]# rm -rf /home2
Y listo con estos sencillos pasos habremos cambiado los tamaños de nuestras particiones /root y /home.
Espero os haya sido de utilidad.
Entradas relacionadas
- Como ampliar el espacio en disco de una máquina virtual Linux sobre VMware
- Como mostrar los directorios en forma de árbol en Linux
- Como instalar y configurar un servidor NTP y un cliente en CentOS 8
- Linux: Como copiar o mover carpetas y ficheros por consola
- Linux: Como crear y eliminar usuarios con privilegios de root
- Linux: Como instalar Tomcat 9 en CentOS 8
- Linux: Instalación Oracle 18c XE en CentOS 8 mediante consola
- Linux: Cambiar puerto SSH por defecto en CentOS
- Linux: Configuración de red en CentOS7 mediante consola
Me dedico a la Administración de Sistemas y he creado este blog para compartir mis conocimientos con toda la comunidad y así aportar mi granito de arena y ayudar a todo el que lo necesite.
Muchas , gracias me ayudo mucho su ayuda en este artículo
Me alegra haberte sido de ayuda Felipe.
Un saludo y gracias por tu comentario.
Grande Sergio, no te mueras nunca
Jajaja gracias Jimmy
Muchas gracias, me super sirvió, te agradezco 🙂
Me alegro mucho que te haya servido Soledad 😄.
Saludos.
Muchas gracias Sergio por este excelente aporte.
Una consulta: funciona igual si /root y /home son tmpfs ?
Saludos
Diego
Hola Diego,
Pues no lo he probado y no sabría decirte pero te animo a que montes un laboratorio, lo pruebes y nos comentes 😉
Saludos.
Excelente, Sergio claro y conciso
Me alegro te haya servido Systemnor.
Saludos.