GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come abilitare la registrazione scsi aggiuntiva in CentOS/RHEL

Domanda :Come attivare i messaggi di debug estesi SCSI? Quali sono le definizioni di campo/flag di scsi_logging_level?

È possibile abilitare ulteriori messaggi di registrazione scsi scrivendo su /proc/sys/dev/scsi/logging_level sia tramite l'uso di echo o preferibilmente il sysctl comando. Il parametro del kernel è costituito da dieci campi compressi, ciascuno di 3 bit di lunghezza. Ciascun campo può avere un valore compreso tra 0 e 7. Maggiore è il valore del campo, più dettagliata sarà la registrazione dei messaggi associati a quel tipo di campo.

NOTA :l'attivazione di livelli elevati di registrazione estesa e/o più tipi di registrazione estesa può rallentare le prestazioni del sistema, soprattutto durante l'avvio e l'arresto. A meno che non sia necessario, evitare di attivare la registrazione scsi durante l'avvio.

Tempo di esecuzione

1. Abilita :

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

o

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

Dove N specifica quali campi abilitare ea quale livello di verbosità.

2. Disattiva:

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

o

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

Tempo di avvio

Abilita (CentOS/RHEL 5)

1. Modifica /etc/modprobe.conf con “opzioni scsi_mod scsi_logging_level=N “.

2. Ricostruisci il file immagine initrd per raccogliere il nuovo /etc/modprobe.conf file.

CentOS / RHEL 5:come ricostruire l'immagine Ramdisk iniziale

3. Modifica l'avvio riga in /boot/grub/grub.conf , rimuovi "silenzioso ' se presente, aggiungi 'debug ' o 'loglevel=10 ' (entrambi fanno la stessa cosa). Aggiungi anche "log_buf_len=8M ' per aumentare la dimensione del file di registro del kernel poiché la registrazione aggiuntiva creerà molti più messaggi.

4. Riavvia e cattura l'output dei messaggi.

# shutdown -r now

Abilita (CentOS/RHEL 6)

1. Modifica l'avvio riga in /boot/grub/grub.conf e aggiungi “scsi_logging_level=N “.

2. Modifica l'avvio riga e rimuovere "silenzioso ' se presente, aggiungi 'debug ' o 'loglevel=10 ' (entrambi fanno la stessa cosa). Aggiungi anche "log_buf_len=8M ' per aumentare la dimensione del file di registro del kernel poiché la registrazione aggiuntiva creerà molti più messaggi.

3. Riavvia e cattura l'output dei messaggi:

# shutdown -r now

Abilita (CentOS/RHEL 7 e 8)

1. Modifica "GRUB_CMDLINE_LINUX ” in /etc/default/grub e aggiungi “scsi_logging_level=N “.

2. Modifica "GRUB_CMDLINE_LINUX ” e rimuovi ‘silenzioso ' se presente, aggiungi 'debug ' o 'loglevel=10 '(entrambi fanno la stessa cosa). Aggiungi anche "log_buf_len=8M ' per aumentare la dimensione del file di registro del kernel poiché la registrazione aggiuntiva creerà molti più messaggi.

3. Modifiche a /etc/default/grub richiede la ricostruzione del file grub.cfg.

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

4. Riavvia e cattura l'output dei messaggi.

# shutdown -r now

Quello che fanno i flag sopra è aumentare il livello di registrazione esteso scsi per includere molte informazioni su errori e timeout e durante l'elaborazione della scansione, oltre a qualsiasi io che completi la coda di alto livello. Per creare manualmente un valore di maschera, fare riferimento a scsi_logging.h e scegliere quali campi si desidera abilitare.

/*
* 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;

Ad esempio, per attivare la registrazione massima associata a ioctl ed errori, viene impostato un valore ottale di 7000000007 (0x38000007) tramite 'sysctl -q -w dev.scsi.logging_level=0x38000007 '. Al contrario, se 'sysctl -q dev.scsi.logging_level' è stato utilizzato per interrogare il valore impostato corrente ed è stato restituito 402653425 (0x180000F1 o ottale 3000000361), attualmente le maschere di campo hanno ioctl=3, scan=3, timeout=6, ed errore=1 valori impostati.


Cent OS
  1. Come creare e abilitare la partizione di scambio su Centos / RHEL 8

  2. CentOS / RHEL 7:come avviare/arrestare o abilitare/disabilitare Firewalld

  3. Come abilitare IPv6 su CentOS/RHEL 6

  4. Come abilitare la registrazione SFTP senza chroot in CentOS/RHEL

  5. Come abilitare FTP in CentOS/RHEL 5 e 6

Come abilitare SELinux in CentOS/RHEL 7

Come abilitare il repository EPEL su RHEL 8 / CentOS 8 Linux

Come abilitare il repository EPEL in CentOS e RHEL

Come abilitare Kdump su RHEL 7 e CentOS 7

Come abilitare il repository EPEL su CentOS 8 e RHEL 8 Server

Come abilitare il repository EPEL su CentOS 7 / RHEL 7