Pour ceux qui sont tombés sur cette question en 2016 ... Utilisez ext4. J'ai essayé btrfs et la différence est substantielle. Sur une période de 10 jours, les EI d'écriture sur ext4 représentaient 17 800 secteurs. Btrfs? 490 400 secteurs. Même SSD, système de fichiers identique, différentes partitions. Fondamentalement, même charge de travail.
Ext4 et btrfs deviennent "silencieux" lorsqu'il n'y a aucune activité d'écriture sur le lecteur. C'est bon.
Ext4 écrira les données modifiées, plus des frais généraux. Les frais généraux concernent les données écrites. Une écriture 4K (1 bloc) pousse environ 50 à 80 blocs de surcharge lors de la prochaine validation. (Le journal ext4 est entièrement activé)
Modifiez un seul bloc 4K sur btrfs et vous pousserez entre 4000 et 5000 blocs de surcharge lors du prochain commit. La validation par défaut est de 30 secondes, je crois. J'en ai utilisé 120.
Maintenant, cela dépend de la façon dont vous utilisez le SSD. En tant que root, il y a généralement un flux d'écritures assez constant et de bas niveau. Fichiers journaux, fichiers de dérive ntp, reconstructions man db, mises à jour de topologie opensm, etc., etc. Chaque événement martèlera un lecteur btrfs avec encore 4000 à 5000 écritures.
Les numéros de 10 jours ci-dessus sont pour mon SSD "écriture limitée". La majeure partie de ces 17 800 secteurs sont le résultat d'une mise à jour du système de petite taille. Une copie de btrfs n'a pas souffert. Mes rédacteurs sont, exactement, ntp drift, opensm topology et man db updates (nightly). Rien d'autre ne frappe ce disque, à l'exception de choses initiées activement comme les mises à niveau du système,vim /etc/whatever
, etc.
Sur les SSD entiers, beaucoup d'écrits souffriront vraiment. Je ne vois pas l'intérêt de les gaspiller, car les médias chassent les lapins et les arcs-en-ciel. Si vous voulez payer ce prix pour COW, allez-y. Pour la "performance", pas tant que ça. C'est un SSD et vous pourriez probablement y installer le pire "système de fichiers" connu de l'homme, tout en obtenant un certain niveau de performances - juste par la force brute. Ext4 n'est, de loin, pas le pire système de fichiers connu de l'homme.
Pas de vérification fs mensuelle. Essayez le script ci-dessous. C'est un hack à 100%, ne fonctionnera pas pour les points de montage 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
Il vous dira combien de blocs ont été écrits, selon le lecteur lui-même, et exactement quels fichiers ont été mis à jour. Besoin de privilèges root. Voir par vous-même. J'exécute SSD sur le système de fichiers racine et appelle le script stat.sh. Donc...sudo ./stat.sh /