102.1 Leçon 1
Certification : |
LPIC-1 |
---|---|
Version : |
5.0 |
Thème : |
102 Installation de Linux et gestion des paquets |
Objectif : |
102.1 Conception du schéma de partitionnement |
Leçon : |
1 of 1 |
Introduction
Pour répondre à cet objectif, vous devez comprendre le rapport entre les disques, les partitions, les systèmes de fichiers et les volumes.
Imaginez un disque (ou un dispositif de stockage, puisque les appareils modernes ne contiennent pas de "disques" à proprement parler) comme un "conteneur physique" pour vos données.
Avant qu’un disque ne puisse être utilisé par un ordinateur, il doit être partitionné. Une partition est un sous-ensemble logique du disque physique, comme une "clôture" logique. Le partitionnement est un moyen de "compartimenter" les informations stockées sur le disque, en séparant par exemple les données du système d’exploitation des données des utilisateurs.
Chaque disque a besoin d’au moins une partition mais peut en avoir plusieurs si nécessaire, les informations correspondantes sont stockées dans une table de partition. Cette table comprend les informations sur le premier et le dernier secteur de la partition ainsi que le type de partition. Elle contient également des détails supplémentaires sur chaque partition.
A l’intérieur de chaque partition se trouve un système de fichiers. Le système de fichiers décrit la manière dont les informations sont effectivement stockées sur le disque. Ces informations comprennent la façon dont les répertoires sont organisés, les relations entre eux, l’emplacement des données pour chaque fichier, etc.
Les partitions ne peuvent pas s’étendre sur plusieurs disques. Or, en utilisant le Logical Volume Manager (LVM), plusieurs partitions peuvent être combinées, même d’un disque à l’autre, pour former un seul volume logique.
Les volumes logiques font abstraction des contraintes des périphériques physiques et vous permettent de travailler avec des pools d’espace disque qui peuvent être combinés ou distribués de manière beaucoup plus souple que les partitions traditionnelles. LVM est utile dans les situations où il vous faut ajouter de l’espace à une partition sans pour autant être obligé de migrer les données vers un périphérique plus spacieux.
Dans cet objectif, vous allez apprendre à élaborer un schéma de partitionnement de disque pour un système Linux, en allouant des systèmes de fichiers et l’espace d’échange à des partitions ou des disques séparés lorsque cela est nécessaire.
La création et la gestion des partitions et des systèmes de fichiers seront abordées dans des leçons ultérieures.
Les points de montage
Avant de pouvoir accéder à un système de fichiers sous Linux, il faut le monter. Cela revient à rattacher le système de fichiers à un point spécifique de l’arborescence de votre système, nommé point de montage.
Une fois monté, le contenu du système de fichiers sera disponible sous le point de montage. Par exemple, imaginez que vous ayez une partition avec les données personnelles de vos utilisateurs (leurs répertoires personnels), contenant les répertoires /john
, /jack
et /carol
. Une fois monté sous /home
, le contenu de ces répertoires sera disponible sous /home/john
, /home/jack
et /home/carol
.
Le point de montage doit exister avant le montage du système de fichiers. Vous ne pouvez pas monter une partition sous /mnt/userdata
si ce répertoire n’existe pas. En revanche, si le répertoire existe et qu’il contient des fichiers, ces fichiers ne seront pas disponibles tant que vous n’aurez pas démonté le système de fichiers. Si vous affichez le contenu du répertoire, vous verrez les fichiers stockés sur le système de fichiers monté, et non pas le contenu initial du répertoire.
Les systèmes de fichiers peuvent être montés où vous voulez. Toutefois, il existe une série de bonnes pratiques à suivre pour faciliter l’administration du système.
Traditionnellement, /mnt
était le répertoire sous lequel tous les périphériques externes étaient montés, et un certain nombre de points d’ancrage pré-configurés pour les périphériques courants comme les lecteurs de CD-ROM (/mnt/cdrom
) et les disquettes floppy (/mnt/floppy
) existaient dans ce répertoire.
Il a été remplacé par /media
, qui est maintenant le point de montage par défaut pour tous les supports amovibles (par exemple les disques externes, les clés USB, les lecteurs de cartes mémoire, les disques optiques, etc.) connectés au système.
Sur la plupart des distributions Linux et des environnements de bureau modernes, les périphériques amovibles sont automatiquement montés sous /media/USER/LABEL
lorsqu’ils sont connectés au système, où USER
est le nom d’utilisateur et LABEL
l’étiquette du périphérique. Par exemple, une clé USB étiquetée FlashDrive
et insérée par l’utilisateur john
sera montée sous /media/john/FlashDrive/
. La manière dont cela est géré peut varier en fonction de l’environnement de bureau.
Ceci étant dit, lorsque vous avez besoin de monter manuellement un système de fichiers, il est recommandé de le monter sous /mnt
. Les commandes spécifiques pour contrôler le montage et le démontage des systèmes de fichiers sous Linux seront abordées dans une autre leçon.
Chaque chose à sa place
Sous Linux, il y a certains répertoires que vous devriez envisager de stocker sur des partitions distinctes. Il y a plusieurs raisons à cela : par exemple, en conservant les fichiers liés au chargeur de démarrage (stockés sur /boot
) sur une partition de démarrage, vous êtes sûr que votre système pourra toujours démarrer en cas de plantage du système de fichiers racine.
Le fait de conserver les répertoires personnels des utilisateurs (sous /home
) sur une partition séparée facilite la réinstallation du système sans risquer de toucher par inadvertance aux données des utilisateurs. En conservant les données relatives à un serveur web ou une base de données (généralement sous /var
) sur une partition séparée (ou même un disque séparé), l’administration du système est facilitée si vous devez ajouter de l’espace disque supplémentaire pour ces cas de figure.
Il peut même y avoir des raisons de performance pour garder certains répertoires sur des partitions séparées. Vous pouvez conserver le système de fichiers racine (/
) sur un disque SSD rapide, et des répertoires plus volumineux comme /home
et /var
sur des disques durs plus lents qui offrent beaucoup plus d’espace pour une fraction du coût.
La partition de démarrage (/boot
)
La partition de démarrage contient les fichiers utilisés par le chargeur de démarrage pour charger le système d’exploitation. Sur les systèmes Linux, le chargeur de démarrage est généralement GRUB2 ou, sur les systèmes plus anciens, GRUB Legacy. La partition est généralement montée sous /boot
et ses fichiers sont stockés dans /boot/grub
.
D’un point de vue technique, une partition de démarrage n’est pas nécessaire, puisque dans la plupart des cas, GRUB est capable de monter la partition racine (/
) et de charger les fichiers depuis un répertoire /boot
séparé.
Toutefois, une partition de démarrage séparée peut être souhaitable pour des raisons de sécurité (afin de garantir que le système démarre même en cas de plantage du système de fichiers racine), ou si vous souhaitez utiliser un système de fichiers que le chargeur de démarrage ne peut pas gérer dans la partition racine, ou s’il utilise une méthode de chiffrement ou de compression qui n’est pas prise en charge.
La partition de démarrage est généralement la première partition du disque. En effet, le BIOS des PC IBM d’origine gérait les disques en utilisant des cylindres, des têtes et des secteurs (CHS pour Cylinder/Head/Sector), avec un maximum de 1024 cylindres, 256 têtes et 63 secteurs, ce qui donne une taille de disque maximale de 528 Mo (504 Mo sous MS-DOS). Cela signifie que tout ce qui dépasse cette marque ne serait pas accessible sur les anciens systèmes, à moins d’utiliser un schéma d’adressage de disque différent (comme l’adressage par bloc logique ou LBA pour Logical Block Addressing).
Ainsi, pour garantir une compatibilité maximale, la partition de démarrage est généralement située au début du disque et se termine avant le cylindre 1024 (528 Mo), ce qui garantit que, quoi qu’il arrive, la machine sera toujours capable de charger le noyau.
Comme la partition de démarrage ne stocke que les fichiers nécessaires au chargeur de démarrage, le disque mémoire initial et les images du noyau, elle peut être assez petite selon les normes actuelles. Une bonne taille se situe aux alentours de 300 Mo.
La partition système EFI (ESP)
La partition système EFI (ESP pour EFI System Partition) est utilisée par les machines basées sur le Unified Extensible Firmware Interface (UEFI) pour stocker les chargeurs de démarrage et les images de noyau pour les systèmes d’exploitation installés.
Cette partition est formatée avec un système de fichiers basé sur FAT. Sur un disque partitionné avec une table de partitions GUID, il possède un identificateur global unique de C12A7328-F81F-11D2-BA4B-00A0C93EC93B
. Si le disque a été formaté selon le schéma de partitionnement MBR, l’ID de la partition est 0xEF
.
Sur les machines qui tournent sous Microsoft Windows, cette partition est généralement la première sur le disque, même si cela n’est pas obligatoire. La partition EFI est créée (ou approvisionnée) par le système d’exploitation lors de l’installation, et sur un système Linux elle est montée sous /boot/efi
.
La partition /home
Chaque utilisateur du système dispose d’un répertoire d’accueil pour stocker ses fichiers personnels et ses préférences, la plupart d’entre eux se trouvent sous /home
. En règle générale, le répertoire personnel correspond au nom d’utilisateur, de sorte que l’utilisateur John aura son répertoire sous /home/john
.
Il y a cependant des exceptions. Par exemple, le répertoire personnel de l’utilisateur root est /root
, et certains services système peuvent avoir associé des utilisateurs à d’autres répertoires personnels.
Il n’y a pas de règle pour déterminer la taille d’une partition pour le répertoire /home
(la partition home
). Vous devez prendre en compte le nombre d’utilisateurs du système et la manière dont il sera utilisé. Un utilisateur qui ne fait que de la navigation web et du traitement de texte aura besoin de moins d’espace que celui qui fait du montage vidéo, par exemple.
Les données variables (/var
)
Ce répertoire contient des "données variables", c’est-à-dire des fichiers et des répertoires dans lesquels le système doit pouvoir écrire pendant son fonctionnement. Cela inclut les journaux système (dans /var/log
), les fichiers temporaires (/var/tmp
) et les données d’application mises en cache (dans /var/cache
).
/var/www/html
est également le répertoire par défaut des fichiers de données pour le serveur Web Apache et /var/lib/mysql
est l’emplacement par défaut des fichiers de bases de données pour le serveur MySQL. Toutefois, ces deux emplacements peuvent être modifiés.
Une bonne raison de prévoir une partition séparée pour /var
est la stabilité. Un grand nombre d’applications et de processus écrivent dans /var
et ses sous-répertoires, comme /var/log
ou /var/tmp
. Un processus défaillant peut écrire des données jusqu’à ce qu’il n’y ait plus d’espace libre sur le système de fichiers.
Si /var
est sous /
cela peut déclencher un kernel panic et une dégradation du système de fichiers, ce qui entraîne une situation difficile à récupérer. Mais si /var
est conservé dans une partition séparée, le système de fichiers racine ne sera pas affecté.
Comme pour /home
, il n’y a pas de règle universelle pour déterminer la taille d’une partition pour /var
, car elle varie selon la manière dont le système est utilisé. Sur un ordinateur familial, elle peut ne prendre que quelques gigaoctets. Mais sur un serveur de bases de données ou un serveur web, il faut sans doute beaucoup plus d’espace. Dans ce type de scénario, il peut être judicieux de mettre /var
sur une partition d’un disque distinct de la partition racine en ajoutant une protection supplémentaire contre la défaillance physique du disque.
Le swap
La partition d’échange est utilisée pour basculer des pages de mémoire de la RAM vers le disque si cela est nécessaire. Cette partition doit être d’un type spécifique, et elle doit être configurée avec un utilitaire approprié appelé mkswap
avant de pouvoir être utilisée.
La partition swap ne peut pas être montée comme les autres, ce qui veut dire que vous ne pouvez pas y accéder comme à un répertoire normal et voir son contenu.
Un système peut avoir plusieurs partitions d’échange (bien que cela soit peu courant) et Linux supporte également l’utilisation de fichiers d’échange au lieu de partitions, ce qui peut être utile pour augmenter rapidement l’espace de swap en cas de besoin.
La taille de la partition d’échange est une question controversée. L’ancienne règle des débuts de Linux ("deux fois la quantité de mémoire vive") peut ne plus s’appliquer selon la manière dont le système est utilisé et la quantité de mémoire vive physique installée.
Dans la documentation de Red Hat Enterprise Linux 7, Red Hat recommande ceci :
Quantité de RAM |
Taille de swap recommandée |
Taille de swap recommandée avec l’hibernation |
< 2 Go de RAM |
2x la quantité de RAM |
3x la quantité de RAM |
2-8 Go de RAM |
Égale à la quantité de RAM |
2x la quantité de RAM |
8-64 Go de RAM |
Au moins 4 Go |
1.5x la quantité de RAM |
> 64 Go de RAM |
Au moins 4 Go |
Non recommandé |
Bien évidemment, la quantité de swap peut dépendre de la charge de travail. Si la machine fait tourner un service critique, tel qu’une base de données, un serveur web ou un serveur SAP, il est conseillé de consulter la documentation pour ces services (ou l’éditeur de votre logiciel) pour avoir une recommandation.
Note
|
Pour en savoir plus sur la création et l’activation des partitions d’échange et des fichiers swap, reportez-vous à l’objectif 104.1 du LPIC-1. |
LVM
Nous avons déjà évoqué l’organisation des disques en une ou plusieurs partitions, chaque partition contenant un système de fichiers qui décrit comment sont stockés les fichiers et les métadonnées associées. L’un des inconvénients du partitionnement est que l’administrateur système doit décider à l’avance de la répartition de l’espace disque disponible sur un périphérique. Cela peut poser des problèmes par la suite, si une partition nécessite plus d’espace que prévu initialement. Bien sûr, les partitions peuvent être redimensionnées, mais cela peut être impossible si, par exemple, il n’y a plus d’espace libre sur le disque.
La gestion des volumes logiques (LVM pour Logical Volume Management) est une forme de virtualisation du stockage qui offre aux administrateurs système une approche plus souple de la gestion de l’espace disque que le partitionnement traditionnel. L’objectif de LVM est de faciliter la gestion des besoins de stockage de vos utilisateurs finaux. L’unité de base est le volume physique (PV pour Physical Volume), qui est un périphérique bloc sur votre système comme une partition de disque ou une grappe RAID.
Les PV sont regroupés en groupes de volumes (VG pour Volume Groups) qui font abstraction des périphériques sous-jacents et sont considérés comme un seul périphérique logique, avec la capacité de stockage combinée des PV qui les constituent.
Chaque volume d’un groupe de volumes (VG) est subdivisé en segments de taille fixe appelés extensions. Les extensions sur un volume physique (PV) sont appelées extensions physiques (PE pour Physical Extensions), tandis que celles sur un volume logique (LV) sont des extensions logiques (LE pour Logical Extensions). En règle générale, chaque extension logique est mappée à une extension physique, mais cela peut varier lorsque des fonctionnalités telles que la mise en miroir des disques sont utilisées.
Les groupes de volumes peuvent être subdivisés en volumes logiques (LV), qui fonctionnent de la même manière que les partitions, mais avec plus de souplesse.
La taille d’un volume logique, telle que spécifiée lors de sa création, est en fait définie par la taille des extensions physiques (4 Mo par défaut) multipliée par le nombre d’extensions sur le volume. Partant de là, il est facile de comprendre que pour augmenter la capacité d’un volume logique, par exemple, il suffit à l’administrateur système d’ajouter d’autres extensions à partir du pool disponible dans le groupe de volumes. De même, des extensions peuvent être enlevées pour rétrécir le LV.
Une fois qu’un volume logique est créé, il est considéré par le système d’exploitation comme n’importe quel périphérique bloc. Un périphérique sera créé dans /dev
, nommé /dev/NOMVG/NOMLV
, où NOMVG
est le nom du groupe de volumes, et NOMLV
est le nom du volume logique.
Ces périphériques peuvent être formatés avec le système de fichiers souhaité en utilisant des outils standards (comme mkfs.ext4
, par exemple) et montés en utilisant les méthodes habituelles, soit manuellement avec la commande mount
, soit automatiquement en les ajoutant au fichier /etc/fstab
.
Exercices guidés
-
Sur les systèmes Linux, où sont stockés les fichiers du chargeur de démarrage GRUB ?
-
Où doit se terminer la partition de démarrage pour garantir qu’un PC sera toujours capable de charger le noyau ?
-
À quel endroit la partition EFI est-elle généralement montée ?
-
Lors du montage manuel d’un système de fichiers, sous quel répertoire doit-il généralement être monté ?
Exercices d’approfondissement
-
Quelle est la plus petite unité à l’intérieur d’un groupe de volumes VG ?
-
Comment définit-on la taille d’un volume logique LV ?
-
Sur un disque formaté selon le schéma de partitionnement MBR, quel est l’ID de la partition système EFI ?
-
En dehors des partitions d’échange, comment peut-on augmenter rapidement l’espace swap sur un système Linux ?
Résumé
Dans cette leçon, vous avez abordé le partitionnement, les répertoires qui sont généralement conservés dans des partitions séparées et la raison pour laquelle on procède ainsi. Nous avons également abordé une présentation de LVM (Logical Volume Management) et montré comment il peut offrir un moyen plus flexible pour allouer vos données et votre espace disque par rapport au partitionnement traditionnel.
Les fichiers, les notions et les outils suivants ont été abordés :
/
-
Le système de fichiers racine Linux.
/var
-
L’emplacement standard pour les "données variables", les données qui peuvent diminuer et augmenter avec le temps.
/home
-
Le répertoire parent standard pour les répertoires personnels des utilisateurs ordinaires d’un système.
/boot
-
L’emplacement standard des fichiers du chargeur de démarrage, du noyau Linux et du disque mémoire initial.
- Partition système EFI (ESP)
-
Utilisé par les systèmes qui utilisent l’UEFI pour le stockage des fichiers de démarrage du système.
- Espace swap
-
Utilisé pour basculer les pages de mémoire du noyau lorsque la RAM est fortement sollicitée.
- Points de montage
-
Emplacements des répertoires où un périphérique (tel qu’un disque dur) sera monté.
- Partitions
-
Subdivisions d’un disque dur.
Réponses aux exercices guidés
-
Sur les systèmes Linux, où sont stockés les fichiers du chargeur de démarrage GRUB ?
En-dessous de
/boot/grub
. -
Où doit se terminer la partition de démarrage pour garantir qu’un PC sera toujours capable de charger le noyau ?
Avant le cylindre 1024.
-
À quel endroit la partition EFI est-elle généralement montée ?
En-dessous de
/boot/efi
. -
Lors du montage manuel d’un système de fichiers, sous quel répertoire doit-il généralement être monté ?
En-dessous de
/mnt
. Toutefois, ce n’est pas obligatoire. Vous pouvez monter une partition sous n’importe quel répertoire.
Réponses aux exercices d’approfondissement
-
Quelle est la plus petite unité à l’intérieur d’un groupe de volumes VG ?
Les groupes de volumes sont subdivisés en extensions.
-
Comment définit-on la taille d’un volume logique LV ?
Par la taille des extensions physiques multipliée par le nombre d’extensions sur le volume.
-
Sur un disque formaté selon le schéma de partitionnement MBR, quel est l’ID de la partition système EFI ?
L’ID est
0xEF
. -
En dehors des partitions d’échange, comment peut-on augmenter rapidement l’espace swap sur un système Linux ?
Les fichiers swap peuvent être utilisés.