Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Red Hat Enterprise Linux - CentOS
  3. Partitions et système de fichiers
Extrait - Red Hat Enterprise Linux - CentOS Mise en production et administration de serveurs (4e édition)
Extraits du livre
Red Hat Enterprise Linux - CentOS Mise en production et administration de serveurs (4e édition) Revenir à la page d'achat du livre

Partitions et système de fichiers

Partitionner un disque

1. Structure d’un disque dur

a. Introduction aux disques durs et partitions

Types de disques durs

Dans ce chapitre, nous expliquons les différentes étapes depuis le choix du disque dur jusqu’à l’organisation des données, en passant par le partitionnement, le choix d’un système de fichiers et le formatage.

Il existe plusieurs technologies de disques durs, certaines plus orientées entreprises que d’autres :

  • IDE : orienté grand public, aujourd’hui obsolète, remplacé par le SATA.

  • SCSI : onéreux, mais offrant des performances adaptées aux entreprises.

  • SATA (Serial ATA) : successeur de l’IDE, peu coûteux et assez performant, même si ce type de disque est plutôt destiné aux particuliers par vocation.

  • SAS (Serial Attached SCSI) : combine les avantages du SCSI et du SATA.

  • SSD : citons cet outsider, qui n’est pas à proprement parler une technologie de disque dur, mais en présente les caractéristiques. Il s’agit de mémoire flash aux performances maintenant supérieures à celles des disques durs classiques. Son prix a considérablement baissé, il devient donc le choix de préférence dans les datacenters.

Choix du disque dur

Les disques durs SCSI ont pendant bien longtemps régné en entreprise, du fait de leurs performances.

Par exemple, les vitesses de rotation de disques SCSI sont de l’ordre de 10 000 à 15 000 tours/minute, réduisant les temps d’accès et de transfert. Cependant, les disques durs SATA sont maintenant bien implantés dans le marché de l’entreprise, quand bien même leurs vitesses de rotation seraient inférieures (de 7 200 à 10 000 tours/minute). Il faut en effet comparer d’autres critères...

LVM (Logical Volume Manager)

1. Présentation

LVM (Logical Volume Manager, gestion de volumes logiques) répond à un besoin de souplesse dans le partitionnement apparu avec le temps.

Il est vrai que le système classique de partitionnement a essayé d’évoluer avec les besoins. Les partitions logiques à l’intérieur d’une partition étendue permettaient d’étendre le nombre de partitions. Il est également devenu possible de redimensionner une partition mais cette opération est coûteuse en temps, parfois risquée, et ne peut pas se faire à chaud (quand le système de fichiers est utilisé).

LVM est, comme son nom l’indique, un type de gestion de volumes logiques, c’est-à-dire que l’on n’opère plus directement sur les partitions physiques du disque dur. On rajoute entre le disque dur et le système d’exploitation une couche intermédiaire, logicielle, bien plus souple à manipuler.

Fonctionnement

Le fonctionnement de LVM consiste à regrouper les disques durs et partitions physiques en un grand « fond commun », que l’on va redistribuer sous forme de nouvelles partitions, non plus physiques, mais logiques cette fois.

  • Les disques durs et partitions physiques sont appelés volumes physiques

  • Ce réservoir commun dans lequel ils sont réunis est appelé groupe de volumes. 

  • La redivision de ce fond commun en partitions logiques est appelée volumes logiques.

Une fois que l’on a compris la logique de LVM, l’administration en est relativement simple, car les commandes sont très explicites.

Volumes physiques

En anglais, les Physical Volumes (PV) peuvent être :

  • un disque entier (déconseillé),

  • des partitions d’un disque créées avec parted, primaires...

Stratis

Stratis, dont la promotion reste relativement discrète, est un outil développé par Red Hat et intégré à la version 8 de RHEL.

Stratis est un outil de gestion et de contrôle du stockage visant à unifier les technologies existantes et performantes de stockage, et les proposer dans une interface unique développée dans l’Espace Utilisateur (User Space). Cette technique permet de faire remonter des fonctions de bas niveau autrefois réservées au noyau, permettant de développer facilement de nouvelles fonctionnalités sans avoir à recompiler le noyau.

Stratis reprend dans une interface unique les concepts relatifs à LVM et XFS mais également de BTRFS, abandonné dans RHEL 8. Ainsi, dans la démonstration suivante, on retrouve des concepts familiers de LVM, tels que :

  • blockdev : équivalent du volume physique (LVM), les partitions et disques durs participant au pool.

  • pool : équivalent du groupe de volumes (LVM), regroupe les blockdevs en réservoirs de blocs de données, dans lesquels on pioche pour créer les filesystems.

  • filesystem : équivalent du volume logique (LVM), c’est la partition logique finale que l’on va monter dans notre arborescence. Notons que Stratis crée déjà le système de fichiers, contrairement à LVM qui nécessite ensuite l’utilisation de mkfs après la création du volume logique.

La création d’un système de fichiers avec Stratis est identique à la création d’un volume logique dans LVM.

1. Création d’un système de fichiers

D’abord, installez et démarrez Stratis, si cela n’est pas fait :

dnf install stratisd stratis-cli  
systemctl enable --now stratisd 

1) Déclaration de blockdevs...

RAID

1. Présentation

a. Qu’est-ce que le RAID ?

RAID est l’acronyme de Redundant Array of Independent (ou Inexpensive) Disks (arrangement redondant de disques indépendants, ou peu onéreux), qui essaie de décrire tant bien que mal la technique consistant à répartir les données sur plusieurs disques, pour augmenter la fiabilité, la tolérance aux pannes ou les performances. 

b. Niveaux de RAID

RAID 0 : volume agrégé par bandes

Le RAID 0 n’a pas pour but d’apporter de la fiabilité, mais de la performance. En effet, cette configuration permet de faire travailler plusieurs disques en parallèle.

Les données sont réparties par bandes sur l’ensemble des disques. Il est ainsi possible d’accéder à plusieurs données en même temps, réduisant significativement les temps d’accès.

Cependant, si l’un des disques tombe en panne, l’ensemble du volume est perdu.

RAID 1 : disques en miroir

Cette configuration veut apporter une fiabilité maximum, en écrivant sur deux ou plusieurs disques les mêmes données au même moment. Les disques sont ainsi des miroirs les uns des autres.

Suivant la configuration, même si plusieurs disques tombent en panne, les données sont toujours présentes et accessibles tant qu’il reste un disque valide.

Bien sûr, l’espace disponible est réduit. Pour un RAID 1 sur deux disques, on n’utilise que 50 % de l’espace disque total.

Cette configuration n’apporte aucun gain de performance.

RAID 5 : volume agrégé par bandes à parité répartie

Le RAID 5 essaie de faire un compromis entre du RAID 1 et un meilleur rendement de l’espace disque, en utilisant les mathématiques.

Cette technologie utilise une parité...

Installer un système de fichiers

1. Présentation

Un système de fichiers décrit la façon dont sont stockées et organisées les données sur un support de stockage quelconque, comme la mémoire de masse (disque dur, CD-ROM ou clé USB) ou le réseau.

Il est en effet nécessaire de décrire précisément comment s’effectue le stockage des données sur le support physique : comment sont indexés les fichiers et répertoires, comment les ouvrir, les supprimer ou les copier, comment y accéder.

Le système de fichiers fournit également une représentation des données à l’utilisateur, relativement indépendante de la structure physique des données. La plupart du temps, l’utilisateur verra les fichiers comme une arborescence de répertoires, dans lesquels se trouvent des fichiers et sous-répertoires.

Il existe plusieurs philosophies, plus ou moins standards, dans la façon d’organiser les données. Elles sont en général dépendantes des systèmes d’exploitation pour lesquels les systèmes de fichiers ont été créés. On peut en général les répartir dans les catégories suivantes :

  • Systèmes de fichiers non journalisés.

  • Systèmes de fichiers journalisés.

  • Système de fichiers réseau.

  • Système de fichiers distribués ou en cluster.

  • Il existe bien sûr beaucoup d’autres types de système de fichiers, dédiés à des applications bien spécifiques. On peut citer les systèmes de fichiers cryptographiques par exemple, le système de fichiers virtuels et les pseudo-systèmes de fichiers.

Par extension, le système de fichiers décrit également la partition...

Monter le système de fichiers

Le montage du système de fichiers consiste à donner une existence dans votre arborescence au système de fichiers que vous venez de créer. S’il est vrai que sur certains systèmes d’exploitation, comme Windows, cette étape est transparente, elle doit être effectuée par l’administrateur sur un serveur Red Hat Enterprise Linux.

La raison principale à cela, c’est que sous Linux, l’administrateur a certains choix à faire. La conception de l’arborescence dans les systèmes Linux fait que votre nouvelle partition sera complètement intégrée et donc transparente : un utilisateur non averti (et les logiciels) ne pourra dire si un répertoire est sur le disque local ou sur un autre disque.

Monter un système consiste donc à choisir un point d’accès à ce système de fichiers dans votre arborescence.

Cela se fait en définissant un répertoire qui permettra d’accéder à ce nouveau système de fichiers. En entrant dans ce répertoire, vous accédez en fait aux fichiers de la partition en question.

Ce répertoire d’accès est appelé point de montage.

Par exemple, vous venez de créer la partition /dev/sdb1. Il faut maintenant déclarer son existence dans l’arborescence. Vous créez un répertoire /database et associez ce répertoire à votre nouveau système de fichiers.

En entrant dans le répertoire /database/, vous accédez en fait aux fichiers de la partition /dev/sdb1.

L’intérêt de ce mécanisme, c’est que l’implémentation d’un nouveau système de fichiers est transparente pour le système d’exploitation et pour les programmes qui utilisent...

L’espace d’échange (Swap)

L’espace Swap est une partition formatée dans un type de système de fichiers spécifique. D’ailleurs, sous Linux, l’espace Swap peut aussi être un fichier, comme sous Windows. Cette méthode est de plus en plus utilisée, même si pour l’instant, c’est la partition Swap qui est conseillée par Red Hat.

Quelle taille pour la partition Swap ?

Il existe sur Internet des débats actifs et différentes conjectures sur la taille de la partition Swap, mais il est difficile d’établir une règle. Cependant, cette question est de moins en moins importante, l’espace Swap étant de moins en moins utilisé (bien que nécessaire), car les serveurs possèdent maintenant de la RAM (mémoire vive ou mémoire physique) en quantité importante.

Red Hat suggère le principe suivant :

  • Si la taille de la mémoire physique est inférieure ou égale à 2 Go, alors la partition Swap doit faire deux fois la taille de la mémoire physique.

  • Sinon, la taille de la mémoire Swap est égale à la mémoire physique + 2 Go.

Il est possible de redimensionner la partition Swap, mais cela n’est pas couvert dans ce chapitre.

1. Visualiser l’espace Swap

Pour visualiser l’espace Swap existant, utilisez les commandes suivantes :

swapon -s  
cat /proc/swaps 

Par exemple, voici l’espace existant sur un serveur :

[root@rhel-eni ~]# swapon -s  
Nom de fichier        Type          Taille     Utilisé   Priorité 
/dev/dm-1             partition     2097148    0         -1...

Système de fichiers chiffré

1. Installation

Le chiffrement consiste à cacher les informations, de façon à les rendre illisibles pour une personne non autorisée. Il est possible de chiffrer des fichiers, mais également des partitions entières. Pour accéder aux données chiffrées, l’utilisateur doit fournir une phrase de passe ou une clé stockée dans un fichier. 

Dans le cas du chiffrement d’une partition, ce secret doit être fourni au montage de la partition, bien souvent au démarrage. Une fois que la partition est montée, il n’est plus besoin de fournir la clé. C’est pour cela que le chiffrement de partition protège contre le démontage de disque : si l’attaquant vole la machine, lorsqu’il tentera de lire la partition, il n’aura que des données chiffrées. Mais cette technique ne protège pas contre l’accès aux données lorsque la partition est montée, c’est pourquoi il faut absolument protéger l’accès à la machine.

Le standard pour le chiffrement de partitions est LUKS (Linux Unified Key Setup-on-disk-format), qui est installé par défaut sur RHEL 8 et 9.

Il est possible de choisir de chiffrer la partition racine à l’installation du système. Si une phrase de passe est définie, il faudra l’entrer à chaque démarrage du système.

Nous choisissons ici d’illustrer le chiffrement d’une partition neuve sur un disque supplémentaire. Le chiffrement de partition étant une technique avancée, nous vous conseillons d’en être bien familier avant de l’installer sur des systèmes en production.

2. Création d’un système de fichiers chiffré

Le chiffrement de partitions...

L’arborescence du système de fichiers RHEL

1. Une arborescence conforme au FHS

Le FHS (Filesystem Hierarchy Standard, standard de hiérarchie du système de fichiers) définit les noms, les chemins et les permissions des fichiers et répertoires composant l’arborescence.

Ainsi, les systèmes UNIX/Linux respectant ce standard assurent une compatibilité minimum entre eux, ce qui rend les choses plus aisées pour les administrateurs et concepteurs de logiciels. Red Hat respecte le FHS pour son système d’exploitation.

Le site web associé à ce standard est : https://www.pathname.com/fhs

Ce site explique de manière assez complète l’arborescence FHS, mais nous allons ici expliquer quelques-uns des répertoires cruciaux pour l’administrateur.

2. Le répertoire /dev

Le répertoire /dev contient des fichiers représentant des périphériques connectés au système. Ces fichiers sont essentiels au bon fonctionnement du système.

On y trouve :

  • les périphériques connectés au système (exemple : disque dur, souris, carte son) ;

  • les périphériques virtuels créés par le noyau (exemple : système de fichiers virtuel (RAMdisk)).

Ces fichiers de périphériques, qu’on appelle nœuds de périphériques (device nodes) sont créés dynamiquement par le service udev, au démarrage du système, et lorsque de nouveaux périphériques sont détectés une fois le système démarré.

Les périphériques dans /dev/sont :

  • Soit de type caractère (character) : les données sont lues et écrites dans un flux séquentiel. Pour avoir une information précise sur un périphérique...