• 12 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 22/11/2023

Maîtrisez le partitionnement et le montage

Bravo, vous avez maintenant installé votre premier serveur. Dans cette partie, vous allez approfondir vos compétences de gestion du stockage sous Linux. C’est une partie importante car la fiabilité et les performances de votre système en dépendent.

D’ici la fin de ce cours, vous aimeriez pouvoir utiliser votre nouveau serveur pour partager des fichiers sur votre réseau local. Nous allons pour cela dédier un disque dur au stockage de ces données.

Ajoutez un disque dur à votre serveur

Éteignez la machine vm-serveur  et dans VirtualBox, allez dans “configuration”.

Fenêtre de propriétés de la machine vm-serveur dans VirtualBox, section stockage. Le bouton
Ajoutez un nouveau disque à votre serveur

Dans la section “Stockage”, cliquez sur “Ajouter un disque dur” au niveau de votre Contrôleur SATA puis sur “Créer un nouveau disque”. Laissez le type de fichier par défaut, choisissez un fichier de taille fixe, donnez-lui un nom et allouez-lui une taille de 1Go (oui d’accord, on ne stockera pas beaucoup de fichiers avec un disque dur pareil).

Maintenant que votre nouveau disque dur est “physiquement” créé, vous pouvez redémarrer le serveur vm-serveur  .

Pour pouvoir utiliser votre nouveau disque, il vous reste à :

  • créer au moins une partition sur ce disque,

  • formater cette partition,

  • monter cette partition.

Nous allons voir ensemble chacune de ces étapes par la suite.

Partitionnez votre nouveau disque

Vous vous souvenez peut-être que sous Linux les périphériques systèmes sont représentés par des fichiers dans /dev. En particulier, les disques durs SCSI (et en fait maintenant presque tous les disques sont gérés comme des disques SCSI) sont représentés par des fichiers de type  /dev/sda  ,  /dev/sdb  , etc. La dernière lettre correspond à l’ordre dans lequel les disques sont reconnus.

$ ls -l /dev/sd*
brw-rw---- 1 root disk 8,   0 avril 19 09:54 /dev/sda
brw-rw---- 1 root disk 8,   1 avril 19 09:54 /dev/sda1
brw-rw---- 1 root disk 8,   2 avril 19 09:54 /dev/sda2
brw-rw---- 1 root disk 8, 16 avril 19 09:54 /dev/sd

On voit ici le disque système/dev/sdasur lequel l’installation par défaut a créé deux partitions  /dev/sda1et/dev/sda2. Nous voyons également le nouveau disque /dev/sdb. Sans surprise, on ne trouve pas encore de /dev/sdb1car nous n’avons pas encore créé de partition sur ce disque. C’est ce que nous allons faire maintenant grâce à l’utilitaire gdisk.

Commençons par obtenir des informations sur nos disques avec l’option -lsuivie du fichier périphérique à examiner. Comme vous avez pu le remarquer, pour avoir accès aux fichiers périphériques, il nous faut utiliser la commande sudo ou être connecté avec le compte root :

$ sudo gdisk -l /dev/sda #pour les informations sur le disque système de 10Go
GPT fdisk (gdisk) version 1.0.5

Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 20971520 sectors, 10.0 GiB
Model: VBOX HARDDISK
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 386C4AE0-8E50-4A4C-B237-B7725DD332C7
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 20971486
Partitions will be aligned on 2048-sector boundaries
Total free space is 4029 sectors (2.0 MiB)

Number Start (sector) End (sector) Size Code Name
1 2048 4095 1024.0 KiB EF02
2 4096 20969471 10.0 GiB 8300
$ sudo gdisk -l /dev/sdb #pour les informations sur le disque additionnel de 1Go
GPT fdisk (gdisk) version 1.0.5

Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present

Creating new GPT entries.
Disk /dev/sdb: 2097152 sectors, 1024.0 MiB
Model: VBOX HARDDISK
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 524B7433-5B72-48D0-B0BF-937AFEF7A1DB
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 2097118
Partitions will be aligned on 2048-sector boundaries
Total free space is 2097085 sectors (1024.0 MiB)

Number Start (sector) End (sector) Size Code Nam

Maintenant que vous êtes sûr que le disque additionnel dédié aux données est bien  /dev/sdb , créez une partition sur ce disque.

$ sudo gdisk /dev/sdb
GPT fdisk (gdisk) version 1.0.5

Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present

Creating new GPT entries.

Command (? for help): ?
b back up GPT data to a file
c change a partition's name
d delete a partition
i show detailed information on a partition
l list known partition types
n add a new partition
o create a new empty GUID partition table (GPT)
p print the partition table
q quit without saving changes
r recovery and transformation options (experts only)
s sort partitions
t change a partition's type code
v verify disk
w write table to disk and exit
x extra functionality (experts only)
? print this men

Sans option, gdisk est un programme interactif.

En tapant? puis “Entrée”, nous voyons la liste des commandes disponibles.
Entrez n pour ajouter une nouvelle partition, comme indiqué dans la liste des commandes.

Command (? for help): n
Partition number (1-128, default 1):
First sector (34-2097118, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-2097118, default = 2097118) or {+-}size{KMGTP}: Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem'

Vous pouvez alors accepter toutes les valeurs par défaut. Ce qui nous amène à créer une partition numéro1 qui commence au premier secteur disponible et termine au dernier secteur disponible (tout le disque donc). Un code indique alors que le système de fichiers de la partition sera un "système de fichiers Linux", ce qui nous va très bien.

N’hésitez pas à vérifier que votre nouvelle partition correspond bien à ce que nous voulons par la commande p puis enregistrez les changements sur le disque avec w .

Notez que votre système a tout de suite remarqué la création de cette nouvelle partition et a créé un fichier associé /dev/sdb1 .

À ce stade, vous avez juste écrit une table de partition au début de votre disque de données qui indique que ce disque contient une partition. Il vous faut maintenant la formater.

Formatez votre nouveau disque

Pour rappel, le système de fichier est à la partition ce que les étagères et le système de classement des livres sont à la bibliothèque. Nous allons formater cette nouvelle partition au format ext4 qui est actuellement le format par défaut sous Ubuntu et qui est un très bon choix pour la plupart des usages sous Linux. Pour cela, il suffit de taper la commande :

$ sudo mkfs -t ext4 /dev/sdb1

La commande mkfs permet de créer un système de fichier. Avec   -t ext4 , on précise qu’on veut un système ext4 et on donne en argument le fichier device  /dev/sdb1  qu’on veut formater.

Votre nouveau disque dur est prêt. Pour l’utiliser, il ne reste plus qu’à le “monter”.

Montez votre nouveau disque

Pour rappel, sous Windows, les disques durs, lecteur cd et autres périphériques de stockage sont identifiés par une lettre. Sous Linux, la racine de notre arborescence se nomme  /  puis on trouve des dossiers, des sous-dossiers, des sous-sous-dossiers, etc.

En fait, chaque partition/système de fichier possède sa propre racine / mais pour pouvoir accéder à cette partition, il vous faut "monter", c’est à dire rattacher cette racine à un dossier de votre arborescence principale.

Schéma des arborescences de /dev/sda2 et /dev/sdb1 et comment /dev/sdb1 peut se rattacher à l'arborescence de /dev/sda2
Fonctionnement du montage d'une partition sous Linux
$ sudo su - #On devient root “à plein temps”
# mkdir -p /var/data1/non_monte #Création d’un premier répertoire de montage
# mkdir -p /mnt/mes_donnees/ #Création d’un deuxième répertoire de montage
# mount -t ext4 /dev/sdb1 /mnt/mes_donnees
# mkdir -p /mnt/mes_donnees/repertoire1

Ici, vous allez créer deux répertoires dont vous vous servirez de point de montage :  /var/data1/non_monte et/mnt/mes_donnees .

Avec la commandemount , vous allez monter la partition /dev/sdb1 dans le répertoire  /mnt/mes_donnees en précisant que le système de fichier est de type ext4.

Vous pouvez ensuite créer le répertoire repertoire1 à la racine de votre nouveau disque dur (premier niveau après le point de montage).

# umount /dev/sdb1
# ls /mnt/mes_donnees
# mount -t ext4 /dev/sdb1 /var/data1
# ls /var/data1
lost+found repertoire1
# umount /var/data1
# ls /var/data1
non_monte

Pour démonter votre disque de données, rien de plus simple : utilisez la commandeumount.

Comme le fichier de partition/dev/sdb1 et le répertoire de montage  /mnt/mes_donnees  sont maintenant associés dans la table de montage, vous n’avez besoin de passer qu’un des deux en argument pour indiquer le lien à défaire.

Le répertoire/mnt/mes_donnees est maintenant vide car le répertoire repertoire1 est sur le disque de données.

Vous devez ensuite monter /dev/sdb1 dans le répertoire/var/data1 .

Vous allez retrouver votre répertoire repertoire1 (et un mystérieux répertoirelost+found  dont nous parlerons dans le prochain chapitre).

Mais, le répertoire non_monte qui était dans/var/data1 a disparu. Ce répertoire n’est pas perdu, mais il est inaccessible car “caché” par le montage que vous venez de réaliser par-dessus. Vous pourrez d’ailleurs retrouver ce répertoire dès que vous démonterez /dev/sdb1.

Vous savez maintenant comment accéder à votre nouveau disque dur mais il serait quand même bien pratique qu’il puisse être monté automatiquement au démarrage du système. Pour ça, vous pouvez rajouter la ligne suivante à la fin du fichier/etc/fstab :

/dev/sdb1 /var/data1 ext4 defaults 0 0

Chaque ligne du fichier /etc/fstab comporte six champs séparés par des espaces ou des tabulations et qui indiquent dans l’ordre :

  1. le périphérique à monter,

  2. le point de montage,

  3. le type de système de fichiers,

  4. les options de montage séparées par des virgules (par défaut pour nous).

Je ne rentrerai pas ici dans le détail des deux derniers champs qui peuvent généralement être laissés à0 0.

Au démarrage, le système va lancer la commandemount -a qui montera tous les périphériques indiqués dans le fichier /etc/fstab .

Je vous invite d’ailleurs à lancer cette commande manuellement (en root) pour monter votre disque de données.

En résumé

Vous avez :

  • ajouté un nouveau disque à votre serveur,

  • partitionné ce disque grâce à l’utilitaire gdisk,

  • formaté cette nouvelle partition au format ext4,

  • appris comment monter et démonter cette partition,

  • automatisé le montage de cette partition au démarrage du système.

Dans le chapitre suivant, nous en apprendrons plus sur le fichier ext4 et sur la manière de manipuler ce système de fichier.

Exemple de certificat de réussite
Exemple de certificat de réussite