Saltar al contenido

¿Debo usar btrfs o Ext4 para mi SSD?

El paso a paso o código que encontrarás en este artículo es la resolución más fácil y efectiva que hallamos a esta inquietud o problema.

Solución:

Según las pruebas de phoronix siempre depende de muchos factores. En un caso Btrfs lo estará haciendo mucho mejor que EXT4 al leer archivos grandes en un SSD. Del mismo modo, al considerar el rendimiento de las transacciones de disco, Ext4 puede funcionar mejor que el último.

Puede echar un vistazo a estas pruebas aquí, aquí y aquí (ADVERTENCIA: artículos extensos).

Pero resumiendo en conjunto, Btrfs en este momento no tiene una ventaja de rendimiento cuantitativo sobre el sistema de archivos EXT4, Incluso cuando se usa en el modo SSD.

Para que puedas elegir Ext4 por ahora.

Para aquellos que se encuentren con esta pregunta en 2016 … Use ext4. Probé btrfs y la diferencia es sustancial. Durante un período de 10 días, los IO de escritura en ext4 ascendieron a 17.800 sectores. Btrfs? 490.400 sectores. Mismo SSD, sistema de archivos idéntico, particiones diferentes. Básicamente, la misma carga de trabajo.

Tanto ext4 como btrfs se vuelven “silenciosos” cuando no hay actividad de escritura en la unidad. Eso es bueno.

Ext4 escribirá los datos modificados, más algunos gastos generales. La sobrecarga se relaciona con los datos escritos. Una escritura de 4K (1 bloque) empuja alrededor de 50 a 80 bloques de sobrecarga en la siguiente confirmación. (El diario ext4 está completamente habilitado)

Modifique un solo bloque 4K en btrfs y empujará entre 4000-5000 bloques de sobrecarga en la próxima confirmación. La confirmación predeterminada es de 30 segundos, creo. Usé 120.

Ahora, depende de cómo uses la SSD. Como root, normalmente hay un flujo de escrituras bastante constante y de bajo nivel. Archivos de registro, archivos de deriva ntp, reconstrucciones de db man, actualizaciones de topología de opensm, etc. Cada evento martillará una unidad btrfs con otras 4000-5000 escrituras.

Los números de 10 días anteriores son para mi SSD de “escritura limitada”. La mayor parte de esos 17.800 sectores fueron el resultado de una pequeña actualización del sistema. Una, la copia de btrfs no sufrió. Mis escritores son, exactamente, ntp drift, topología opensm y actualizaciones man db (todas las noches). Nada más llega a ese disco, excepto cosas iniciadas activamente como actualizaciones del sistema, vim /etc/whateveretc.

En general, los SSD sufrirán muchas escrituras, de verdad. No veo el sentido de desperdiciarlos solo porque los medios de comunicación están persiguiendo conejitos y arcoíris. Si quieres pagar este precio por VACA, hazlo. Por “rendimiento”, no tanto. Es un SSD y probablemente podría poner el peor “sistema de archivos” conocido por el hombre y aún así obtener cierto nivel de rendimiento, simplemente por la fuerza bruta. Ext4 no es, de lejos, el peor sistema de archivos conocido por el hombre.

Sin cheque mensual de fs. Pruebe el siguiente guión. Es un truco 100%, no funcionará para puntos de montaje md,

#! /bin/bash
dev=`cat /proc/mounts | grep " $1 " | awk 'print $1'`
x=`basename $dev`
vmnam=`lsblk $dev -o MOUNTPOINT,PKNAME | grep "$1" | awk 'print $2'`
vmx=`vmstat -d | grep $vmnam | awk 'print $8'`
lbax=`smartctl -a $dev | grep LBA | awk 'print $10'`
tmpnam=`mktemp XXX`
echo "Tracking device: $dev, mounted on $1 (vmstat on $vmnam)"
tim=`date +%s`
timx=`date +%s`
while true
do
    vm=`vmstat -d | grep "$vmnam" | awk 'print $8'`
    lba=`smartctl -a $dev | grep LBA | awk 'print $10'`
    if [ "$vm" != "$vmx" ]
    then
        tim=`date +%s`
        dif=`dc <<< "$vm $vmx - p"`
        lbad=`dc <<< "$lba $lbax - p"`
        timd=`dc <<< "$tim $timx - p"`
        echo `date` " (sec=$timd) writes=$vm (dif=$dif) (lba=$lbad)"
        vmx="$vm"
        lbax="$lba"
        timx="$tim"
        find "$1" -mount -newer "$tmpnam" -print | grep -v "/tmp"
        touch "$tmpnam" 
    fi
    sleep 1 
done

Le dirá cuántos bloques se escribieron, de acuerdo con la unidad en sí, y exactamente qué archivos se actualizaron. Necesita privilegios de raíz. Ver por ti mismo. Ejecuto SSD en el sistema de archivos raíz y llamo al script stat.sh. Entonces... sudo ./stat.sh /

La última vez que lo probé, y todavía no he escuchado algo diferente en ninguna parte, ext4 come medios de estado sólido. (memorias USB, unidades de estado sólido, etc.) No recomiendo usarlo en un dispositivo de este tipo. Utilice ext3 en su lugar. Para la mayoría de los casos en SSD, no podrá notar la diferencia de todos modos.

BTRFS aún no es del todo estable. Sin embargo, es lo suficientemente estable para aplicaciones no críticas. Es lo que uso para hacer unidades flash de arranque. Si usa compress = zlib y ssd como sus opciones de montaje, la compresión compensará las velocidades de escritura más bajas de la mayoría de los medios de estado sólido y el ssd cambia el algoritmo de asignación a uno que funcione significativamente mejor en tales dispositivos y compensará cualquier mala nivelación del desgaste por parte del hardware. El área de rendimiento que sigue siendo un problema es que las llamadas de sincronización son lentas. Esto no es un problema para el uso general, pero las llamadas de dpkg se sincronizan después de cada operación, por lo que la instalación y actualización del software puede ser lenta. BTRFS también ofrece instantáneas y otras funciones avanzadas que son bastante útiles en determinadas circunstancias.

Si decide utilizar BTRFS, asegúrese de utilizar una distribución que utilice el kernel 3.2.0-2 o posterior. 3.1.x es viable si es necesario. Para los núcleos más antiguos, deberá compilar los últimos módulos BTRFS usted mismo. Los incorporados son casi estables, pero la corrección de errores no funciona en las versiones anteriores, lo que puede dejarlo en un aprieto si algo sale mal. Las últimas versiones tienen fsck que realmente puede reparar las fallas más comunes.

Una advertencia final, he escuchado informes de que los archivos de intercambio en un sistema de archivos BTRFS lo corromperán. Es posible que este problema se haya solucionado, pero asegúrese de verificarlo detenidamente antes de implementar uno.

Si necesita ayuda para configurar la configuración de BTRFS de la manera deseada, hágamelo saber. He hecho un par de locuras que funcionan bastante bien para cosas específicas.

Eres capaz de añadir valor a nuestra información cooperando tu veteranía en las ilustraciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *