Réponse courte
Choisissez ext4 et montez-le avec l' discard
option de support TRIM ou utilisez FITRIM (voir ci-dessous). Utilisez également l' noatime
option si vous craignez "l'usure des disques SSD".
Ne changez pas votre planificateur d'E / S (CFQ) par défaut sur des serveurs multi-applications , car il assure une équité entre les processus et prend en charge automatiquement les disques SSD. Cependant, utilisez Date limite sur les ordinateurs de bureau pour obtenir une meilleure réactivité sous charge.
Pour garantir facilement un alignement correct des données, le secteur de départ de chaque partition doit être un multiple de 2048 (= 1 Mio). Vous pouvez utiliser fdisk -cu /dev/sdX
pour les créer. Lors des récentes distributions, cela s’occupera automatiquement de vous.
Réfléchissez à deux fois avant d'utiliser swap sur SSD. Il sera probablement beaucoup plus rapide que le swap sur disque dur, mais le disque s'use également plus rapidement (ce qui peut ne pas être pertinent, voir ci-dessous).
Longue réponse
Ext4 est le système de fichiers Linux le plus répandu (bien entretenu). Il offre de bonnes performances avec les disques SSD et prend en charge la fonctionnalité TRIM (et FITRIM) pour conserver de bonnes performances SSD au fil du temps (cela efface les blocs de mémoire inutilisés pour un accès en écriture rapide et ultérieur). NILFS est spécialement conçu pour les lecteurs de mémoire flash, mais ne fonctionne pas vraiment mieux que ext4 sur les tests. Btrfs est toujours considéré comme expérimental (et ne fait pas vraiment mieux non plus ).
La fonction TRIM efface les blocs SSD qui ne sont plus utilisés par le système de fichiers. Cela optimisera les performances en écriture à long terme et est recommandé sur les disques SSD en raison de leur conception. Cela signifie que le système de fichiers doit pouvoir indiquer au lecteur ces blocs. L' discard
option de montage de ext4 émettra de telles commandes TRIM lorsque les blocs du système de fichiers seront libérés. Ceci est un rejet en ligne .
Cependant, ce comportement implique une légère surcharge de performances. Depuis Linux 2.6.37, vous pouvez éviter d'utiliser discard
et choisir de supprimer occasionnellement un lot avec FITRIM (par exemple, à partir de la crontab). L’ fstrim
utilitaire le fait (en ligne), ainsi que l’ -E discard
option de fsck.ext4
. Vous aurez cependant besoin de la version "récente" de ces outils.
Vous voudrez peut-être limiter les écritures sur votre lecteur, car les disques SSD ont une durée de vie limitée à cet égard. Ne vous inquiétez pas trop , cependant , le pire disque dur SSD de 128 Go peut prendre en charge au moins 20 Go de données écrites par jour pendant plus de 5 ans (1 000 cycles d'écriture par cellule). Les meilleurs (et aussi les plus grands) peuvent durer beaucoup plus longtemps: vous les aurez probablement remplacés d'ici là.
Si vous souhaitez utiliser le swap sur SSD, le noyau remarquera un disque non rotatif et procédera à une randomisation de l'utilisation du swap (nivellement de l'usure au niveau du noyau): vous verrez alors un SS
message (Solid State) dans le message du noyau lorsque le swap est activé:
Ajout de 2097148k swap sur / dev / sda1. Priorité: -1 étendue: 1 sur: 2097148k SS
De plus, je suis d’accord avec la plupart des réponses d’ aliasgar (même si la plupart d’entre elles ont été copiées de manière non conforme sur ce site Web ), mais je ne suis pas tout à fait d’accord sur le rôle du planificateur . Par défaut, le planificateur d'échéance est optimisé pour les disques en rotation lorsqu'il implémente l' algorithme d'ascenseur . Alors, clarifions cette partie.
Réponse longue sur les planificateurs
À partir du noyau 2.6.29, les disques SSD sont automatiquement détectés et vous pouvez le vérifier avec:
cat /sys/block/sda/queue/rotational
Vous devriez obtenir 1
pour les disques durs et 0
pour un SSD.
Désormais, le planificateur CFQ peut adapter son comportement en fonction de ces informations. Depuis Linux 3.1, le cfq-iosched.txt
fichier de documentation du noyau dit :
CFQ dispose d’optimisations pour les disques SSD et s’il détecte un support non rotatif pouvant prendre en charge une plus grande profondeur de file d’attente (plusieurs demandes en vol à la fois), [...].
De plus, le planificateur d'échéance tente de limiter les mouvements de tête non ordonnés sur les disques de rotation, en fonction du numéro de secteur. Citation de la documentation sur le noyau deadline-iosched.txt
, fifo_batch
description de l'option :
Les demandes sont regroupées dans des "lots" d'une direction de données particulière (lecture ou écriture), qui sont traités dans un ordre de secteur croissant.
Toutefois, il peut être intéressant de régler ce paramètre sur 1 lors de l’utilisation d’un disque SSD:
Ce paramètre ajuste la balance entre la latence par requête et le débit global. Lorsque la latence est la principale préoccupation, le plus petit est le mieux (où une valeur de 1 correspond au comportement du premier arrivé, premier servi). L'augmentation de fifo_batch améliore généralement le débit, au détriment de la variation de latence.
Certains points de repère suggèrent qu'il y a peu de différence de performance entre les différents ordonnanceurs. Alors, pourquoi ne pas recommander l' équité ? quand CFQ est rarement mauvais sur le banc . Toutefois, sur les configurations de bureau, vous obtiendrez généralement une meilleure réactivité en utilisant Deadline sous charge, en raison de sa conception (probablement à un coût de débit inférieur).
Cela dit, un meilleur point de repère essaierait d'utiliser Deadline avec fifo_batch=1
.
Pour utiliser Deadline sur les SSD par défaut, vous pouvez créer un fichier, par exemple, /etc/udev.d/99-ssd.rules
comme suit:
# all non-rotational block devices use 'deadline' scheduler
# mostly useful for SSDs on desktops systems
SUBSYSTEM=="block", ATTR{queue/rotational}=="0", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/scheduler}="deadline"
gdisk
&grub 2.0.x
, (je suppose que quelqu'un l'a mentionné ci-dessous dans une réponse) et MBR est la méthode traditionnelle utilisant l'anciengrub 0.9.7
etfdisk
.. vous pouvez trouver plus ici: wiki.archlinux.org/index.php/Solid_State_Drives