Réponse courte
Choisissez ext4 et montez-le avec l' discardoption de support TRIM ou utilisez FITRIM (voir ci-dessous). Utilisez également l' noatimeoption 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/sdXpour 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' discardoption 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 discardet choisir de supprimer occasionnellement un lot avec FITRIM (par exemple, à partir de la crontab). L’ fstrimutilitaire le fait (en ligne), ainsi que l’ -E discardoption 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 SSmessage (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 1pour les disques durs et 0pour un SSD.
Désormais, le planificateur CFQ peut adapter son comportement en fonction de ces informations. Depuis Linux 3.1, le cfq-iosched.txtfichier 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.rulescomme 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.7etfdisk.. vous pouvez trouver plus ici: wiki.archlinux.org/index.php/Solid_State_Drives