GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment vérifier un disque pour les blocs défectueux ou les erreurs de disque sur CentOS / RHEL

Les disques durs peuvent échouer de manière inattendue et il est toujours préférable de conserver des sauvegardes récentes de toutes les données importantes. Veuillez garder à l'esprit que même si une panne actuelle ou imminente est détectée, il se peut qu'il n'y ait pas assez de temps pour sauvegarder les données. Vous trouverez ci-dessous plusieurs méthodes qui peuvent être utilisées pour identifier les blocs défectueux ou les erreurs de disque dans CentOS/RHEL.

Utiliser smartctl

S'il y a plusieurs erreurs d'E/S dans /var/log/messages ou si l'on soupçonne simplement que les disques durs sont défaillants, smartctl peut être un outil utile pour les vérifier. S.M.A.R.T. signifie Self-Monitoring , Analyse et Technologie de création de rapports . Vous devez activer le S.M.A.R.T. prise en charge dans le BIOS avant de l'utiliser.

Ensuite, installez les packages nécessaires pour exécuter /usr/sbin/smartctl. Dans Red Hat Enterprise Linux, il est fourni par les smartmontools paquet.

1. Vérifiez si votre disque dur prend en charge S.M.A.R.T. :

# smartctl -i /dev/xxx

Remplacez /dev/xxx par le disque dur qui vous intéresse lorsque vous utilisez les commandes décrites dans cet article.

2. Pour les disques SATA, utilisez :

# smartctl -i -d ata /dev/xxx

3. Activez S.M.A.R.T. prise en charge avec :

# smartctl -s on /dev/xxx            ### For SCSI Disks
# smartctl -s on -d ata /dev/xxx     ### for SATA Disks

4. L'exécution de la commande suivante en tant que root peut être un test rapide RÉUSSITE/ÉCHEC, mais des tests plus approfondis décrits ci-dessous sont généralement plus concluants :

# smartctl -H /dev/xxx

Exécuter smartctl en arrière-plan

Pour démarrer un test en arrière-plan, exécutez ce qui suit en tant que root :

# smartctl -t long /dev/xxx

Pour accéder aux résultats, utilisez la commande suivante :

# smartctl -a /dev/xxx

Pour en savoir plus sur les différentes options pouvant être utilisées avec smartctl, consultez la page de manuel de la commande :

# man smartctl

Utiliser des badblocks

Vous pouvez également utiliser la commande "badblocks" afin de vérifier les blocs défectueux sur un périphérique de disque. La commande "badblocks" peut être très utile pour isoler les problèmes de synchronisation des partitions LVM sous Linux. Les opérations LVM échoueront en raison de blocs défectueux sur un disque. Les blocs défectueux sur le disque source ou de destination dans un miroir LVM entraîneront un échec de synchronisation.

Badblocks peut également être utilisé en conjonction avec fsck et makefs pour marquer les blocs comme mauvais. Si la sortie de badblocks doit être transmise aux programmes e2fsck ou mke2fs, il est important que la taille de bloc soit correctement spécifiée, car les numéros de bloc générés dépendent fortement de la taille de bloc utilisée par le système de fichiers. Pour cette raison, il est fortement recommandé aux utilisateurs de ne pas exécuter badblocks directement, mais plutôt d'utiliser l'option -c des programmes e2fsck et mke2fs.

Avertissement :La mauvaise utilisation de ces commandes peut entraîner une perte de données. Des informations supplémentaires sur la commande « badblocks » sont disponibles en utilisant la commande « man badblocks ».

1. Utilisez l'outil de vérification de disque badblocks pour analyser le disque dur spécifié bloc par bloc. Par exemple, pour scanner /dev/sdd, lancez les commandes :

# mount | grep sdd                  # find all mounted partitions of sdd
# umount /dev/sdd1                  # unmount the partitions (may be more then one)
# badblocks -n -vv /dev/sdd

-n utilise le mode lecture-écriture non destructif. Par défaut, seul un test non destructif en lecture seule est effectué.

Remarque :N'utilisez jamais le -w option sur un périphérique contenant un système de fichiers existant. Cette option efface les données ! Si le test en mode écriture doit être effectué sur un système de fichiers existant, utilisez le -n à la place. C'est plus lent, mais cela préservera les données.

2. Si des messages similaires aux exemples trouvés ci-dessous apparaissent dans /var/log/messages ou sur la console suite à l'exécution de badblocks, il est recommandé de sauvegarder toutes les données sur les appareils concernés et de remplacer l'appareil :

Apr  4 13:50:40 test kernel: sdd: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Apr  4 13:50:40 test kernel: sdd: dma_intr: error=0x40 { UncorrectableError }, LBAsect=74367249, sector=74367232
Apr  4 13:50:40 test kernel: ide: failed opcode was: unknown
Apr  4 13:50:40 test kernel: end_request: I/O error, dev sdd, sector 74367232
Apr  4 13:50:42 test kernel: sdd: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Apr  4 13:50:42 test kernel: sdd: dma_intr: error=0x40 { UncorrectableError }, LBAsect=74367249, sector=74367240
Apr  4 13:50:42 test kernel: ide: failed opcode was: unknown
Apr  4 13:50:42 test kernel: end_request: I/O error, dev sdd, sector 74367240
Apr  4 13:50:44 test kernel: sdd: dma_intr: status=0x51 { DriveReady SeekComplete Error }

3. La commande ci-dessous videra les blocs défectueux trouvés dans le fichier de sortie :badblocks.log.

# badblocks -v -o badblocks.log /dev/sdd


Cent OS
  1. Comment créer un fichier Kickstart pour CentOS/Fedora/RedHat (RHEL)

  2. Comment vérifier les blocs défectueux sur un volume physique Lvm ?

  3. CentOS / RHEL 7 :Comment activer telnet pour un groupe d'utilisateurs

  4. Comment supprimer un disque ASM sur un périphérique multichemin dans CentOS/RHEL

  5. Comment définir children-max pour le service udev dans CentOS/RHEL 7

Comment vérifier les secteurs défectueux ou les blocs défectueux sur le disque dur sous Linux

Comment vérifier le disque dur pour les secteurs ou blocs défectueux sous Linux

Comment activer le quota de disque d'utilisateur et de groupe sur CentOS 7 / RHEL 7

Comment vérifier les blocs défectueux ou les secteurs défectueux sur le disque dur sous Linux

Comment vérifier la version de CentOS

Comment installer Varnish Cache 6 pour Nginx sur CentOS/RHEL 8