Diagnóstico de velocidad de escritura **muy** lenta en RAID/Fedora 14

Diagnóstico de velocidad de escritura **muy** lenta en RAID/Fedora 14

Tenemos un Dell PowerEdge T110 con Fedora 14 que funciona como nuestro servidor de compilación para Embedded Linux y como nuestro servidor Subversion.

Recientemente se ha vuelto muy lento y no puede completar las copias de seguridad nocturnas antes de que comience el nuevo día.

[EDITAR] Gracias Usuario9517. Revisé el registro y hay varios mensajes de MRMON (Mega Raid Monitor). Sería útil cualquier orientación sobre la interpretación de estos mensajes, los próximos pasos y cómo determinar qué unidad necesita ser reemplazada.

Dec 20 09:02:32 localhost MR_MONITOR[2153]: <MRMON096> Controller ID:  0   PD Predictive failure:  #012    -:-:2
Dec 20 09:06:44 localhost MR_MONITOR[2153]: <MRMON113> Controller ID:  0   Unexpected sense:   PD  #012    =   -:-:2No defect spare location available,   CDB   =    0x28 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00    ,   Sense   =    0x70 0x00 0x04 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x32 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Dec 20 09:09:44 localhost MR_MONITOR[2153]: <MRMON096> Controller ID:  0   PD Predictive failure:  #012    -:-:2

[/EDITAR]

Estoy buscando ayuda para localizar la falla. Definitivamente no soy un experto en esto, la persona que configuró el sistema originalmente ya no está aquí.

La copia de seguridad nocturna es un archivo tgz de aproximadamente 6 GB y comienza a las 8 p.m. Esto solía terminar alrededor de las 4 a. m. (incluida la copia a una unidad externa). La copia de seguridad semanal es de alrededor de 45 GB y solía finalizar a las 11 a. m. del sábado desde el inicio del viernes a las 8 p. m.

Además de la copia de seguridad, la máquina responde notablemente con lentitud, incluso cuando el proceso de copia de seguridad no se está ejecutando.

Esto es lo que he reunido hasta ahora:

Hay un controlador RAID DELL PERC H200L con cuatro unidades Seagate de 1 TB conectadas (ST31000424SS). Ipensarestá configurado para RAID 10, pero no sé cómo acceder a la configuración de este controlador. Creo en RAID 10 porque hay 4 unidades y vgdisplay muestra 1,81 terabytes asignados de los 4 terabytes en total en las 4 unidades.

[root@fedorabox backup]# vgdisplay
  --- Volume group ---
  VG Name               vg_fedorabox2
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  8
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                5
  Open LV               5
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               1.81 TiB
  PE Size               32.00 MiB
  Total PE              59263
  Alloc PE / Size       28480 / 890.00 GiB
  Free  PE / Size       30783 / 961.97 GiB

No puedo ver ninguna otra unidad real en la máquina, así que supongo que la partición de arranque (/dev/sdb1) está de alguna manera particionada entre las 4 unidades.

(/dev/sda es un disco duro externo para copias de seguridad, pero este no es el problema. La copia de seguridad todavía se está generando en la partición /backup cuando llegamos por la mañana. La copia a la unidad USB conectada no se ha comenzó)

[root@fedorabox backup]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_fedorabox2-LogVol00
                      9.9G  5.2G  4.3G  55% /
tmpfs                 2.0G  932K  2.0G   1% /dev/shm
/dev/sdb1             504M   56M  423M  12% /boot
/dev/mapper/vg_fedorabox2-LogVol03
                      394G  221G  153G  60% /home
/dev/mapper/vg_fedorabox2-LogVol02
                       99G   29G   65G  32% /shared
/dev/mapper/vg_fedorabox2-LogVol01
                       30G   11G   18G  37% /usr
/dev/sda2             5.5T  2.6T  3.0T  47% /mnt/root/usbbackup2
/dev/mapper/vg_fedorabox2-LogVol04
                      345G  363M  327G   1% /backup

como dije en la pregunta, la velocidad de escritura esmuylento:

[root@fedorabox backup]# dd if=/dev/zero of=/backup/tmp/test.out bs=512 count=32 oflag=dsync
32+0 records in
32+0 records out
16384 bytes (16 kB) copied, 40.382 s, 0.4 kB/s
[root@fedorabox backup]# dd of=/dev/null if=/backup/tmp/test.out bs=512 count=32 oflag=dsync
32+0 records in
32+0 records out
16384 bytes (16 kB) copied, 3.5087e-05 s, 467 MB/s

Puedo acceder a las cuatro unidades usando smartctl como /dev/sg2 a través de /dev/sg5. La salida se enumera a continuación. No sé para qué sirve la lectura normal.errores corregidosaquí, pero observo que las unidades segunda y cuarta (/dev/sg3, sg5) han enumeradoerrores no corregidospara lectura y verificación.

¿Algún consejo sobre los próximos pasos? ¿Los errores no corregidos son normales o preocupantes? ¿Es esta la causa de la lentitud o hay algo más que debería considerar?

¿Algún consejo sobre cómo reemplazar una unidad y cómo acceder a la configuración RAID?

[root@fedorabox /]# smartctl -a /dev/sg2
smartctl 5.40 2010-10-16 r3189 [x86_64-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

Device: SEAGATE  ST1000NM0001     Version: PS06
Serial number: Z1N2LEDW
Device type: disk
Transport protocol: SAS
Local Time is: Mon Dec 19 12:10:20 2022 EST
Device supports SMART and is Enabled
Temperature Warning Disabled or Not Supported
Log Sense failed, IE page [scsi response fails sanity test]

Current Drive Temperature:     37 C
Drive Trip Temperature:        68 C
Manufactured in week 33 of year 2012
Specified cycle count over device lifetime:  10000
Accumulated start-stop cycles:  71
Elements in grown defect list: 36
Vendor (Seagate) cache information
  Blocks sent to initiator = 2805494200
  Blocks received from initiator = 1072424796
  Blocks read from cache and sent to initiator = 19110177
  Number of read and write commands whose size <= segment size = 826634038
  Number of read and write commands whose size > segment size = 5264167
Vendor (Seagate/Hitachi) factory information
  number of hours powered up = 11183.37
  number of minutes until next internal SMART test = 43

Error counter log:
           Errors Corrected by           Total   Correction     Gigabytes    Total
               ECC          rereads/    errors   algorithm      processed    uncorrected
           fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:   3996823525        0         0  3996823525          0        130.509           0
write:         0        0         0         0          0      62619.327           0
verify: 1594450892        0         0  1594450892          0      51866.259           0

Non-medium error count:        9

SMART Self-test log
Num  Test              Status                 segment  LifeTime  LBA_first_err [SK ASC ASQ]
     Description                              number   (hours)
# 1  Background short  Completed                  32   11182                 - [-   -    -]

Long (extended) Self Test duration: 11100 seconds [185.0 minutes]
[root@fedorabox /]# smartctl -a /dev/sg3
smartctl 5.40 2010-10-16 r3189 [x86_64-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

Device: SEAGATE  ST31000424SS     Version: KS68
Serial number: 9WK3JSJV
Device type: disk
Transport protocol: SAS
Local Time is: Mon Dec 19 12:10:44 2022 EST
Device supports SMART and is Enabled
Temperature Warning Disabled or Not Supported
Log Sense failed, IE page [scsi response fails sanity test]

Current Drive Temperature:     37 C
Drive Trip Temperature:        68 C
Manufactured in week 06 of year 2011
Specified cycle count over device lifetime:  10000
Accumulated start-stop cycles:  81
Specified load-unload count over device lifetime:  300000
Accumulated load-unload cycles:  81
Elements in grown defect list: 21
Vendor (Seagate) cache information
  Blocks sent to initiator = 1872227385
  Blocks received from initiator = 3603107317
  Blocks read from cache and sent to initiator = 53905772
  Number of read and write commands whose size <= segment size = 1041622488
  Number of read and write commands whose size > segment size = 5288254
Vendor (Seagate/Hitachi) factory information
  number of hours powered up = 77337.02
  number of minutes until next internal SMART test = 16

Error counter log:
           Errors Corrected by           Total   Correction     Gigabytes    Total
               ECC          rereads/    errors   algorithm      processed    uncorrected
           fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:   1454822558        3         0  1454822561   1454822585       2465.838          21
write:         0        0         0         0          0      64012.923           0
verify: 2113323340      143         0  2113323483   2113323510      49057.393          17

Non-medium error count:        4

SMART Self-test log
Num  Test              Status                 segment  LifeTime  LBA_first_err [SK ASC ASQ]
     Description                              number   (hours)
# 1  Background short  Completed                  16     643                 - [-   -    -]
# 2  Background short  Completed                  16       5                 - [-   -    -]
# 3  Background long   Completed                  16       5                 - [-   -    -]

Long (extended) Self Test duration: 11100 seconds [185.0 minutes]
[root@fedorabox /]# smartctl -a /dev/sg4
smartctl 5.40 2010-10-16 r3189 [x86_64-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

Device: SEAGATE  ST31000424SS     Version: KS68
Serial number: 9WK3H8DW
Device type: disk
Transport protocol: SAS
Local Time is: Mon Dec 19 12:11:02 2022 EST
Device supports SMART and is Enabled
Temperature Warning Disabled or Not Supported
Log Sense failed, IE page [scsi response fails sanity test]

Current Drive Temperature:     38 C
Drive Trip Temperature:        68 C
Manufactured in week 06 of year 2011
Specified cycle count over device lifetime:  10000
Accumulated start-stop cycles:  76
Specified load-unload count over device lifetime:  300000
Accumulated load-unload cycles:  76
Elements in grown defect list: 1
Vendor (Seagate) cache information
  Blocks sent to initiator = 1437832391
  Blocks received from initiator = 3080050213
  Blocks read from cache and sent to initiator = 2689371046
  Number of read and write commands whose size <= segment size = 3306395247
  Number of read and write commands whose size > segment size = 5018225
Vendor (Seagate/Hitachi) factory information
  number of hours powered up = 77337.17
  number of minutes until next internal SMART test = 58

Error counter log:
           Errors Corrected by           Total   Correction     Gigabytes    Total
               ECC          rereads/    errors   algorithm      processed    uncorrected
           fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:   1514637706     1007         0  1514638713   1514638713    1576907.538           0
write:         0        0         0         0          0      61240.330           0
verify: 1697580124       32         0  1697580156   1697580157      48889.638           0

Non-medium error count:       27

SMART Self-test log
Num  Test              Status                 segment  LifeTime  LBA_first_err [SK ASC ASQ]
     Description                              number   (hours)
# 1  Background short  Completed                  16      18                 - [-   -    -]
# 2  Background short  Completed                  16       5                 - [-   -    -]
# 3  Background long   Completed                  16       5                 - [-   -    -]

Long (extended) Self Test duration: 11100 seconds [185.0 minutes]
[root@fedorabox /]# smartctl -a /dev/sg5
smartctl 5.40 2010-10-16 r3189 [x86_64-redhat-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

Device: SEAGATE  ST31000424SS     Version: KS68
Serial number: 9WK3FCZ6
Device type: disk
Transport protocol: SAS
Local Time is: Mon Dec 19 12:11:41 2022 EST
Device supports SMART and is Enabled
Temperature Warning Disabled or Not Supported
Log Sense failed, IE page [scsi response fails sanity test]

Current Drive Temperature:     38 C
Drive Trip Temperature:        68 C
Manufactured in week 06 of year 2011
Specified cycle count over device lifetime:  10000
Accumulated start-stop cycles:  81
Specified load-unload count over device lifetime:  300000
Accumulated load-unload cycles:  81
Elements in grown defect list: 4096
Vendor (Seagate) cache information
  Blocks sent to initiator = 923606853
  Blocks received from initiator = 3074269061
  Blocks read from cache and sent to initiator = 3237322768
  Number of read and write commands whose size <= segment size = 3044372010
  Number of read and write commands whose size > segment size = 5024782
Vendor (Seagate/Hitachi) factory information
  number of hours powered up = 77336.67
  number of minutes until next internal SMART test = 53

Error counter log:
           Errors Corrected by           Total   Correction     Gigabytes    Total
               ECC          rereads/    errors   algorithm      processed    uncorrected
           fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
read:   2058067359   277563         0  2058344922   2058345511    1420772.201         555
write:         0        0         0         0          0      62186.800           0
verify: 2750944424     2205         0  2750946629   2750946631      50834.359           1

Non-medium error count:      167

SMART Self-test log
Num  Test              Status                 segment  LifeTime  LBA_first_err [SK ASC ASQ]
     Description                              number   (hours)
# 1  Background short  Completed                  16     643                 - [-   -    -]
# 2  Background short  Completed                  16       5                 - [-   -    -]
# 3  Background long   Completed                  16       5                 - [-   -    -]

Long (extended) Self Test duration: 11100 seconds [185.0 minutes]

Respuesta1

Dell PERC esencialmente pasa a llamarse LSI MegaRAID SAS.

Mire su lspci -kpara ver qué controlador utiliza. Es probable megaraid_sas. El hecho de que esté utilizando MegaRAID Monitor con éxito sugiere que este debe ser el caso. Entonces, con el megaclipaquete sería posible controlar su controlador RAID desde Linux.

Aunque dónde encontrarlo hoy para la versión de Fedora tan antigua sigue siendo una pregunta. Intenta mirarhttps://hwraid.le-vert.netparaMegaRAID SASo, posiblemente,MegaRAIDpara el software.

El software tiene un pequeño recordatorio en línea (ejecutar megacli -h) y también se describe enLa guía del usuario del software MegaRAID SASque puedes obtener deBroadcom(quien compró Avago, quién compró LSI). También hay algunas hojas de trucos en Internet.

Por ejemplo, puede comenzar obteniendo información de diagnóstico:

megacli -AdpAllInfo -aALL
megacli -AdpPR -info -aALL
megacli -LdPdInfo -aALL
megacli -AdpBbuCmd -GetBbuStatus -aALL
megacli -AdpEventLog -GetEventLogInfo -aALL

Esos comandos hacen lo siguiente, respectivamente:

  • Obtenga el estado y alertas generales del controlador (incluida la cantidad de dispositivos defectuosos)
  • Obtenga el estado de las operaciones de lectura de patrulla (lectura periódica de todos los dispositivos para detectar tempranamente los defectuosos)
  • Obtener discos lógicos y los discos físicos que los componencon su estado. Si hay discos fallidos, verás cuáles y en qué ranuras están.
  • Obtener el estado de la batería de caché
  • Obtenga los registros de eventos del adaptador; esto podría ayudarle a determinar exactamente cuándo detectó un problema y en qué circunstancias.

El hecho de que tenga RAID no lo libera de monitorear el estado de sus discos y matriz. RAID sólo ayuda a evitar el tiempo de inactividad cuando se monitorea y mantiene adecuadamente. smartmontoolses capaz de monitorear discos incluso detrás de algunos controladores RAID de hardware; ¡úsalo!

Es hora de olvidar esos mantras de "no lo toques si funciona" y "no lo arregles si no está roto". Esos no son relevantes para el mundo en rápida evolución. Considere esto: la versión anterior del sistema operativoesYa está roto porque es viejo. Un administrador competentevoluntadarreglar sistemas aparentemente "no rotos" para mantenerlos no rotos.

Lo que es peor, un sistema antiguo (de 10 años) que no es LTS como Fedora está muy dañado. La idea de alojar cualquier cosa de importancia comercial en una distribución de este tipo está rota por diseño; si fuera CentOS (que era LTS hace 10 años, actualmente usarás Oracle Linux, AlmaLinux o Rocky Linux) no seríaesoMalo, pero Fedora siempre fue una elección inapropiada para un servidor de producción. Así que aunque sólo tuviera dos años había que sustituirlo.

Y mejor tener siempre instaladas las herramientas de gestión de hardware ( megacli, ipmiutiletc.). Nunca se sabe cuándo los necesita y es posible que ya no estén disponibles para usted, así que esparza paja con anticipación.

información relacionada