|
Recherche |
Introduction Le disque dur est un organe central de votre serveur dédié et même de petites détériorations peuvent avoir beaucoup d'incidence : perte de données, lenteurs sur vos sites, comportements étranges. Ce guide propose 3 moyens de vérifier l'état du disque dur et de pré-diagnostiquer un éventuel problème qui pourrait conduire au changement préventif du disque. Procédure Toutes ces vérifications impliquent d'être connecté en SSH sur votre serveur. Pour plus de détails : SshSurServeurDedie.
La commande badblocks permet d'établir la liste des blocs susceptibles d'être défectueux sur une partition. La commande prend le nom d'une partition en argument. Sur un serveur en Redhat, /dev/hda1 pour la partition / et /dev/hda2 pour /home. Ici, nous voyons qu'un certains nombre de blocs sont suspects sur la partition racine : [root@julien /]# badblocks /dev/hda1 1014224 1014225 1014226 1014227 1014228 1014229 1014230 1014231 1014232 1014233 1014234 1014235 1014236 1014237 1014238 1014239 1704833
Le noyau Linux conserve les logs de tout ce qui touche aux périphériques et notamment les disques durs. Il est donc très facile de retrouver les erreurs retournées par un disque dur lors de l'accès à un bloc défectueux. [root@julien /]# dmesg | grep UncorrectableError? hda: dma_intr: error=0x40 { UncorrectableError? }, LBAsect=2028538, sector=2028511 hda: dma_intr: error=0x40 { UncorrectableError? }, LBAsect=2028538, sector=2028519 hda: dma_intr: error=0x40 { UncorrectableError? }, LBAsect=2028538, sector=2028527 hda: dma_intr: error=0x40 { UncorrectableError? }, LBAsect=2028538, sector=2028535 hda: dma_intr: error=0x40 { UncorrectableError? }, LBAsect=2028538, sector=2028511 hda: dma_intr: error=0x40 { UncorrectableError? }, LBAsect=2028538, sector=2028519 hda: dma_intr: error=0x40 { UncorrectableError? }, LBAsect=2028538, sector=2028527 hda: dma_intr: error=0x40 { UncorrectableError? }, LBAsect=2028538, sector=2028535 hda: dma_intr: error=0x40 { UncorrectableError? }, LBAsect=2028538, sector=2028535 hda: dma_intr: error=0x40 { UncorrectableError? }, LBAsect=2028538, sector=2028535 hda: dma_intr: error=0x40 { UncorrectableError? }, LBAsect=2028538, sector=2028535 hda: dma_intr: error=0x40 { UncorrectableError? }, LBAsect=2028538, sector=2028535 hda: dma_intr: error=0x40 { UncorrectableError? }, LBAsect=2031694, sector=2031681 hda: dma_intr: error=0x40 { UncorrectableError? }, LBAsect=3409734, sector=3409733 hda: dma_intr: error=0x40 { UncorrectableError? }, LBAsect=3409738, sector=3409735 hda: dma_intr: error=0x40 { UncorrectableError? }, LBAsect=3409738, sector=3409735 hda: dma_intr: error=0x40 { UncorrectableError? }, LBAsect=3409738, sector=3409735 D'après le résultat, nous voyons qu'un certains nombre de blocs ont posé problème lors de l'accès au disque. D'autres erreurs peuvent également apparaître (par exemple Time Out) mais la situation n'est vraiment critique que lorsqu'il s'agit d'une Uncorrectable Error. Si les erreurs ne sont pas récentes, vous pouvez également faire une recherche dans toutes les logs disponible à l'aide de cette commande : [ root@julien /]# grep UncorrectableError? /var/log/messages * /var/log/messages:Oct 5 11:14:20 julien kernel: hda: dma_intr: error=0x40 { Uncorrectable Error }, LBAsect=2028538, sector=2028511 /var/log/messages:Oct 5 11:14:25 julien kernel: hda: dma_intr: error=0x40 { Uncorrectable Error }, LBAsect=2028538, sector=2028519 /var/log/messages:Oct 5 11:14:30 julien kernel: hda: dma_intr: error=0x40 { Uncorrectable Error }, LBAsect=2028538, sector=2028527 /var/log/messages:Oct 5 11:14:35 julien kernel: hda: dma_intr: error=0x40 { Uncorrectable Error }, LBAsect=2028538, sector=2028535 /var/log/messages:Oct 5 11:14:59 julien kernel: hda: dma_intr: error=0x40 {Uncorrectable Erro }, LBAsect=2028538, sector=2028511 /var/log/messages:Oct 5 11:15:28 julien kernel: hda: dma_intr: error=0x40 { Uncorrectable Error , LBAsect=2028538, sector=2028519
En utilisation normale de votre serveur (compilation d'une application, compression/décompression d'un fichier...), vous obtiendrez ce genre d'erreur lors de la lecture ou écriture sur certaines parties endommagées du disque : end_request: I/O error, dev hda, sector 2028535 Buffer I/O error on device hda1, logical block 253559 Les erreurs d'Input/Output (ou entrée/sortie) ne sont généralement pas un indicateur de bonne santé du disque. Conclusion Si vous obtenez des résultats similaires sur l'un de ces tests, il y a de fortes chances que votre disque présente de gros problèmes dans un futur proche. Il est alors fortement recommandé de sauvegarder le contenu de votre disque et de contacter notre support pour plannifier rapidement le changement du disque dur. Dans ce cas, merci de fournir les erreurs que vous aurez relevé sur votre serveur. |