15/11/2024

Commandes et Système

Ajouter un disque dur sous Linux

I. Présentation

Quand l'espace disque commence à se faire rare, il devient intéressant d'ajouter un disque dur sur son poste ou son serveur. En ligne de commande, c'est un processus qui peut être flou et que nous allons détailler ici. Nous allons en effet voir comment ajouter un disque dur, le partitionner et le monter pour qu'il fasse partie intégrante de votre système et ce même après un reboot. On va donc voir une procédure globale qui peut être modifiée à tout moment selon besoin (autre système de fichier, plusieurs partitions, etc.)

II. Disque dur où es tu ?

La première étape consiste tout simplement à trouver notre disque, en s'étant auparavant assuré qu'il est bien branché et connecté (dans le cas d'une machine virtuelle par exemple) à notre machine, on va se rendre dans le dossier /dev qui contient les "devices" (périphériques). Ici une petite précision s'impose. Sous la majorité des distributions Linux on trouvera une convention de nommage en "hd" ou "sd". Le premier correspondant aux disques IDE qui seront donc "hda" pour le premier disque, "hdb" pour le second disque et respectivement "hda1" pour la première partition primaire du disque, "hda2" pour la seconde pour finir avec "hda5" et suivantes pour les partitions secondaires. En revanche pour les disques durs SATA ou SCSI, le système les note "sd" en suivant la même nomenclature de lettrage et de chiffrage que pour les disques durs IDE. C'est une note importante car elle permet de retrouver facilement ces périphériques parmi cela :

AddHDD01

On remarque donc ici sda qui est mon disque principale (SATA ou SCSI) qui contient trois partitions (deux primaires et une logique) puis un second disque "sdb" qui en l’occurrence est le disque que je viens d'ajouter.

II. Partitionnement

On va à présenter partition le disque dur, on va ainsi pouvoir découper des zones de notre disque afin d'effectuer, par exemple, plusieurs points de montages ou plusieurs systèmes de fichiers. On utilise pour cela fdisk avec lequel on va pointer le disque dur en question :

fdisk /dev/sdb

AddHDD02

On peut ici afficher les différentes options qui s'offrent à nous via la saisi de "m":

AddHDD03

On va donc saisir "n" pour ajouter une nouvelle partition au disque ciblé :

AddHDD04

On saisi "p" pour ajouter une partition primaire (4 maximum), on saisi ensuite le numéro de cette partition (entre 1 et 4 pour la partition primaire, au dessus de 5 pour une partition étendue/logique) et ensuite les secteurs de début/fin de ladite partition. Dans mon cas, je construis une partition unique prenant la totalité du disque étant donné que ce sera un simple ajout de disque sur un système existant :

AddHDD05

On saisi ensuite "w" qui signifie "write" qui va donc écrire les changements que nous venons d'ordonner sur le disque en question. Attention, si des données existent sur le disque en question, elles seront supprimées :

AddHDD06

On sera alors de retour sur notre terminal où nous pourrons à nous regarder le contenu de /dev ("ls /dev"). Nous verrons alors un "sdb1" qui correspond donc à la partition 1 du second disque "sdb" SATA ou SCSI. C'est ce que nous venons de créer :

AddHDD07

III. Formatage

Nous avons créé une partition exploitable mais celle-ci n'a pas été préparée à être traitée avec un système de fichier spécifique, NTFS, FAT, ext3 ? Nous allons donc occuper à présent de formater notre partition. Nous utiliserons pour cela l'utilitaire mkfs.ext3 disponible nativement sur Debian 7. On va donc pointer avec cet utilitaire notre partition à formater :

mkfs.ext3 /dev/sdb1

AddHDD08IV. Montage

Voila, il ne nous reste plus qu'à monter notre partition pour que celle-ci soit utilisable. On utilise pour cela le fichier dédié à cette tâche "/etc/fstab". Il nous suffit ici de rajouter une simple ligne (qui peut se complexifier pour des cas d'utilisation ou des besoins spécifiques) qui va se charger de monter notre disque. Pour information, mettre une ligne dans ce fichier permet de monter le disque dur au démarrage car ce fichier est lu et exécuté au démarrage de la machine. On pourra également exécuter une simple ligne de commande pour monter le disque temporairement (jusqu'au prochain redémarrage). Par exemple, si je veux monter mon disque dur sur /data, je crée mon répertoire avec :

mkdir /data

Puis j'ajoute cette ligne dans /etc/fstab :

/dev/sdb1 /data ext3 defaults, 0        0

Note : Attention à l'espace après la virgule

On utilisera ensuite la commande qui va nous permettre de relire et de réaffecter le contenu du fichier /etc/fstab :

mount -a

On pourra alors vérifier la présence de notre nouveau disque en listant les montages de notre système :

mount

AddHDD09

Tout ce qui sera stocké dans /data sera donc stocké sur le disque ajouté.

author avatar
Mickael Dorigny Co-founder
Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

10 commentaires sur “Ajouter un disque dur sous Linux

  • Attention /!\

    Avant cette l’étape d’ajout de la ligne dans le fstab (faire très attention a ce fichier)

    Trouver UUID de son disque : commande « blkid »
    on trouve plusieurs lignes dont notre disque
    /dev/sdb: UUID= »xxxxxxx-xxx-xxxxx-xxxx-xxxxxxxx » TYPE= »swap »
    /dev/sda1: UUID= »xxxxxxx-xxx-xxxxx-xxxx-xxxxxxxx » TYPE= »ext3″
    /dev/sdb1: UUID= »xxxxxxx-xxx-xxxxx-xxxx-xxxxxxxx » TYPE= »ext3″

    récupérer UUID de votre disque dans notre cas /dev/sdb

    Vous aurez moins de problème en rajoutant l’UUID du disque qui est unique, au lieu du chemin du disque qui lui peux changer.

    Puis j’ajoute cette ligne dans /etc/fstab :
    UUID=xxxxxxx-xxx-xxxxx-xxxx-xxxxxxxx /data ext3 defaults, 0 0

    Ancienne ligne
    /dev/sdb1 /data ext3 defaults, 0 0

    vous pouvez ensuite passer à l’étape suivante

    Répondre
    • Merci pour l’information, je rajouterais cela dans la documentation. Quels sont les risques/problèmes que l’on peut avoir à ne peut mettre l’UID du disque dans le fstab ? (par curiosité) J’imagine que si on branche/débranche un ou plusieurs disque ceux ci peuvent se retrouver avec des chemins différents de ceux d’origines ?

      Répondre
      • Oui tout a fait, surtout quand vous avez plusieurs partitions sur le disque.
        Il faut vraiment faire attention au fichier « fstab » il arrive parfois que le système ne boot plus suite à une modification, si le problème arrive il faudra booter en « single user » et trouver l’erreur dans le fichier.

        Répondre
  • Bonjour,
    Personnellement, j’utilise ls -l /dev/disk/by-id pour trouver les partitions de mes disques, je trouve que c’est mieux que les uuid, car c’est « lié » au matériel (marque, type, etc).
    exemple:
    /dev/sdd5 (inconvénient: peut changer facilement, donc potentiellement très dangereux)
    /dev/disk/by-uuid/4ab6ba59-9e49-4d0e-a915-d148f62847b3 (avantage identifiant unique, inconvénient: imbuvable)
    /dev/disk/by-id/ata-ST2000DL003-9VT166_5YD5CDTZ-part5 (avantage: donne une indication sur la marque du disque (Seagate), le type (DL003 qui est un Barracuda), une sorte de numéro de série et le numéro de la partition utilisé
    Cela permet de préciser « physiquement » le matériel, alors que l’UUID n’apporte aucune précision sur le matériel. Je trouve que c’est très pratique dans le cas de périphérique USB.
    De plus, si on retire un disque, on pourra toujours savoir d’après le fstab qu’est-ce qui devait être connecté, avec l’UUID, si le disque est fichu, on ne retrouvera rien !

    Répondre
    • Intéressant, par contre comment écrire la commande dans fstab sachant que nous n’utilisons plus le UUID.
      La ligne ne commence plus par UUID=
      Comment faire ? Merci

      Répondre
  • Un autre petit ajout: la commande cfdisk est aujourd’hui installée sur une grande majorité de système (dont debian) et offre une interface beaucoup plus claire et intuitif que le basique fdisk pour le partionnement.

    Il pourrait être intéressant de couvrir le cas de LVM qui change un peu la donne (et permet d’étendre une partition existante, ce qui je pense, est souvent la raison de l’ajout d’un disque 😉

    Répondre
  • Précision pour retrouver ses disques:
    Pour connaitre les disques et partition, et retrouver le disque fraichement ajouter, un simple #fdisk -l énumère tous les disques /dev/sda /dev/sdb etc… ainsi que les partitions déjà présente (sda1, sda2 etc…) avec en plus d’autre informations qui peuvent être utiles (comme Id. System qui nous indique le formatage du disque)!

    Répondre
  • Que faire lorsque le disque a été rajouté à chaud sur une VM et qu’on ne veut pas d’interruption de service ?

    Répondre
  • Excellente démonstration. félicitation pour la démo. marche parfaitement sur mon debian.

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.