Question Quel système de fichiers Linux fonctionne le mieux avec SSD


De wiki:

La fonction vitale TRIM est supportée par le système d’exploitation Linux à partir de   2.6.33 noyau (disponible début 2010). Cependant, le support entre différents systèmes de fichiers est toujours incohérent ou absent. Bonne partition   l'alignement n'est pas non plus effectué par le logiciel d'installation.

Alors, quel système de fichiers fonctionne le mieux pour SSD et supporte l’alignement des partitions TRIM + pendant l’installation et est disponible sur Ubuntu?


113
2018-01-03 17:44


origine




Réponses:


Système de fichiers EXT4 + TRIM:

  • EXT4 avec TRIM améliore les performances en réduisant les écritures inutiles se connecte au disque SSD en limitant les cycles de réécriture.
  • Ubuntu et d'autres versions de Linux prennent en charge EXT 4 avec TRIM hors de la boîte.

Partition SWAP:

  • Assurez-vous de ne pas avoir d’espace SWAP sur le SSD, encore une fois pour réduire les cycles d'écriture.
  • Si vous avez un lecteur mécanique, vous devez créer un espace SWAP sur le lecteur mécanique, et éviter de l'avoir sur le SSD.

Alignement de partition:

  • La partition doit commencer sur une limite de 1 Mo pour que la taille du bloc du système de fichiers s'aligne sur la taille de bloc du SSD.

Donc utiliser EXT4 + TRIM avec un SWAP sur un disque dur mécanique ou pas de SWAP sur SSD.

Ce qui précède peut être mis en œuvre en faisant référence à la source: Comment optimiser les performances SSD.


86
2017-08-30 06:05



GPT est la méthode moderne utilisant gdisk Et grub 2.0.x, (Je suppose que quelqu'un l'a mentionné ci-dessous dans une réponse) et MBR est la méthode héritée de l'ancien grub 0.9.7 et fdisk.. vous pouvez trouver plus ici: wiki.archlinux.org/index.php/Solid_State_Drives - aliasgar
Il est inutile de préciser nodiratime quand vous spécifiez aussi noatime. D'accord, il a l'air cool et avancé aux autres nerds, mais depuis noatime désactive les atodes sur les inodes, et les répertoires sont aussi des inodes, c'est comme dire "se laver les mains et se laver les pouces aussi". :) - Redsandro
Par expérience, je peux dire qu'aucun programmateur ("noop") ne fonctionne plus vite que les délais. - drumfire
Non, "Partitions d'échange Linux effectuent par défaut des opérations TRIM lorsque le périphérique de bloc sous-jacent prend en charge TRIM, avec la possibilité de les désactiver ou de choisir entre des opérations TRIM ponctuelles ou continues. "Une partition de swap doit donc être placée sur un SSD temps d'accès, ce qui entraînera beaucoup de temps chaque échange de page se produit - phuclv
@Totor Comme mentionné dans le lien, nous déposons également des réponses entières copiées depuis un autre endroit sous forme de plagiat. (Ou l'appeler différemment, mais ce n'est pas acceptable même avec l'attribution). S'il vous plaît prendre d'autres questions à Meta. Je vais supprimer ce fil hors sujet. - slhck


Réponse courte

  • Choisir ext4et soit le monter avec le discard option pour RÉDUIRE prendre en charge ou utiliser FITRIM (voir ci-dessous). Utilisez également le noatime option si vous craignez "usure SSD".

  • Ne changez pas votre programmateur d'E / S par défaut (CFQ) sur des serveurs multi-applications, car elle assure l’équité entre les processus et prend automatiquement en charge les disques SSD. cependant, utiliser la date limite sur les ordinateurs de bureau pour obtenir une meilleure réactivité sous charge.

  • Pour garantir facilement l'alignement 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. Sur les distributions récentes, cela se fera automatiquement pour vous.

  • Réfléchissez à deux fois avant d'utiliser swap sur SSD. Il sera probablement beaucoup plus rapide que l'échange sur le disque dur, mais il portera également le disque plus rapidement (ce qui peut ne pas être pertinent, voir ci-dessous).

Longue réponse

  • Systèmes de fichiers:

Ext4 est le système de fichiers Linux le plus courant (bien entretenu). Il fournit de bonnes performances avec SSD et supporte le RÉDUIRE (et FITRIM) fonctionnalité permettant de conserver de bonnes performances SSD au fil du temps (ceci efface les blocs de mémoire inutilisés pour un accès ultérieur plus rapide en écriture). NILFS est spécialement conçu pour les lecteurs de mémoire flash, mais ne pas  vraiment effectuer mieux que ext4 sur les benchmarks. Btrfs est toujours considéré comme expérimental (et ne fonctionne pas vraiment mieux non plus).

  • SSD performance & TRIM:

le RÉDUIRE fonctionnalité efface les blocs SSD qui ne sont plus utilisés par le système de fichiers. Cela optimisera les performances d'é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 identifier le lecteur à propos de ces blocs. le discardoption de montage de ext4 émettra une telle RÉDUIRE commandes lorsque les blocs du système de fichiers sont libérés. C'est jeter 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 faire occasionnel lot défausse avec FITRIM à la place (par exemple du crontab). le fstrim l'utilitaire fait cela (en ligne), ainsi que le -E discard option de fsck.ext4. Vous aurez cependant besoin d'une version "récente" de ces outils.

  • Usure SSD:

Vous voudrez peut-être limiter les écritures sur votre disque car la durée de vie des disques SSD est limitée à cet égard. Ne vous inquiétez pas trop cependant, aujourd'hui, le pire SSD de 128 Go peut prendre en charge au moins 20 Go de données écrites par jour pendant plus de 5 ans (1000 cycles d'écriture par cellule). Les meilleurs (et aussi les plus gros) peuvent durer beaucoup plus longtemps: vous les aurez probablement remplacés d'ici là.

Si vous voulez utiliser échanger sur SSD, le noyau remarquera un disque non rotatif et randomiser l'utilisation du swap (niveau d'usure au niveau du noyau): vous verrez alors un SS (Solid State) dans le message du noyau lorsque swap est activé:

Ajout de 2097148k swap sur / dev / sda1. Priorité: -1 étendue: 1   à travers: 2097148k SS

  • I / O Schedulers:

Aussi, je suis d'accord avec la plupart des aliasgarla réponse (même si la plus grande partie a été par erreur?) ce site), mais je dois en partie être en désaccord sur planificateur partie. Par défaut, le planificateur de délai est optimisé pour les disques rotatifs comme il implémente le algorithme d'ascenseur. Alors, clarifions cette partie.

Réponse longue sur les ordonnanceurs

A partir du noyau 2.6.29, les disques SSD sont automatiquement détectés et vous pouvez vérifier ceci avec:

cat /sys/block/sda/queue/rotational

Tu devrais 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, la documentation du noyau cfq-iosched.txt fichier dit:

CFQ a quelques optimisations pour les SSD et si elle détecte un non-rotationnel   des supports pouvant prendre en charge une plus grande profondeur de file d'attente (plusieurs requêtes à   vol à la fois), [...].

En outre, le planificateur Deadline essaie de limiter les mouvements de tête non ordonnés sur les disques rotatifs, en fonction du numéro de secteur. Citant le doc du noyau deadline-iosched.txt, fifo_batch  description de l'option:

Les requêtes sont regroupées en «lots» d'une direction de données particulière   (lecture ou écriture) qui sont desservies par ordre sectoriel croissant.

Cependant, régler ce paramètre sur 1 lorsque vous utilisez un SSD peut être intéressant:

Ce paramètre règle la balance entre la latence par requête et   débit agrégé. Lorsque la faible latence est la principale préoccupation,   plus petit est mieux (où une valeur de 1 donne le premier arrivé, premier servi)   comportement). Augmenter fifo_batch améliore généralement le débit, à   le coût de la variation de latence.

Certains repères  suggérer  cette il y a peu de différence de performance entre les différents ordonnanceurs. Alors, pourquoi ne pas recommander justice? quand CFQ est rarement mauvais sur le banc. Cependant, sur les configurations de bureau, vous rencontrerez généralement 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 benchmark essaierait d'utiliser Deadline with 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"

63
2018-02-12 23:45



Que voulez-vous dire par cet alignement de partitionnement est automatiquement pris en charge sur les distributions récentes? S'applique-t-il également lorsque vous utilisez un partitionnement manuel, par ex. installation Ubuntu ou lors du partitionnement par gparted? - jarno
@jarno dans les distributions les plus récentes (depuis plusieurs années maintenant), les outils de partitionnement, de fdisk à travers les éléments graphiques, ont tendance à créer automatiquement des alignements de partitions à des multiples de 1 Mo à partir du démarrage du périphérique. Cela s'aligne de manière préventive sur 512 octets, 4 k, 8 k et un demi-bazillion d'autres tailles de bloc / cluster de nature 2 ^ n. Il est presque impossible d'aligner une partition à moins que vous ne fassiez un effort important pour le faire. - killermist


L'article archlinux Disques Solid State dit dans la section Choix du système de fichiers :

De nombreuses options existent pour les systèmes de fichiers, y compris Ext2 / 3/4, Btrfs, etc.

Btrfs 
Le support de Btrfs a été inclus dans la version 2.6.29 du noyau Linux. Certains estiment qu'il n'est pas assez mature   pour une utilisation de production alors qu'il y a aussi des adopteurs précoces de cette   successeur potentiel de ext4. Les utilisateurs sont encouragés à lire le    Btrfs article pour plus d'informations.

Ext4 
Ext4 est un autre système de fichiers prenant en charge SSD. Il est considéré comme stable depuis le 2.6.28 et est suffisamment mature pour une utilisation quotidienne.   Contrairement à Btrfs, ext4 ne détecte pas automatiquement la nature du disque;   les utilisateurs doivent explicitement activer le support de commande TRIM en utilisant le   Supprimer l'option de montage dans fstab (ou avec tune2fs -o Discard / dev / sdaX).

Btrfs et Ext4 remplissent les deux conditions principales d’une utilisation efficace du disque SSD:

  • Le système de fichiers doit pouvoir envoyer des commandes ATA_TRIM au SSD sous-jacent
  • Le système de fichiers ne doit pas effectuer d'écritures inutiles sur le disque

Pour la performance, il existe deux autres exigences:

  • Les partitions doivent être alignées sur la taille de bloc du SSD
  • TRIM doit être explicitement activé pour chaque partition formatée Ext4

Le premier est aujourd'hui automatique avec la plupart des installateurs Linux. fdisk créera également des partitions à la frontière de 1024 Ko si elles sont démarrées avec les indicateurs "-cu".

Le second est automatique pour Btrfs, mais pour Ext4, cela est fait manuellement par Ajouter "Discard" à la liste des options de montage pour chaque partition Ext4 du fichier "/ etc / fstab". Pour plus de détails voir ceci comment.

À mon avis, cela nécessitait peu de bidouillage avec fstab pour Ext4 Il n'y a aucune raison de ne pas utiliser ce système de fichiers mature et excellent.


12
2017-08-30 05:59





BTRFS IMO. Ubuntu 8.04 et versions ultérieures ont inclus des versions de GRUB compatibles avec le GPT. Avec GPT et Gdisk, vous allez aligner vos partitions. Je pense que fdisk le fera également.

Quoi qu’il en soit, voici un lien vers une installation Ubuntu sur un système de fichiers BTRFS.

http://www.linuxbsdos.com/2011/05/05/how-to-install-ubuntu-11-04-on-a-btrfs-file-system/

J'espère que cela pourra aider.


-2
2017-08-29 20:56