Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

24.19. Contrôle du Minuteur de commande SCSI et du Statut de périphérique

La couche Linux SCSI définit un minuteur pour chaque commande. Lorsque ce délai expire, la couche SCSI va suspendre l' adaptateur de bus hôte (HBA) et attendre que toutes les commandes dépassent le délai d'expiration ou soient complétées. Par la suite, la couche SCSI activera le gestionnaire d’erreurs du pilote.
Quand le gestionnaire d'erreurs est déclenché, il tente les opérations suivantes dans l'ordre (jusqu'à ce qu'une opération exécute avec succès) :
  1. Annuler la commande.
  2. Réinitialiser le périphérique.
  3. Réinitialiser le bus.
  4. Réinitialiser l'hôte.
Si toutes ces opérations échouent, le périphérique sera sur le statut offline. Dans un tel cas, toutes les E/S de ce périphérique échoueront, jusqu'à ce que le problème soit corrigé et que l'utilisateur définisse le périphérique à running.
Le processus est différent, cependant, si un périphérique utilise le protocole Fibre Channel et que le rport est bloqué, les pilotes attendent quelques secondes pour que le rport revienne en ligne à nouveau avant d’activer le gestionnaire d’erreurs. Cela empêche les périphériques d'être hors ligne en raison de problèmes de transport temporaires.

États de périphériques

Pour afficher l'état d'un périphérique, exécutez :
$ cat /sys/block/device-name/device/state
Pour définir un périphérique à l'état running, exécutez :
# echo running > /sys/block/device-name/device/state

Minuteur de commande

Pour contrôler le minuteur de commande, modifiez le fichier /sys/block/device-name/device/timeout :
# echo value > /sys/block/device-name/device/timeout
Remplacez la valeur de la commande par la valeur du délai d'expiration (en secondes) que vous souhaitez implémenter.