Défragmentation disque dur

Bonjour

J’ai un petit serveur lenny bricolé (vieil ordinateur transformé en serveur).
J’ai mon disque dur qui fait des écritures ininterrompus pendant au moins 1 heure. (un peu comme une défragmentation sur Windaube)
Ces écritures reviennent périodiquement toutes les 9-10 heures.

Je ne sais pas quel programme ou module lance ces écritures.

J’ai installé smartmontools et j’ai ce type de log dans daemon.log

Nov 1 13:42:51 localhost smartd[2114]: Device: /dev/hdc, SMART Prefailure Attribute: 7 Seek_Error_Rate changed from 100 to 200

un smartctl -A /dev/hdc

me donne ça :

[code]smartctl version 5.38 [i686-pc-linux-gnu] Copyright © 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0007 167 146 021 Pre-fail Always - 2175
4 Start_Stop_Count 0x0032 099 099 040 Old_age Always - 1891
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x000b 200 200 051 Pre-fail Always - 0
9 Power_On_Hours 0x0032 051 051 000 Old_age Always - 36438
10 Spin_Retry_Count 0x0013 100 100 051 Pre-fail Always - 0
11 Calibration_Retry_Count 0x0013 100 100 051 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 099 099 000 Old_age Always - 1838
194 Temperature_Celsius 0x0022 114 253 000 Old_age Always - 36
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0012 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0012 200 200 000 Old_age Always - 0
199 UDMA_CRC_Error_Count 0x000a 200 253 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0009 200 155 051 Pre-fail Offline - 0
[/code]

Pensez-vous que le disque dur est en train de mourir ?
Quel est l’origine de cette défragmentation ?

Merci

Old_age , disque vieux
Pre_fail, pas loin de claquer
Rien qui n’incite à l’optimisme …

Pour le grattage, si ce n’est le disque dur qui révèle des symptomes de dysfonctionnements
ça pourrait être à cause de la swap en quantité insuffisante,

$ cat /proc/swaps
$ free -m

ou bien une tâche programmée comme updatedb qui met à jour la base de données de locate.

En tout cas les attributs SMART n’indiquent aucun problème (ce qui ne veut pas dire qu’il n’y en a pas, hein). Les messages de smartd n’ont pas d’importance tant que l’attribut concerné reste au-dessus du seuil, sauf pour certains attributs comme le nombre de secteurs “pending” ou “reallocated” (dont les valeurs brutes sont à 0 pour ce disque, donc pas de souci de ce côté). Donc non, je ne pense pas que le disque est en train de mourir.

EDIT pour etxeberrizahar : Old_age et Pre_fail sont des types d’attributs, pas des états. L’état, c’est la valeur de l’attribut et la date de la défaillance.

L’activité disque intense que tu observes n’est probablement pas une défragmentation, du moins pas celle d’un système de fichiers car à ma connaissance les systèmes de fichiers de Linux ne font pas de défragmentation systématique. Si c’est périodique, c’est peut-être une tâche lancée par cron comme une indexation des fichiers pour locate ou équivalent, ou une opération de maintenance sur une base de données (postgesql fait ça).

Il faudrait regarder les processus qui font beaucoup d’accès disque lors de ces périodes d’intense activité disque, ou à défaut ceux qui occupent beaucoup de temps CPU. L’activité disque n’est pas forcément corrélée à l’occupation CPU, mais assez souvent ils vont de pair, car il faut bien traiter les données lues ou écrites.

Cela pourrait être aussi dû au swap. Il faudrait vérifier l’occupation de la mémoire et du swap avec free.

+1 rien à signaler du côté smart. Pour voir qui engendre des entrées/sorties, tu peux utiliser iotop.