Chapitre 11. Paramétrage du planificateur de disque
L'ordonnanceur de disque est chargé d'ordonner les demandes d'E/S soumises à un périphérique de stockage.
Vous pouvez configurer le planificateur de différentes manières :
- Définissez le planificateur à l'aide de TuneD, comme décrit dans la section Définition du planificateur de disque à l'aide de TuneD
-
Définissez le planificateur à l'aide de
udev
, comme décrit dans la section Définition du planificateur de disque à l'aide des règles udev - Modifier temporairement le planificateur d'un système en cours d'exécution, comme décrit dans la section Configuration temporaire d'un planificateur pour un disque spécifique
Dans Red Hat Enterprise Linux 9, les périphériques de blocs ne prennent en charge que l'ordonnancement à plusieurs files d'attente. Cela permet aux performances de la couche de blocs de bien s'adapter aux disques durs rapides (SSD) et aux systèmes multicœurs.
Les ordonnanceurs traditionnels à file d'attente unique, qui étaient disponibles dans Red Hat Enterprise Linux 7 et les versions antérieures, ont été supprimés.
11.1. Planificateurs de disques disponibles
Les ordonnanceurs de disques à plusieurs files d'attente suivants sont pris en charge dans Red Hat Enterprise Linux 9 :
none
- Met en œuvre un algorithme d'ordonnancement FIFO (premier entré, premier sorti). Il fusionne les demandes au niveau du bloc générique par le biais d'un simple cache de dernier arrivé.
mq-deadline
Tente de fournir une latence garantie pour les demandes à partir du moment où les demandes atteignent l'ordonnanceur.
L'ordonnanceur
mq-deadline
classe les demandes d'E/S en file d'attente dans un lot de lecture ou d'écriture, puis planifie leur exécution dans l'ordre croissant de l'adressage logique des blocs (LBA). Par défaut, les lots de lecture sont prioritaires sur les lots d'écriture, car les applications sont plus susceptibles de se bloquer sur les opérations d'E/S de lecture. Après quemq-deadline
a traité un lot, il vérifie pendant combien de temps les opérations d'écriture ont été privées de temps processeur et planifie le lot de lecture ou d'écriture suivant, selon le cas.Cet ordonnanceur convient à la plupart des cas d'utilisation, mais surtout à ceux dans lesquels les opérations d'écriture sont principalement asynchrones.
bfq
Cible les systèmes de bureau et les tâches interactives.
Le planificateur
bfq
garantit qu'une seule application n'utilise jamais la totalité de la bande passante. En effet, l'unité de stockage est toujours aussi réactive que si elle était inactive. Dans sa configuration par défaut,bfq
s'efforce de fournir la latence la plus faible possible plutôt que d'atteindre un débit maximal.bfq
est basé sur le codecfq
. Il n'accorde pas le disque à chaque processus pour une tranche de temps fixe, mais attribue au processus une adresse budget mesurée en nombre de secteurs.Ce planificateur convient à la copie de fichiers volumineux et le système ne devient pas insensible dans ce cas.
kyber
L'ordonnanceur s'adapte pour atteindre un objectif de latence en calculant les latences de chaque demande d'E/S soumise à la couche d'E/S par bloc. Vous pouvez configurer les temps de latence cibles pour les demandes de lecture, en cas d'oubli de cache, et d'écriture synchrone.
Cet ordonnanceur est adapté aux périphériques rapides, par exemple NVMe, SSD, ou d'autres périphériques à faible latence.