Red Hat Training

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

Chapitre 40. 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 delai 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éninialiser 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 de canal de fibre 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, vous pouvez écrire dans /sys/block/device-name/device/timeout. Pour cela, exécutez :
echo value /sys/block/device-name/device/timeout
Ici, valeur correspond à la valeur du délai d'expiration (en secondes) que vous souhaitez implémenter.