GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué sistema de archivos de Linux funciona mejor con SSD?

Sistema de archivos EXT4 + TRIM:

  • EXT4 con TRIM mejora el rendimiento al reducir los ciclos de escritura innecesarios en la unidad SSD, ya que limitan los ciclos de escritura y reescritura.
  • Ubuntu y algunas otras versiones de Linux son compatibles con EXT 4 con TRIM listo para usar.

Partición SWAP:

  • Asegúrese de no tener un espacio SWAP en el SSD, de nuevo para reducir los ciclos de escritura.
  • Si tiene una unidad mecánica, debe crear un espacio SWAP en la unidad mecánica y evitar tenerlo en la SSD.

Alineación de partición:

  • La partición debe comenzar en un límite limpio de 1 MB para que el tamaño del bloque del sistema de archivos se alinee con el tamaño del bloque del SSD.

Así que usa EXT4 + TRIM con SWAP en un disco duro mecánico o sin SWAP en SSD.

Lo anterior se puede implementar consultando la Fuente:Cómo maximizar el rendimiento de SSD.


Respuesta corta

  • Elija ext4 , y montarlo con el discard opción para soporte TRIM, o use FITRIM (vea abajo). Usa también el noatime opción si temes el "desgaste SSD".

  • No cambie su programador de E/S predeterminado (CFQ) en servidores de múltiples aplicaciones , ya que proporciona equidad entre procesos y tiene soporte SSD automático. Sin embargo, use Deadline en computadoras de escritorio para obtener una mejor capacidad de respuesta bajo carga.

  • Para garantizar fácilmente la alineación adecuada de los datos, el sector inicial de cada partición debe ser un múltiplo de 2048 (=1 MiB). Puedes usar fdisk -cu /dev/sdX para crearlos. En distribuciones recientes, automáticamente se encargará de esto por usted.

  • Piénselo dos veces antes de usar el intercambio en SSD. Probablemente será mucho más rápido en comparación con el intercambio en HDD, pero también desgastará el disco más rápido (lo que puede no ser relevante, consulte a continuación).

Respuesta larga

  • Sistemas de archivos:

Ext4 es el sistema de archivos Linux más común (bien mantenido). Proporciona un buen rendimiento con SSD y es compatible con TRIM (y FITRIM) para mantener un buen rendimiento SSD a lo largo del tiempo (esto borra los bloques de memoria no utilizados para un rápido acceso de escritura posterior). NILFS está especialmente diseñado para unidades de memoria flash, pero en realidad no funciona mejor que ext4 sobre puntos de referencia. Btrf todavía se considera experimental (y en realidad tampoco funciona mejor).

  • Rendimiento SSD y TRIM:

El RECORTE La función borra los bloques SSD que el sistema de archivos ya no utiliza. Esto optimizará el rendimiento de escritura a largo plazo y se recomienda en SSD debido a su diseño. Significa que el sistema de archivos debe poder informarle a la unidad sobre esos bloques. El discard opción de montaje de ext4 emitirá tal TRIM comandos cuando se liberan los bloques del sistema de archivos. Esto es descarte en línea .

Sin embargo, este comportamiento implica una pequeña sobrecarga de rendimiento. Desde Linux 2.6.37, puede evitar usar discard y elija hacer descartes por lotes ocasionales con FITRIM en su lugar (por ejemplo, desde el crontab). El fstrim La utilidad hace esto (en línea), así como el -E discard opción de fsck.ext4 . Sin embargo, necesitará una versión "reciente" de estas herramientas.

  • Desgaste de SSD:

Es posible que desee limitar las escrituras en su disco, ya que SSD tiene una vida útil limitada en este sentido. Sin embargo, no se preocupe demasiado , el peor SSD de 128 GB de la actualidad puede admitir al menos 20 GB de datos escritos por día durante más de 5 años (1000 ciclos de escritura por celda). Los mejores (y también los más grandes) pueden durar mucho más:es muy probable que lo hayas reemplazado para entonces.

Si desea utilizar intercambiar en SSD, el kernel notará un disco no rotativo y aleatoriamente el uso de intercambio (nivelación de desgaste del nivel del kernel):luego verá un SS (Estado sólido) en el mensaje del núcleo cuando el intercambio está habilitado:

Agregar intercambio de 2097148k en /dev/sda1. Prioridad:-1 extensiones:1 en:2097148k SS

  • Programadores de E/S:

Además, estoy de acuerdo con la mayoría de aliasgar La respuesta de (incluso si la mayor parte ha sido -¿ilegalmente?- copiada de este sitio web), pero debo estar en parte en desacuerdo con el programador parte. De forma predeterminada, el programador de fechas límite es optimizado para discos rotacionales ya que implementa el algoritmo del elevador. Entonces, aclaremos esta parte.

Respuesta larga sobre programadores

A partir del kernel 2.6.29, los discos SSD se detectan automáticamente y puede verificar esto con:

cat /sys/block/sda/queue/rotational

Deberías obtener 1 para discos duros y 0 para un SSD.

Ahora, el planificador de CFQ puede adaptar su comportamiento en función de esta información. Desde Linux 3.1, la documentación del kernel cfq-iosched.txt archivo dice:

CFQ tiene algunas optimizaciones para SSD y si detecta un medio no rotacional que puede admitir una mayor profundidad de cola (múltiples solicitudes en curso a la vez), [...].

Además, el planificador de fecha límite intenta limitar los movimientos desordenados de la cabeza en los discos giratorios, según el número de sector. Citando el documento del núcleo deadline-iosched.txt , fifo_batch descripción de la opción:

Las solicitudes se agrupan en ``lotes'' de una dirección de datos particular (lectura o escritura) que se atienden en orden de sector creciente.

Sin embargo, puede ser interesante ajustar este parámetro a 1 cuando se utiliza un SSD:

Este parámetro ajusta el equilibrio entre la latencia por solicitud y el rendimiento agregado. Cuando la latencia baja es la preocupación principal, cuanto más pequeño es mejor (donde un valor de 1 produce un comportamiento de orden de llegada). El aumento de fifo_batch generalmente mejora el rendimiento, a costa de la variación de la latencia.

Algunos puntos de referencia sugieren que hay poca diferencia en el rendimiento entre los diferentes planificadores. Entonces, ¿por qué no recomendar equidad? ? cuando CFQ rara vez es malo en el banquillo . Sin embargo, en las configuraciones de escritorio, por lo general experimentará una mejor capacidad de respuesta con Fecha límite bajo carga, debido a su diseño (aunque probablemente a un menor costo de rendimiento).

Dicho esto, un mejor punto de referencia intentaría usar Deadline con fifo_batch=1 .

Para usar Deadline en SSD de forma predeterminada, puede crear un archivo, digamos /etc/udev.d/99-ssd.rules de la siguiente manera:

# 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"

El artículo de archlinux Unidades de estado sólido dice en la sección Elección del sistema de archivos:

Existen muchas opciones para sistemas de archivos, incluidos Ext2/3/4, Btrfs, etc.

Btrfs
El soporte de Btrfs se ha incluido con la versión principal 2.6.29 del kernel de Linux. Algunos sienten que no es lo suficientemente maduro para su uso en producción, mientras que también hay usuarios pioneros de este posible sucesor de ext4. Se anima a los usuarios a leer el artículo de Btrfs para obtener más información.

Ext4
Ext4 es otro sistema de archivos que tiene soporte para SSD. Se considera estable desde 2.6.28 y es lo suficientemente maduro para el uso diario. A diferencia de Btrfs, ext4 no detecta automáticamente la naturaleza del disco; los usuarios deben habilitar explícitamente la compatibilidad con el comando TRIM utilizando la opción de montaje de descarte en fstab (o con tune2fs -o descartar /dev/sdaX).

Tanto Btrfs como Ext4 cumplen los dos requisitos principales para un uso eficiente de la SSD:

  • El sistema de archivos debe poder emitir comandos ATA_TRIM al SSD subyacente
  • El sistema de archivos no debe realizar escrituras innecesarias en el disco

Para el rendimiento, hay otros dos requisitos:

  • Las particiones deben estar alineadas con el tamaño de bloque del SSD
  • TRIM debe habilitarse explícitamente para cada partición formateada con Ext4

El primero es hoy en día automático con la mayoría de los instaladores de Linux. fdisk también creará particiones en el borde de 1024 KB si se inicia con las banderas "-cu".

El segundo es automático para Btrfs, pero para Ext4 esto se hace manualmente agregando "descartar" a la lista de opciones de montaje para cada partición Ext4 en el archivo "/etc/fstab". Para obtener más detalles, consulte este tutorial.

En mi opinión, esto requirió un poco de manipulación con fstab para Ext4 no es razón para no usar este excelente y maduro sistema de archivos.


Linux
  1. 8 mejores prácticas con sudo en Linux:qué hacer y qué no hacer con sudo

  2. Linux:al instalar Linux en una unidad USB, ¿qué sistema de archivos debo usar para formatear para obtener el mejor rendimiento?

  3. ¿Qué sistema de archivos para respaldar es el mejor?

  4. Linux:¿cómo montar un sistema de archivos remoto especificando un número de puerto?

  5. Cómo crear un sistema de archivos ZFS con compresión de archivos en Linux

Linux qué comando

¿Qué distribución de Linux es la mejor para la privacidad?

Ubuntu vs Linux Mint:cuál es mejor

Cinnamon Vs GNOME:¿Qué entorno de escritorio Linux es el mejor?

Los 10 mejores derivados de Ubuntu:¿cuál es tu favorito?

¿Qué herramienta de copia de seguridad local es la mejor en Linux?