TP extension du système de fichiers

Installer une nouvelle partition

  1. Objectif
    • On sait que les utilisateurs ont une vision logique du système de fichiers sous forme d'un seule arborescence, ce qui leur masque les particularités d'implémentation physique des fichiers sur disque(s).
      Mais en réalité cette arborescence est en général le résultat d'un montage par emboitement de plusieurs arborescences secondaires au système de fichiers racine
    • Dans certains cas il peut s'avérer indispensable d'étendre le système de fichiers sur un nouveau disque dur, ou sur une partition installée dans une partie de disque inutilisée jusqu'alors ou récupérée ...
      On rappelle qu'un système de fichiers ne peut pas s'étendre sur plusieurs partitions, a fortiori sur plusieurs disques physiques.
    • Outre ces obligations, il y a des avantages à disposer Linux sur plusieurs partitions :
      En cas (rare) d'endommagement d'un système de fichiers, le dégat est limité à la partition.
      L'administrateur peut mieux maitriser le système et les espaces utilisateurs qu'il est souvent nécessaire d'augmenter de capacité
    • Dans ce TP, il s'agit de décharger la partition "racine" éventuellement encombrée, des fichiers de l'un de ses répertoires principaux, afin de les stocker sur la nouvelle partition.
      Ensuite, il faudra récupérer les fichiers et procéder au nouveau montage automatique des partitions en modifiant /etc/fstab
    • Pour connaitre l'état du disque et en particulier pour savoir s'il reste de la place non affectée à un système, passer la commande fdisk /dev/hda, puis la commande p Supposons la situation initiale suivante :
       /dev/hda1 200 Mo swap
      /dev/hda2 2,5 Go linux partion montée en /
      /dev/hda5 500 Mo linux partion montée en /home
      le reste (au moins 1 Go) est libre
    • Dans ce qui suit, nous prenons l'exemple du répertoire /var qui sera détaché de la partition racine, pour être physiquement stocké dans une nouvelle partition.

  2. Sauvegarde des données à déplacer
    • Comme les fichiers de /var actuellement situés dans la partition / racine seront plus tard inaccessibles, il faut d'abord les copier ailleurs, dans une autre partition ou un autre support (lecteur zip par exemple) ou sur une partition réseau (NFS, Samba)
      Conseil : il est préférable de copier par prudence (on effacera ensuite pour récupérer la place) et de pas déplacer comme cela serait plus adapté.
    • On peut aussi utiliser mc dont la fonction copie (F5) préserve les permissions des fichiers.
    • Dans notre exemple, effectuons une copie de /var, dans /root/var
      Copie de toute l'arborescence (option -R) en préservant les permissions actuelles (option -p), pour plus de détails voir cp --h | less
      cp -pR /var /root

  3. Repartionnement du disque
    • S'il s'agit d'intervenir (supprimer , modifier, réaffecter) sur une partition existante, la démonter au préalable.
    • Lancer fdisk /dev/hda, et créer une nouvelle partition :
      device /dev/hda6, taille 300M, système linux native (code hexa 83)
      Ecrire la nouvelle table de partition et quitter fdisk

  4. Intégration de la nouvelle partition
    • Formater la nouvelle partition
      mke2fs /dev/hda6
      formate la partition et crée un système de fichiers ext2, puis écrit la table des inodes.

    • Monter la nouvelle partition hda6 en /var
      mount /dev/hda6 /var
      Pourquoi ce montage doit-il être effectué obligatoirement maintenant ?
      Vérifier son accessibilité et expliquer les résultats de ces commandes :
      du /var
      df
      ll /var
    • Récupérer les données de /var
      cp -pR /root/var/* /var
      on copie (ici aussi par sécurité) le contenu de /root/var dans /var

    • Automatiser ce montage de /dev/hda6 lors d'un redémarrage du système, en ajoutant la directive suivante dans une ligne de la table de montage /etc/fstab:
      /dev/hda6 /var ext2 defaults 1 2

    • Par la suite, si tout est satisfaisant, supprimer les fichiers transitoires rm /root/var/* et quand le répertoire /root/var est vide, le supprimer : rmdir /root/var

  5. Remarques importantes
    • Si on supprime une partition auparavant montée, ne pas oublier d'intervenir dans /etc/fstab pour supprimer ou modifier la ligne correspondance.
      Sinon, après un reboot, on a un message d'erreur sur l'impossibilité de monter et une invitation à effectuer une séance de maintenance par root.
    • Attention, à veiller à garder l'intégrité de l'arborescence de la partition racine. Ainsi dans notre exemple, le répertoire /var doit exister dans la partition racine /dev/hda2, pour jouer le rôle de point de montage de la nouvelle arborescance.
      Bien sûr ce répertoire /var est vide de fichiers, puisque ceux-ci seront affectés à la nouvelle partition /dev/hda6