Recherche de site Web

Comment déplacer le répertoire personnel vers une nouvelle partition ou un nouveau disque sous Linux


Sur n’importe quel système Linux, l’un des répertoires qui augmentera sûrement en taille doit être le répertoire /home. En effet, les répertoires des comptes système (utilisateurs) résideront dans /home, à l’exception du compte racine - ici, les utilisateurs stockeront en permanence des documents et d’autres fichiers.

Un autre répertoire important avec le même comportement est /var, il contient des fichiers journaux dont la taille augmentera progressivement au fur et à mesure que le système continue de fonctionner, tels que les fichiers journaux, les fichiers Web, les fichiers spool d’impression, etc.

Lorsque ces répertoires se remplissent, cela peut causer des problèmes critiques sur le système de fichiers racine, entraînant un échec de démarrage du système ou d’autres problèmes connexes. Cependant, il arrive que vous ne le remarquiez qu’après avoir installé votre système et configuré tous les répertoires du système de fichiers/partition racine.

Suggéré pour lire : Explication de la structure des répertoires Linux et des chemins d’accès aux fichiers importants

Dans ce guide, nous allons montrer comment déplacer le répertoire personnel dans une partition dédiée, éventuellement sur un nouveau disque de stockage sous Linux.

Installation et partitionnement d’un nouveau disque dur sous Linux

Avant d’aller plus loin, nous allons brièvement expliquer comment ajouter un nouveau disque dur à un serveur Linux existant.

Remarque : Si vous avez déjà une partition prête pour l’opération, passez à la section qui explique les étapes pour déplacer le répertoire /home dans une partition qui lui est propre ci-dessous.

Nous supposerons que vous avez attaché le nouveau disque au système. Sur un disque dur, le nombre de partitions à créer ainsi que la table de partition sont normalement déterminés par le type d’étiquette de disque et les premiers octets d’espace vont définir le MBR (Master Boot Record) qui stocke la table de partition ainsi que le chargeur de démarrage (pour les disques amorçables).

Bien qu’il existe de nombreux types d’étiquettes, Linux n’en accepte que deux : MSDOS MBR (516 octets) ou GPT (GUID Partition Table).

Supposons également que le nouveau disque dur (/dev/sdb de taille 270 Go utilisé pour les besoins de ce guide, vous avez probablement besoin d’une plus grande capacité sur un serveur pour une grande base d’utilisateurs.

Vous devez d’abord définir le type d’étiquette de disque à l’aide de fdisk ou parted ; nous avons utilisé le nom de l’étiquette GPT dans cet exemple.

# parted /dev/sdb mklabel gpt

Remarque : fdisk ne supporte que le MBR MSDOS pour l’instant et parted supporte les deux étiquettes.

Créez maintenant la première partition (/dev/sdb1) d’une taille de 106 Go. Nous avons réservé 1024 Mo d’espace pour le MBR.

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

Explication de la commande ci-dessus :

  • a – pour spécifier l’alignement de la partition.
  • mkpart – sous-commande pour créer la partition.
  • primary – définit le type de partition comme principal sur le disque dur (les autres valeurs sont logiques ou étendues).
  • 1074 Mo – début de la partition.
  • 107 Go – fin de la partition.

Vérifiez maintenant l’espace libre sur le disque comme suit.

# parted /dev/sdb print free

Nous allons créer une autre partition (/dev/sdb2) d’une taille de 154GB.

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

Ensuite, définissons le type de système de fichiers sur chaque partition.

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

Pour afficher tous les périphériques de stockage connectés au système, tapez .

# parted -l

Déplacement du répertoire personnel dans une partition dédiée

Maintenant, nous avons ajouté le nouveau disque et créé la partition nécessaire ; Il est maintenant temps de déplacer le dossier d’accueil dans l’une des partitions. Pour utiliser un fileysystem, il doit être monté sur le système de fichiers racine à un point de montage : le répertoire cible tel que /home.

Listez d’abord l’utilisation du système de fichiers à l’aide de la commande df sur le système.

# df -l

Nous allons commencer par créer un nouveau répertoire /srv/home où nous pouvons monter /dev/sdb1 pour le moment.

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

Ensuite, déplacez le contenu de /home dans /srv/home (afin qu’il soit pratiquement stocké dans /dev/sdb1) à l’aide de la commande rsync ou de la commande cp.

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

Après cela, nous trouverons la différence entre les deux répertoires à l’aide de l’outil diff, si tout va bien, passez à l’étape suivante.

# diff -r /home /srv/home

Ensuite, supprimez tout l’ancien contenu dans le /home comme suit.

# rm -rf /home/*

Ensuite, démontez /srv/home.

# umount /srv/home

Enfin, nous devons monter le système de fichiers /dev/sdb1 sur /home pendant ce temps.

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

Les modifications ci-dessus ne dureront que pour le démarrage actuel, ajoutez la ligne ci-dessous dans le /etc/fstab pour rendre les modifications permanentes.

Utilisez la commande suivante pour obtenir l’UUID de la partition.

# blkid /dev/sdb1

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

Une fois que vous connaissez l’UUID de la partition, ouvrez le fichier /etc/fstab et ajoutez la ligne suivante.

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

Explication du champ dans la ligne ci-dessus :

  • UUID – spécifie le périphérique de bloc, vous pouvez également utiliser le fichier de périphérique /dev/sdb1.
  • /home – c’est le point de montage.
  • ETX4 – Décrit le type de système de fichiers sur le périphérique/la partition.
  • defaults – options de montage, (ici, cette valeur signifie rw, suid, dev, exec, auto, nouser et async).
  • 0 – utilisé par l’outil de vidage, 0 signifiant ne pas vider si le système de fichiers n’est pas présent.
  • 2 – Utilisé par l’outil fsck pour découvrir l’ordre de vérification du système de fichiers, cette valeur signifie vérifier ce périphérique après le système de fichiers racine.

Enregistrez le fichier et redémarrez le système.

Vous pouvez exécuter la commande suivante pour voir que le répertoire /home a été déplacé avec succès dans une partition dédiée.

# df -hl

C’est tout pour l’instant ! Pour en savoir plus sur le système de fichiers Linux, lisez ces guides relatifs à la gestion du système de fichiers sous Linux.

  1. Comment supprimer des comptes d’utilisateurs avec le répertoire personnel sous Linux
  2. Qu’est-ce que Ext2, Ext3 et Ext4 et comment créer et convertir des systèmes de fichiers Linux
  3. 7 façons de déterminer le type de système de fichiers sous Linux (ext2, ext3 ou ext4)
  4. Comment monter un système de fichiers ou un répertoire Linux distant à l’aide de SSHFS sur SSH

Dans ce guide, nous vous avons expliqué comment déplacer le répertoire /home dans une partition dédiée sous Linux. Vous pouvez partager vos réflexions concernant cet article via le formulaire de commentaire ci-dessous.

Articles connexes: