Cómo mover el directorio de inicio a una nueva partición o disco en Linux


En cualquier sistema Linux, uno de los directorios que seguramente crecerá en tamaño debe ser el directorio /home . Esto se debe a que los directorios de las cuentas del sistema (usuarios) residirán en /home , excepto en la cuenta raíz. Aquí, los usuarios almacenarán continuamente documentos y otros archivos.

Otro directorio importante con el mismo comportamiento es /var , que contiene archivos de registro cuyo tamaño aumentará gradualmente a medida que el sistema continúa ejecutándose, como archivos de registro, archivos web, archivos de impresión, etc.

Cuando estos directorios se llenan, esto puede causar problemas críticos en el sistema de archivos raíz que resultan en una falla de inicio del sistema o en otros problemas relacionados. Sin embargo, a veces solo puede notar esto después de instalar su sistema y configurar todos los directorios en el sistema/partición del archivo raíz.

En esta guía, mostraremos cómo mover el directorio de inicio a una partición dedicada posiblemente en un nuevo disco de almacenamiento en Linux.

Instalación y partición de un nuevo disco duro en Linux

Antes de continuar, explicaremos brevemente cómo agregar un nuevo disco duro a un servidor Linux existente.

rojo

Asumiremos que ha adjuntado el nuevo disco al sistema. En un disco duro, el número de particiones que se crearán, así como la tabla de particiones, normalmente se determina por el tipo de etiqueta del disco y los primeros bytes de espacio definirán el MBR ( Master Boot Record ) que almacena la tabla de particiones así como el cargador de arranque (para discos de arranque).

Aunque hay muchos tipos de etiquetas, Linux solo acepta dos: MBR de MSDOS (516 bytes de tamaño) o GPT ( Tabla de particiones GUID ) MBR .

Supongamos también que el nuevo disco duro nuevo (/dev/sdb de 270 GB utilizado para esta guía, probablemente necesite una mayor capacidad en un servidor para Gran base de usuarios.

Primero debe configurar el tipo de etiqueta del disco con fdisk o parted; En este ejemplo, hemos utilizado el nombre de la etiqueta GPT .

# parted /dev/sdb mklabel gpt

rojo

Ahora cree la primera partición (/dev/sdb1 ) con un tamaño 106GB . Hemos reservado 1024MB de espacio para el MBR.

# parted -a cylinder /dev/sdb mkpart primary 1074MB 107GB

Explicando el comando de arriba:

  • a – option to specify the partition alignment.
  • mkpart – sub command to create the partition.
  • primary – sets partition type as primary on the hard disk (other values are logical or extended).
  • 1074MB – beginning of partition.
  • 107GB – end of partition.

Ahora verifique el espacio libre en el disco de la siguiente manera.

# parted /dev/sdb print free

Crearemos otra partición (/dev/sdb2 ) con un tamaño 154GB .

# parted -a cylinder /dev/sdb mkpart primary 115GB 268GB

A continuación, vamos a configurar el tipo de sistema de archivos en cada partición.

# mkfs.ext4 /dev/sdb1
# mkfs.xfs /dev/sdb2

Para ver todos los dispositivos de almacenamiento conectados en el sistema, escriba.

# parted -l

Ahora hemos agregado el nuevo disco y creado la partición necesaria; ahora es el momento de mover la carpeta inicio a una de las particiones. Para utilizar un sistema de archivos, debe montarse en el sistema de archivos raíz en un punto de montaje: el directorio de destino, como /home .

Primero liste el uso del sistema de archivos usando el comando df en el sistema.

# df -l

Comenzaremos creando un nuevo directorio /srv/home en el que podamos montar /dev/sdb1 por el momento.

# mkdir -p /srv/home
# mount /dev/sdb1 /srv/home 

Luego mueva el contenido de /home a /srv/home (para que prácticamente se almacenen en /dev/sdb1 ) usando el comando rsync o comando cp.

# rsync -av /home/* /srv/home/
OR
# cp -aR /home/* /srv/home/

Después de eso, encontraremos la diferencia entre los dos directorios utilizando la herramienta de diferencias. Si todo está bien, continúe con el siguiente paso.

# diff -r /home /srv/home

Luego, elimine todo el contenido antiguo en /home de la siguiente manera.

# rm -rf /home/*

Luego desmonte /srv/home .

# umount /srv/home

Finalmente, tenemos que montar el sistema de archivos /dev/sdb1 en /home por el tiempo medio.

# mount /dev/sdb1 /home
# ls -l /home

Los cambios anteriores durarán solo para el inicio actual, agregue la línea a continuación en /etc/fstab para hacer los cambios permanentes.

Use el siguiente comando para obtener la partición UUID .

# blkid /dev/sdb1

/dev/sdb1: UUID="e087e709-20f9-42a4-a4dc-d74544c490a6" TYPE="ext4" PARTLABEL="primary" PARTUUID="52d77e5c-0b20-4a68-ada4-881851b2ca99"

Una vez que sepa la partición UUID , abra el archivo /etc/fstab y agregue la línea siguiente.

UUID=e087e709-20f9-42a4-a4dc-d74544c490a6   /home   ext4   defaults   0   2

Explicando el campo en la línea de arriba:

  • UUID – specifies the block device, you can alternatively use the device file /dev/sdb1.
  • /home – this is the mount point.
  • etx4 – describes the filesystem type on the device/partition.
  • defaults – mount options, (here this value means rw, suid, dev, exec, auto, nouser, and async).
  • 0 – used by dump tool, 0 meaning don’t dump if filesystem is not present.
  • 2 – used by fsck tool for discovering filesystem check order, this value means check this device after root filesystem.

Guarde el archivo y reinicie el sistema.

Puede ejecutar el siguiente comando para ver que el directorio /home se ha movido con éxito a una partición dedicada.

# df -hl

¡Eso es todo por ahora! Para conocer más sobre el sistema de archivos de Linux, lea estas guías relacionadas con la administración de sistemas de archivos en Linux.

  1. How to Delete User Accounts with Home Directory in Linux
  2. What is Ext2, Ext3 & Ext4 and How to Create and Convert Linux File Systems
  3. 7 Ways to Determine the File System Type in Linux (Ext2, Ext3 or Ext4)
  4. How to Mount Remote Linux Filesystem or Directory Using SSHFS Over SSH

En esta guía, le explicamos cómo mover el directorio /home a una partición dedicada en Linux. Puede compartir cualquier comentario con respecto a este artículo a través del formulario de comentarios a continuación.