GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So aktivieren Sie die zusätzliche SCSI-Protokollierung in CentOS/RHEL

Frage :Wie schalte ich erweiterte SCSI-Debug-Meldungen ein? Was sind die Feld-/Flag-Definitionen von scsi_logging_level?

Zusätzliche SCSI-Protokollierungsmeldungen können durch Schreiben in /proc/sys/dev/scsi/logging_level aktiviert werden entweder über das Echo oder besser das sysctl Befehl. Der Kernel-Parameter besteht aus zehn gepackten Feldern mit jeweils 3 Bit Länge. Jedes Feld kann einen Wert von 0 bis 7 haben. Je höher der Feldwert, desto ausführlicher die Protokollierung von Nachrichten, die diesem Feldtyp zugeordnet sind.

HINWEIS :Das Aktivieren hoher Ebenen der erweiterten Protokollierung und/oder mehrerer Arten der erweiterten Protokollierung kann die Systemleistung verlangsamen, insbesondere während des Bootens und Herunterfahrens. Vermeiden Sie es, die SCSI-Protokollierung während des Systemstarts einzuschalten, es sei denn, dies ist erforderlich.

Laufzeit

1. Aktivieren :

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

oder

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

Wo N gibt an, welche Felder aktiviert werden sollen und auf welcher Ausführlichkeitsstufe.

2. Deaktivieren:

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

oder

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

Startzeit

Aktivieren (CentOS/RHEL 5)

1. Ändern Sie /etc/modprobe.conf mit „options scsi_mod scsi_logging_level=N “.

2. Erstellen Sie die initrd-Image-Datei neu, um die neue /etc/modprobe.conf aufzunehmen Datei.

CentOS / RHEL 5 :So erstellen Sie das ursprüngliche Ramdisk-Image neu

3. Bearbeiten Sie den Boot Zeile in /boot/grub/grub.conf , entfernen Sie „leise ‘ falls vorhanden, fügen Sie entweder ‘debug hinzu ‘ oder ‚loglevel=10 ‘ (beide tun dasselbe). Fügen Sie außerdem „log_buf_len=8M hinzu ‘, um die Log-Fifo-Größe des Kernels zu erhöhen, da die zusätzliche Protokollierung viel mehr Nachrichten erstellen wird.

4. Starten Sie neu und erfassen Sie die Nachrichtenausgabe.

# shutdown -r now

Aktivieren (CentOS/RHEL 6)

1. Bearbeiten Sie den Boot Zeile in /boot/grub/grub.conf und fügen Sie „scsi_logging_level=N hinzu “.

2. Bearbeiten Sie den Boot Zeile und entfernen Sie „quiet“. ‘ falls vorhanden, fügen Sie entweder ‘debug hinzu ‘ oder ‚loglevel=10 ‘ (beide tun dasselbe). Fügen Sie außerdem „log_buf_len=8M hinzu ‘, um die Log-Fifo-Größe des Kernels zu erhöhen, da die zusätzliche Protokollierung viel mehr Nachrichten erstellen wird.

3. Starten Sie neu und erfassen Sie die Nachrichtenausgabe:

# shutdown -r now

Aktivieren (CentOS/RHEL 7 &8)

1. Bearbeiten Sie die Datei „GRUB_CMDLINE_LINUX “-Zeile in /etc/default/grub und fügen Sie „scsi_logging_level=N hinzu “.

2. Bearbeiten Sie die Datei „GRUB_CMDLINE_LINUX “ Zeile und entfernen Sie „leise ‘ falls vorhanden, fügen Sie entweder ‘debug hinzu ‘ oder ‚loglevel=10 ‘(beide tun dasselbe). Fügen Sie außerdem „log_buf_len=8M hinzu ‘, um die Log-Fifo-Größe des Kernels zu erhöhen, da die zusätzliche Protokollierung viel mehr Nachrichten erstellen wird.

3. Änderungen an /etc/default/grub erfordert die Neuerstellung der Datei grub.cfg.

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

4. Starten Sie neu und erfassen Sie die Nachrichtenausgabe.

# shutdown -r now

Was die obigen Flags tun, ist, die erweiterte SCSI-Protokollierungsebene zu erhöhen, um viele Informationen über Fehler und Zeitüberschreitungen und während der Scan-Verarbeitung sowie über jedes io, das die High-Level-Warteschlange abschließt, aufzunehmen. Um einen Maskenwert manuell zu erstellen, beziehen Sie sich bitte auf scsi_logging.h und wählen Sie aus, welche Felder Sie aktivieren möchten.

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

Um beispielsweise die maximale Protokollierung im Zusammenhang mit ioctls und Fehlern zu aktivieren, würde ein Oktalwert von 7000000007 (0x38000007) über „sysctl -q -w dev.scsi.logging_level=0x38000007 festgelegt ‘. Umgekehrt, wenn 'sysctl -q dev.scsi.logging_level' verwendet wurde, um den aktuellen eingestellten Wert abzufragen und 402653425 (0x180000F1 oder oktal 3000000361) zurückgegeben wurde, dann haben die Feldmasken derzeit ioctl=3, scan=3, timeout=6, und error=1 Werte gesetzt.


Cent OS
  1. CentOS / RHEL 7 :So starten / stoppen oder aktivieren / deaktivieren Sie Firewalld

  2. CentOS / RHEL:So aktivieren Sie SSL für Apache

  3. So aktivieren Sie IPv6 auf CentOS / RHEL 6

  4. So aktivieren Sie IPv6 in CentOS / RHEL 5

  5. So aktivieren Sie die X11-Weiterleitung unter CentOS/RHEL 5,6,7

So aktivieren Sie SELinux in CentOS/RHEL 7

So aktivieren Sie das EPEL-Repository unter RHEL 8 / CentOS 8 Linux

So aktivieren Sie das EPEL-Repository in CentOS und RHEL

So aktivieren Sie Kdump auf RHEL 7 und CentOS 7

So aktivieren Sie das EPEL-Repository auf CentOS 8 und RHEL 8 Server

So aktivieren Sie das EPEL-Repository unter CentOS 7 / RHEL 7