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

Comment activer la journalisation scsi supplémentaire dans CentOS/RHEL

Question :Comment activer les messages de débogage étendus scsi ? Quelles sont les définitions de champ/d'indicateur de scsi_logging_level ?

Des messages de journalisation scsi supplémentaires peuvent être activés en écrivant dans /proc/sys/dev/scsi/logging_level soit via l'utilisation de l'écho ou de préférence le sysctl commande. Le paramètre de noyau se compose de dix champs condensés, chacun de 3 bits de long. Chaque champ peut avoir une valeur comprise entre 0 et 7. Plus la valeur du champ est élevée, plus la journalisation des messages associés à ce type de champ est détaillée.

REMARQUE :L'activation de niveaux élevés de journalisation étendue et/ou de plusieurs types de journalisation étendue peut ralentir les performances du système, en particulier lors du démarrage et de l'arrêt. Sauf si nécessaire, évitez d'activer la journalisation scsi lors du démarrage.

Durée d'exécution

1. Activer :

# sysctl -q -w dev.scsi.logging_level=[N]

ou

# echo [N] > /proc/sys/dev/scsi/logging_level

N spécifie les champs à activer et à quel niveau de verbosité.

2. Désactiver :

# sysctl -q -w dev.scsi.logging_level=0

ou

# echo 0 > /proc/sys/dev/scsi/logging_level

Heure de démarrage

Activer (CentOS/RHEL 5)

1. Modifiez /etc/modprobe.conf avec "options scsi_mod scsi_logging_level=N ".

2. Reconstruisez le fichier image initrd pour récupérer le nouveau /etc/modprobe.conf dossier.

CentOS / RHEL 5 :Comment reconstruire l'image initiale du disque RAM

3. Modifiez le démarrage ligne dans /boot/grub/grub.conf , supprimez "silencieux ‘ si présent, ajoutez soit ‘debug ' ou 'loglevel=10 ' (Ils font tous les deux la même chose). Ajoutez également 'log_buf_len=8M ‘ pour augmenter la taille du fifo du journal du noyau puisque la journalisation supplémentaire créera beaucoup plus de messages.

4. Redémarrez et capturez la sortie des messages.

# shutdown -r now

Activer (CentOS/RHEL 6)

1. Modifiez le démarrage ligne dans /boot/grub/grub.conf et ajoutez "scsi_logging_level=N ".

2. Modifiez le démarrage ligne et supprimez "silencieux ‘ si présent, ajoutez soit ‘debug ' ou 'loglevel=10 ' (Ils font tous les deux la même chose). Ajoutez également 'log_buf_len=8M ‘ pour augmenter la taille du fifo du journal du noyau puisque la journalisation supplémentaire créera beaucoup plus de messages.

3. Redémarrez et capturez la sortie des messages :

# shutdown -r now

Activer (CentOS/RHEL 7 et 8)

1. Modifiez le "GRUB_CMDLINE_LINUX ” ligne dans /etc/default/grub et ajoutez "scsi_logging_level=N ".

2. Modifiez le "GRUB_CMDLINE_LINUX ” ligne et supprimez 'silencieux ‘ si présent, ajoutez soit ‘debug ' ou 'loglevel=10 '(Ils font tous les deux la même chose). Ajoutez également 'log_buf_len=8M ‘ pour augmenter la taille du fifo du journal du noyau puisque la journalisation supplémentaire créera beaucoup plus de messages.

3. Modifications apportées à /etc/default/grub nécessite la reconstruction du fichier grub.cfg.

# grub2-mkconfig -o /boot/grub2/grub.cfg

4. Redémarrez et capturez la sortie des messages.

# shutdown -r now

Ce que font les drapeaux ci-dessus est d'augmenter le niveau de journalisation étendu scsi pour inclure de nombreuses informations sur les erreurs et les délais d'attente et pendant le traitement de l'analyse, ainsi que sur tout io qui termine la file d'attente de haut niveau. Pour créer manuellement une valeur de masque, veuillez consulter scsi_logging.h et choisissez les champs que vous souhaitez activer.

/*
* This defines the scsi logging feature. It is a means by which the user
* can select how much information they get about various goings on, and it
* can be really useful for fault tracing. The logging word is divided into
* 8 nibbles, each of which describes a loglevel. The division of things is
* somewhat arbitrary, and the division of the word could be changed if it
* were really needed for any reason. The numbers below are the only place
* where these are specified. For a first go-around, 3 bits is more than
* enough, since this gives 8 levels of logging (really 7, since 0 is always
* off).
*/
#define SCSI_LOG_ERROR_SHIFT 0
#define SCSI_LOG_TIMEOUT_SHIFT 3
#define SCSI_LOG_SCAN_SHIFT 6
#define SCSI_LOG_MLQUEUE_SHIFT 9
#define SCSI_LOG_MLCOMPLETE_SHIFT 12
#define SCSI_LOG_LLQUEUE_SHIFT 15
#define SCSI_LOG_LLCOMPLETE_SHIFT 18
#define SCSI_LOG_HLQUEUE_SHIFT 21
#define SCSI_LOG_HLCOMPLETE_SHIFT 24
#define SCSI_LOG_IOCTL_SHIFT 27
#define SCSI_LOG_ERROR_BITS 3 /* additional logging associated with errors and recovery */
#define SCSI_LOG_TIMEOUT_BITS 3 /* additional logging associated with command timeouts */
#define SCSI_LOG_SCAN_BITS 3 /* additional logging associated with device scans and discovery */
#define SCSI_LOG_MLQUEUE_BITS 3 /* additional logging associated with mid-level command queueing */
#define SCSI_LOG_MLCOMPLETE_BITS 3 /* additional logging associated with mid-level command completions */
#define SCSI_LOG_LLQUEUE_BITS 3 /* additional logging associated with low-level command queueing */
#define SCSI_LOG_LLCOMPLETE_BITS 3 /* additional logging associated with low-level command completions */
#define SCSI_LOG_HLQUEUE_BITS 3 /* additional logging associated with hi-level command queueing */
#define SCSI_LOG_HLCOMPLETE_BITS 3 /* additional logging associated with hi-level command completions */
#define SCSI_LOG_IOCTL_BITS 3 /* additional logging associated with ioctl (typ: non-data commands) */
extern unsigned int scsi_logging_level;

Pour activer la journalisation maximale associée aux ioctls et aux erreurs, par exemple, une valeur octale de 7000000007 (0x38000007) serait définie via 'sysctl -q -w dev.scsi.logging_level=0x38000007 ‘. Inversement, si 'sysctl -q dev.scsi.logging_level' a été utilisé pour interroger la valeur définie actuelle et a été renvoyé 402653425 (0x180000F1 ou octal 3000000361), alors actuellement les masques de champ ont ioctl=3, scan=3, timeout=6, et error=1 valeurs définies.


Cent OS
  1. Comment activer IPv6 sur CentOS / RHEL 7

  2. CentOS / RHEL :Comment activer SSL pour Apache

  3. Comment activer IPv6 dans CentOS / RHEL 5

  4. Comment activer le transfert X11 sur CentOS/RHEL 5,6,7

  5. Comment activer le débogage CUPS sur CentOS/RHEL

Comment activer SELinux dans CentOS/RHEL 7

Comment activer le référentiel EPEL sur RHEL 8 / CentOS 8 Linux

Comment activer le référentiel EPEL dans CentOS et RHEL

Comment activer Kdump sur RHEL 7 et CentOS 7

Comment activer le référentiel EPEL sur les serveurs CentOS 8 et RHEL 8

Comment activer le référentiel EPEL sur CentOS 7 / RHEL 7