Maintenance des disques
Introduction
Lorsque vous installez une distribution Linux et que vous effectuez un partitionnement manuel, vous avez le choix entre le LVM (Logical Volume Manager) et les partitions traditionnelles.
Si vous choisissez un partitionnement assisté, la plupart des distributions utilisent le LVM par défaut. Ceci étant, ce choix est adapté à une machine de formation par exemple. En production, il est préférable de partitionner manuellement.
Partitions
Une partition est une partie d’un disque dur destinée à accueillir un système de fichiers tel que ext4. La principale raison pour créer plusieurs partitions est la sécurité. Si vous avez une partition corrompue, les autres restent saines.
Rien ne vous empêche de mettre le système, les applications et les données dans une seule et unique partition montée en tant que /. Mais, n’oubliez pas pour autant la partition swap. En effet, pour installer Linux, deux partitions sont nécessaires au minimum :
-
Une pour la racine /. Le système de base n’excède pas plus de 8 Gio.
-
Une pour le swap. Sa taille dépend de l’utilisation de l’ordinateur, de la quantité de RAM et de l’espace disque disponible dont vous disposez.
Voici quelques recommandations sur la taille du swap :
RAM |
Taille du swap |
< 1 Gio |
Double de la RAM |
Entre 1 et 4 Gio |
Un minimum de 2 Gio |
Entre 4 et 16 Gio |
Un minimum de 4 Gio |
Entre 16 et 64 Gio |
Un minimum de 8 Gio |
Entre 64 et 256 Gio |
Un minimum de 16 Gio |
Entre 256 et 512 Gio |
Un minimum de 32 Gio |
Si vous utilisez une station de travail Linux sur un ordinateur portable, la taille du swap doit être au moins équivalente à celle de la RAM pour répondre au besoin de l’hibernation.
La façon de partitionner varie d’une machine à l’autre en fonction de son utilisation.
Partitionnement d’une station de travail
Une station de travail a généralement besoin de quatre partitions :
Partition |
Taille conseillée |
Description |
swap |
Entre 2 Gio et 8 Gio |
C’est en fonction de la taille de la RAM. Reportez-vous au premier tableau du chapitre. |
/ |
10 Gio |
Le système n’excède généralement pas 8 Gio d’occupation d’espace disque. |
/home |
Le plus possible |
En fonction des données utilisateurs. |
/opt |
5 Gio |
Applications qui ne sont pas issues de la distribution. |
/var |
3 Gio minimum |
Contient des fichiers de données qui peuvent être modifiés souvent, donc variables. |
Partitionnement d’un serveur web
Un serveur Apache Httpd Server a besoin de partitions :
Partition |
Taille conseillée |
Description |
swap |
Entre 2 et 32 Gio |
C’est en fonction de la taille de la RAM. Reportez-vous au premier tableau du chapitre. |
/boot |
500 Mio |
Logiciel d’amorçage... |
Logical Volume Manager
La gestion par volumes logiques permet une gestion de plus haut niveau des problèmes de stockage sur disque que l’approche traditionnelle avec des disques et des partitions.
L’administrateur système a une meilleure flexibilité pour allouer de l’espace aux applications et aux utilisateurs.
-
De nos jours, nous utilisons la version 2 de LVM. Elle est presque entièrement compatible avec les volumes créés avec LVM1, à l’exception de la prise en charge des instantanés et du cluster. Il est possible de convertir un groupe de volumes du format LVM1 au format LVM2 avec la commande vgconvert.
1. Terminologie
a. Volume physique
Le volume physique (PV ou physical volume) est un disque ou une partition telle que /dev/sdb1 qui est divisé en tranches de 4 Mio appelées extensions physiques (PE ou physical extents).
La taille d’un PE est par défaut de 4 Mio. Sa valeur peut être modifiée selon les besoins.
b. Groupe de volumes
Un groupe de volumes (VG ou volume group) est un ensemble de PV. Un PV ne peut pas appartenir à plusieurs VG.
c. Volume logique
Un volume logique (LV ou logical volume) est un espace de stockage qui possède par conséquent un système de fichiers. Un LV est découpé en tranches de 4 Mio appelées extensions logiques (LE ou logical extents) :
LVM crée des pointeurs qui vont mettre en relation les PE avec les LE :
d. Métadonnées
LVM utilise des métadonnées (metadatas) pour gérer le système :
-
La Physical Volume Reserved Area (PVRA) qui contient des informations propres aux volumes physiques créés par LVM.
-
Le Volume Group Reserved Area (VGRA) qui contient des informations propres aux groupes de volumes et aux volumes logiques inclus dans ces groupes.
-
Le Bad Block Relocation Area (BBRA) qui est une zone contenant les informations rattachées à un mécanisme de réallocation des blocs défectueux et qui permet ainsi la récupération automatique de blocs défectueux.
2. Administration des volumes physiques
Les commandes qui gèrent les volumes physiques commencent par pv et sont stockées dans le dossier /sbin :
[root@system2 ~]# ls /sbin/pv*
/sbin/pvchange /sbin/pvcreate /sbin/pvmove ...
Systèmes de fichiers
Un système de fichiers (SGF) ou file system (fs) est chargé de gérer l’organisation des informations mémorisées sur les périphériques de bloc tels que les disques durs, clé USB...
L’ext (extended file system) est le premier système de fichiers pour GNU/Linux créé en 1992 par Rémy Card pour pallier les nombreuses limitations du système de fichiers utilisé jusqu’alors, Minix FS de Andrew Tanenbaum. La longueur maximale du nom de fichier est de 14 caractères. Une partition n’excède pas plus de 64 Mio...
Puis ext est remplacé par ext2, lequel est inclus dans le noyau Linux 0.99.15 en décembre 1993.
1. ext2
Le Second Extended File System, plus connu sous le nom ext2, utilise le bloc comme unité de stockage.
Les caractéristiques de ext2 :
Caractéristique |
Capacité |
Taille maximale de fichier |
16 Gio - 2 Tio |
Nombre maximal de fichiers |
Variable |
Taille maximale du nom de fichier |
255 caractères |
Taille maximale de volume |
2 Tio - 32 Tio |
Taille maximale d’une partition |
32 Tio |
Ce système de fichiers n’est plus présent dans Debian 9 et RHEL7. Il fait double emploi avec ext4.
[root@system2 ~]# modinfo ext3
filename: /lib/modules/3.10.0-862.14.4.el7.x86_64/kernel/fs/ext4/ext4.ko.xz
license: GPL
description: Fourth Extended Filesystem
author: Remy Card, Stephen Tweedie, Andrew Morton,
Andreas Dilger, Theodore Ts'o and others
alias: fs-ext4
alias: ext3
alias: fs-ext3
alias: ext2
alias: fs-ext2
retpoline: Y
rhelversion: 7.5
srcversion: 8BDF72C8A0EF1E5EA5D28E7
depends: mbcache,jbd2
intree: Y
vermagic: 3.10.0-862.14.4.el7.x86_64 SMP mod_unload modversions
signer: CentOS Linux kernel signing key
sig_key: E4:A1:B6:8F:46:8A:CA:5C:22:84:50:53:18:FD:9D:AD:72:4B:13:03
sig_hashalgo: ...
Exercices
1. Partitionnement pendant l’installation
1. Créez une nouvelle machine virtuelle :
Composants |
Valeurs |
Général |
Linux Debian 9 (64 bits) 1024 Mio de RAM |
Système |
Ordre d’amorçage : disque dur optique |
Stockage |
Contrôleur CD/DVD Image ISO DVD1 de Debian 8 Cinq disques durs (dynamiquement alloués) : Disque 1 : 8 Gio Disque 2 : 10 Gio Disque 3 : 5 Gio Disque 4 : 10 Gio Disque 5 : 9 Gio |
Réseau |
Carte 1 activée en NAT |
2. Installez Debian 8 avec la configuration suivante :
Composants |
Valeurs |
Compte root |
Désactivé |
Compte bob |
Sudoer Mot de passe : formation |
Partition primaire |
/boot : 1 Gio (ext2) |
Groupe de volumes |
Nom : sysVG Liste des PV : /dev/sda /dev/sdb |
Volumes logiques |
Swap : swapLV de 1204 Mio / : rootLV de 8 Gio (ext4) /usr : usrLV de 5 Gio (ext4) /var : varLV de 4 Gio (ext4) |
Interface graphique |
Non |
Packages |
Par défaut |
Réseau |
Client DHCP |
3. Ouvrez une session en tant que bob et affichez les PV, le VG et les LV.
2. Partitionnement post-installation
1. Créez un PV /dev/sdc.
2. Ajoutez-le dans le PV sysVG.
3. Augmentez la taille du volume logique varLV de 3 Gio.
4. Créez deux PV /dev/sdd et /dev/sde.
5. Créez le VG appVG et ajoutez les deux PV.
6. Créez deux LV : progLV et dataLV.
7. Formatez progLV en ext4 et dataLV en ext3.
8. Montez les deux LV automatiquement...