Nous sommes très intéressés par l'exploration de la possibilité d'utiliser des disques SSD dans un environnement de serveur. Cependant, une chose que nous devons établir est la longévité attendue du disque. Selon cet article, les fabricants rapportent la durabilité du disque en termes de 'total des octets écrits' (TBW). Par exemple, d'après cet article, un SSD Crucial C400 est évalué à 72TB TBW. Existe-t-il des scripts / outils sous l'écosystème Linux pour nous aider à mesurer le TBW? (et ainsi prendre une décision plus éclairée sur la faisabilité de l'utilisation de disques SSD)
Réponses
Trop de publicités?Une autre possibilité est de regarder /proc/diskstats. Il n'est pas persistant à travers les redémarrages, mais il contient des données pour chaque périphérique de bloc. Probablement ce qui vous intéresse le plus est le champ 10, qui contient le nombre total de secteurs écrits. Sur un système avec des disques scsi avec une taille de secteur de 512 octets, vous pourriez exécuter
awk '/sd/ {print $3"\t"$10 / 2 / 1024}' /proc/diskstats
pour voir combien de mégaoctets ont été écrits sur chaque périphérique. La sortie ressemblera à
sda 728.759
sda1 79.0908
sda2 649.668
J'ai été confronté au même problème sur mon ordinateur portable, mais comme je le redémarre pratiquement tous les jours, la réponse acceptée n'était pas utile. J'ai un SSD Samsung mSATA, qui a l'attribut SMART #241 Total_LBAs_Written. Selon la documentation officielle,
Pour calculer la taille totale (en octets), multipliez la valeur brute de cet attribut par 512 octets.
Ainsi, la commande suivante me donne le total de TB écrits sur mon disque SSD (sdb)
sudo smartctl -A /dev/sdb | awk '/^241/ { print "TBW: "($10 * 512) * 1.0e-12, "TB" } '
Comme cela fonctionne également sur mon disque dur, je suppose que cela devrait fonctionner sur pratiquement tous les disques durs modernes.
Pour mon KINGSTON SEDC400S37480G, sous Ubuntu Server 14.04, j'utilise le script suivant pour surveiller le TBW. Je le lance depuis cron une fois par jour. Le script produit une sortie vers un fichier journal.
Vous avez besoin de calcul pour que cela fonctionne. Installez calc en utilisant:
apt-get install apcalc
Contenu du script:
echo "*** $(date -R) ***" >> /scripts/tbw/log.txt
tbw=$(cat /sys/fs/ext4/sda1/lifetime_write_kbytes)
TB=1000000000
echo TB écrit sur sda1: >> /scripts/tbw/log.txt | calc $tbw / $TB >> /scripts/tbw/log.txt
Produira:
*** Thu, 20 Jul 2017 03:02:51 +0300 ***
TB écrit sur sda1:
3.062138442