Para aquellos que tropezaron con esta pregunta en 2016 ... Use ext4. Intenté btrfs y la diferencia es sustancial. Durante un período de 10 días, las IO escritas 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 quedan "silenciosos" cuando no hay actividad de escritura en la unidad. Eso es bueno.
Ext4 escribirá los datos modificados, más algunos gastos generales. Los gastos generales se refieren a los datos escritos. Una escritura 4K (1 bloque) empuja alrededor de 50-80 bloques de sobrecarga en la próxima confirmación. (El diario ext4 está totalmente habilitado)
Modifique un solo bloque de 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. Yo usé 120.
Ahora, depende de cómo use el SSD. Como root, generalmente hay una secuencia de escrituras bastante constante y de bajo nivel. Archivos de registro, archivos de deriva ntp, reconstrucciones de man db, actualizaciones de topología opensm, etc. Cada evento martillará una unidad btrfs con otras escrituras 4000-5000.
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 actualización del sistema más pequeña. Uno de los btrfs copia no sufrió. Mis escritores son, exactamente, ntp drift, topología opensm y actualizaciones de db man (todas las noches). Nada más golpea ese disco, excepto cosas iniciadas activamente como actualizaciones del sistema vim /etc/whatever
, etc.
En general, los SSD sufrirán muchas escrituras, de verdad. Simplemente no puedo ver el punto de desperdiciarlos solo porque los medios de comunicación están persiguiendo conejitos y arcoiris. Si desea pagar este precio por VACA, hágalo. Para "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 un cierto nivel de rendimiento, solo por la fuerza bruta. Ext4 no es, de lejos, el peor sistema de archivos conocido por el hombre.
Sin cheque mensual de fs. Prueba el guión a continuación. Es un hack 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 indicará cuántos bloques se escribieron, de acuerdo con la unidad en sí, y exactamente qué archivos se actualizaron. Necesita privs 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 /