El mdadm RAID 1 simple no activa el repuesto

24

Había creado dos particiones HDD de 2TB ( /dev/sdb1y /dev/sdc1) en una matriz RAID 1 llamada /dev/md0usando mdadmUbuntu 12.04 LTS Precise Pangolin.

El comando sudo mdadm --detail /dev/md0utilizado para indicar ambas unidades como sincronización activa .

Luego, para probar, fallé /dev/sdb1, lo eliminé y luego lo agregué nuevamente con el comandosudo mdadm /dev/md0 --add /dev/sdb1

watch cat /proc/mdstat mostró una barra de progreso de la reconstrucción de la matriz, pero no pasaría horas viéndola, así que supuse que el software sabía lo que estaba haciendo.

Una vez que la barra de progreso ya no se muestra, cat /proc/mdstataparece:

md0 : active raid1 sdb1[2](S) sdc1[1]
      1953511288 blocks super 1.2 [2/1] [U_]

Y sudo mdadm --detail /dev/md0muestra:

/dev/md0:
        Version : 1.2
  Creation Time : Sun May 27 11:26:05 2012
     Raid Level : raid1
     Array Size : 1953511288 (1863.01 GiB 2000.40 GB)
  Used Dev Size : 1953511288 (1863.01 GiB 2000.40 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Mon May 28 11:16:49 2012
          State : clean, degraded 
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

           Name : Deltique:0  (local to host Deltique)
           UUID : 49733c26:dd5f67b5:13741fb7:c568bd04
         Events : 32365

    Number   Major   Minor   RaidDevice State
       1       8       33        0      active sync   /dev/sdc1
       1       0        0        1      removed

       2       8       17        -      spare   /dev/sdb1

Me han dicho que mdadm reemplaza automáticamente las unidades eliminadas con repuestos, pero /dev/sdb1no se mueve a la posición esperada, RaidDevice 1.


ACTUALIZACIÓN (30 de mayo de 2012): una badblocksprueba destructiva de lectura y escritura de todo /dev/sdbno arrojó errores como se esperaba; Ambos discos duros son nuevos.

A partir de la última edición, ensamblé la matriz con este comando:

sudo mdadm --assemble --force --no-degraded /dev/md0 /dev/sdb1 /dev/sdc1

El resultado fue:

mdadm: /dev/md0 has been started with 1 drive (out of 2) and 1 rebuilding.

La reconstrucción parece que progresa normalmente:

md0 : active raid1 sdc1[1] sdb1[2]
      1953511288 blocks super 1.2 [2/1] [U_]
      [>....................]  recovery =  0.6% (13261504/1953511288) finish=2299.7min speed=14060K/sec

unused devices: <none>

Ahora estoy esperando esta reconstrucción, pero espero /dev/sdb1convertirme en un repuesto como las cinco o seis veces que he intentado reconstruir antes.


ACTUALIZACIÓN (31 de mayo de 2012): Sí, todavía es un repuesto. Ugh!


ACTUALIZACIÓN (01 de junio de 2012): Estoy probando el comando sugerido de Adrian Kelly :

sudo mdadm --assemble --update=resync /dev/md0 /dev/sdb1 /dev/sdc1

Esperando la reconstrucción ahora ...


ACTUALIZACIÓN (02 de junio de 2012): No, sigue siendo un repuesto ...


ACTUALIZACIÓN (04 junio 2012): PB trajo una preocupación de que pasé por alto: tal vez /dev/sdc1se produzcan errores de E / S . No me había molestado en comprobarlo /dev/sdc1porque parecía estar funcionando bien y era nuevo, pero los errores de E / S hacia el final de la unidad son una posibilidad racional.

Compré estos discos duros a la venta, por lo que no sería sorprendente que uno de ellos ya esté fallando. Además, ninguno de ellos tiene soporte para SMART , así que no es de extrañar que fueran tan baratos ...

Aquí está el procedimiento de recuperación de datos que acabo de inventar y estoy siguiendo:

  1. sudo mdadm /dev/md0 --fail /dev/sdb1para que pueda sacar /dev/sdb1.
  2. sudo mdadm /dev/md0 --remove /dev/sdb1para eliminar /dev/sdb1de la matriz.
  3. /dev/sdc1 está montado en /media/DtkBk
  4. Formatear /dev/sdb1como ext4.
  5. Monte /dev/sdb1a /media/DtkBkTemp.
  6. cd /media para trabajar en esa área.
  7. sudo chown deltik DtkBkTemppara darme deltikderechos (nombre de usuario ) a la partición.
  8. Copie todos los archivos y directorios: sudo rsync -avzHXShP DtkBk/* DtkBkTemp

ACTUALIZACIÓN (06 de junio de 2012): Hice una badblocksprueba destructiva de modo de escritura /dev/sdc, siguiendo los siguientes procedimientos:

  1. sudo umount /media/DtkBk para permitir derribar la matriz.
  2. sudo mdadm --stop /dev/md0 para detener la matriz.
  3. sudo badblocks -w -p 1 /dev/sdc -s -vpara borrar el disco duro sospechoso y, en el proceso, verificar si hay errores de E / S. Si hay errores de E / S, eso no es una buena señal. Con suerte, puedo obtener un reembolso ...

Ahora he confirmado que no hay problemas de entrada / salida en ninguno de los discos duros .

De toda esta investigación, mis dos preguntas originales siguen en pie.


Mis preguntas son:

  1. ¿Por qué la unidad de repuesto no se está convirtiendo en sincronización activa?
  2. ¿Cómo puedo hacer que la unidad de repuesto se active?
Deltik
fuente

Respuestas:

14

Hacer esto simplemente arroja la unidad a la matriz sin hacer nada con ella, es decir, es miembro de la matriz pero no está activa en ella. Por defecto, esto lo convierte en un repuesto:

sudo mdadm /dev/md0 --add /dev/sdb1

Si tiene un repuesto, puede aumentarlo forzando el recuento de unidades activas para que crezca la matriz. Con 3 unidades y 2 se espera que estén activas, necesitará aumentar el recuento activo a 3.

mdadm --grow /dev/md0 --raid-devices=3

El controlador de matriz de incursiones notará que tiene una unidad "corta" y luego buscará una de repuesto. Al encontrar el repuesto, lo integrará en la matriz como una unidad activa. Abra una terminal de repuesto y deje que esta línea de comando bastante cruda se ejecute en ella, para controlar el progreso de la resincronización. Asegúrese de escribirlo como una línea o use el carácter de salto de línea (\), y una vez que finalice la reconstrucción, simplemente escriba Ctrl-C en el terminal.

while true; do sleep 60; clear; sudo mdadm --detail /dev/md0; echo; cat /proc/mdstat; done

Su matriz ahora tendrá dos unidades activas que están sincronizadas, pero como no hay 3 unidades, no estará 100% limpio. Retire la unidad fallida, luego cambie el tamaño de la matriz. Tenga en cuenta que la --growbandera es un nombre poco apropiado - que puede significar ya sea aumentar o reducir:

sudo mdadm /dev/md0 --fail /dev/{failed drive}
sudo mdadm /dev/md0 --remove /dev/{failed drive}
sudo mdadm --grow /dev/md0 --raid-devices=2

Con respecto a los errores, un problema de enlace con la unidad (es decir, el puerto PATA / SATA, el cable o el conector de la unidad) no es suficiente para desencadenar una conmutación por error de un repuesto dinámico, ya que el kernel normalmente cambiará a usar el otro "bien" unidad mientras restablece el enlace a la unidad "defectuosa". Sé esto porque ejecuto una matriz de 3 unidades, 2 en caliente, 1 de repuesto, y una de las unidades recientemente decidió vomitar un poco en los registros. Cuando probé todas las unidades de la matriz, las 3 aprobaron la versión "larga" de la prueba SMART, por lo que no es un problema con los platos, los componentes mecánicos o el controlador integrado, lo que deja un cable de enlace débil o un mal puerto SATA. Quizás esto es lo que estás viendo. Intente cambiar la unidad a un puerto de placa base diferente, o use un cable diferente, y vea si mejora.


Un seguimiento: completé mi expansión del espejo a 3 unidades, fallé y quité la unidad escamosa de la matriz md, cambié en caliente el cable por una nueva (la placa base lo admite) y volví a agregar la unidad. Al volver a agregar, inmediatamente comenzó una resincronización de la unidad. Hasta ahora, no ha aparecido un solo error en el registro a pesar de que la unidad se está utilizando mucho. Entonces, sí, los cables de transmisión pueden volverse inestables.

Avery Payne
fuente
Cable de enlace escamoso? Compro esa explicación, pero ya no puedo probarla porque volví a utilizar ambas unidades hace meses. Acepto esta respuesta como la mejor respuesta para mi problema particular, pero otra gran respuesta es esta .
Deltik
Como actualización, esta respuesta sigue siendo la más útil para la mayoría de las personas, por lo que la acepté, pero lo que realmente sucedió fue que una de las unidades en mi matriz RAID 1 era mala, probablemente /dev/sdc1en ese momento porque /dev/sdc1estaba siendo leída mientras /dev/sdb1se estaba escribiendo, y los sectores defectuosos /dev/sdb1se habrían reasignado de manera transparente durante la escritura.
Deltik
1
Para mantener pestañas en el proceso de resincronización, haga watch -n 60 cat /proc/mdstatdónde 60está el número de segundos entre actualizaciones.
Erk
8

Tuve exactamente el mismo problema y, en mi caso, descubrí que el disco RAID activo sufría errores de lectura durante la sincronización. Por lo tanto, el nuevo disco se sincronizó correctamente y se mantuvo marcado como repuesto.

Es posible que desee verificar sus / var / log / messages y otros registros del sistema en busca de errores. Además, también puede ser una buena idea verificar el estado SMART de su disco:
1) Ejecute la prueba corta:

"smartctl -t short / dev / sda"

2) Mostrar los resultados de la prueba:

"smartctl -l selftest / dev / sda"

En mi caso, esto devolvió algo como esto:

=== INICIO DE LA LECTURA SECCIÓN DE DATOS INTELIGENTES ===
SMART Número de revisión de la estructura del registro de
autocomprobación 1 Núm. Test_Descripción Estado Vida restante (horas) LBA_of_first_error
1 Extendido fuera de línea Completado: falla de lectura 90% 7564 27134728
2 Corto fuera de línea Completado: falla de lectura 90% 7467 1408449701

Tuve que arrancar una distribución en vivo y copiar manualmente los datos del disco defectuoso al nuevo (actualmente "de repuesto").

PB
fuente
¡Ajá! No pensé en sospechar del disco activo por errores de E / S. Por alguna razón, SMART no es compatible con estos discos duros. ¿Esto y posibles errores de E / S en dos discos duros nuevos? Creo que hice una mala compra ... De todos modos, estoy tomando procedimientos de recuperación de datos ahora mismo en el HDD que sé que es bueno. Lo actualizaré pronto.
Deltik
+50 rep para ti PB . Nadie pudo responder mis preguntas correctamente, pero pensé que en lugar de perder 50 puntos de reputación en nada, te los daría como un regalo de bienvenida. ¡Bienvenido a Stack Exchange!
Deltik
3

Tuve exactamente el mismo problema y siempre pensé que mi segundo disco, que quería volver a agregar a la matriz, tenía errores. Pero era que mi disco original tenía errores de lectura.

Puede verificarlo smartctl -t short /dev/sdXy ver los resultados unos minutos más tarde con smartctl -l selftest /dev/sdX. Para mí se veía así:

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed: read failure       20%     25151         734566647

Traté de arreglarlos con este manual . Eso fue divertido :-). Sé que ha verificado errores en ambos discos, pero creo que su problema es que el disco que todavía está en la matriz md tiene errores de lectura, por lo que falla la adición de un segundo disco.

Actualizar

Debería ejecutar un adicional smartctl -a /dev/sdX si ve Current_Pending_Sector> 0 algo está mal

197 Current_Pending_Sector 0x0012 098 098 000 Old_age Siempre - 69

Para mí, definitivamente fue el problema que eliminé un disco de la incursión solo para probar y resincronizar debido a fallas de lectura. La sincronización abortó a la mitad. Cuando revisé mi disco que todavía estaba en la matriz de incursiones, smartctl informó problemas.

Pude arreglarlos con el manual anterior y vi reducir el número de sectores pendientes. Pero hubo muchos y es un procedimiento largo y aburrido, así que utilicé mi copia de seguridad y restauré los datos en un servidor diferente.

Como no tuvo la oportunidad de usar SMART, supongo que su autoevaluación no mostró esos sectores rotos.

Para mí es una lección aprendida: revise sus discos antes de eliminar uno de su matriz.

Janning
fuente
Cuando respondió, la matriz RAID 1 dejó de existir y se descubrió que ambas unidades no tenían errores de E / S. ¿Puedes verificar que tu respuesta sea aplicable?
Deltik
Finalmente aceptado Esta respuesta es la más probable para ayudar a futuros visitantes. Yo, me di por vencido en RAID en general. No es como si tuviera un centro de datos.
Deltik
Esta ya no es la respuesta aceptada, pero sigue siendo una buena respuesta y puede ayudar a alguien más. Esta respuesta es la más aplicable para mí, pero esta respuesta es probablemente la más aplicable a otras personas. Además, retomo lo que dije sobre RAID en este comentario .
Deltik
3

Tuve un problema similar y lo solucioné aumentando la cantidad de discos de la matriz RAID de 1 a 2.

mdadm --grow --raid-devices=2 /dev/md1
Shaun
fuente
3

ACTUALIZACIÓN (24 de mayo de 2015): después de tres años, investigué la verdadera causa de la degradación de la matriz RAID 1.

tl; dr: Una de las unidades estaba dañada, y no me di cuenta de esto porque solo había realizado una prueba de superficie completa en la unidad correcta.

Hace tres años, no pensé en revisar ningún registro sobre problemas de E / S. Si hubiera pensado verificarlo /var/log/syslog, habría visto algo así cuando me mdadmdi por vencido en la reconstrucción de la matriz:

May 24 14:08:32 node51 kernel: [51887.853786] sd 8:0:0:0: [sdi] Unhandled sense code
May 24 14:08:32 node51 kernel: [51887.853794] sd 8:0:0:0: [sdi]
May 24 14:08:32 node51 kernel: [51887.853798] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
May 24 14:08:32 node51 kernel: [51887.853802] sd 8:0:0:0: [sdi]
May 24 14:08:32 node51 kernel: [51887.853805] Sense Key : Medium Error [current]
May 24 14:08:32 node51 kernel: [51887.853812] sd 8:0:0:0: [sdi]
May 24 14:08:32 node51 kernel: [51887.853815] Add. Sense: Unrecovered read error
May 24 14:08:32 node51 kernel: [51887.853819] sd 8:0:0:0: [sdi] CDB:
May 24 14:08:32 node51 kernel: [51887.853822] Read(10): 28 00 00 1b 6e 00 00 00 01 00
May 24 14:08:32 node51 kernel: [51887.853836] end_request: critical medium error, dev sdi, sector 14381056
May 24 14:08:32 node51 kernel: [51887.853849] Buffer I/O error on device sdi, logical block 1797632

Para obtener esa salida en el registro, busqué el primer LBA problemático (14381058, en mi caso) con este comando:

root@node51 [~]# dd if=/dev/sdi of=/dev/zero bs=512 count=1 skip=14381058
dd: error reading ‘/dev/sdi’: Input/output error
0+0 records in
0+0 records out
0 bytes (0 B) copied, 7.49287 s, 0.0 kB/s

¡No es de extrañar que te mdhayas rendido! No puede reconstruir una matriz a partir de un disco defectuoso.

La nueva tecnología (¿mejor smartmontoolscompatibilidad de hardware?) Me ha permitido obtener información SMART de la unidad, incluidos los últimos cinco errores (de 1393 errores hasta ahora):

root@node51 [~]# smartctl -a /dev/sdi
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-43-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Hitachi Deskstar 5K3000
Device Model:     Hitachi HDS5C3020ALA632
Serial Number:    ML2220FA040K9E
LU WWN Device Id: 5 000cca 36ac1d394
Firmware Version: ML6OA800
User Capacity:    2,000,398,934,016 bytes [2.00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    5940 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 2.6, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Sun May 24 14:13:35 2015 CDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART STATUS RETURN: incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.

General SMART Values:
Offline data collection status:  (0x84) Offline data collection activity
                                        was suspended by an interrupting command from host.
                                        Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.
Total time to complete Offline
data collection:                (21438) seconds.
Offline data collection
capabilities:                    (0x5b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   1) minutes.
Extended self-test routine
recommended polling time:        ( 358) minutes.
SCT capabilities:              (0x003d) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   016    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   136   136   054    Pre-fail  Offline      -       93
  3 Spin_Up_Time            0x0007   172   172   024    Pre-fail  Always       -       277 (Average 362)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       174
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       8
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   146   146   020    Pre-fail  Offline      -       29
  9 Power_On_Hours          0x0012   097   097   000    Old_age   Always       -       22419
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       161
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       900
193 Load_Cycle_Count        0x0012   100   100   000    Old_age   Always       -       900
194 Temperature_Celsius     0x0002   127   127   000    Old_age   Always       -       47 (Min/Max 19/60)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       8
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       30
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       2

SMART Error Log Version: 1
ATA Error Count: 1393 (device log contains only the most recent five errors)
        CR = Command Register [HEX]
        FR = Features Register [HEX]
        SC = Sector Count Register [HEX]
        SN = Sector Number Register [HEX]
        CL = Cylinder Low Register [HEX]
        CH = Cylinder High Register [HEX]
        DH = Device/Head Register [HEX]
        DC = Device Command Register [HEX]
        ER = Error register [HEX]
        ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 1393 occurred at disk power-on lifetime: 22419 hours (934 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 06 02 70 db 00  Error: UNC 6 sectors at LBA = 0x00db7002 = 14381058

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 70 db 40 00   1d+03:59:34.096  READ DMA EXT
  25 00 08 00 70 db 40 00   1d+03:59:30.334  READ DMA EXT
  b0 d5 01 09 4f c2 00 00   1d+03:57:59.057  SMART READ LOG
  b0 d5 01 06 4f c2 00 00   1d+03:57:58.766  SMART READ LOG
  b0 d5 01 01 4f c2 00 00   1d+03:57:58.476  SMART READ LOG

Error 1392 occurred at disk power-on lifetime: 22419 hours (934 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 06 02 70 db 00  Error: UNC 6 sectors at LBA = 0x00db7002 = 14381058

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 70 db 40 00   1d+03:59:30.334  READ DMA EXT
  b0 d5 01 09 4f c2 00 00   1d+03:57:59.057  SMART READ LOG
  b0 d5 01 06 4f c2 00 00   1d+03:57:58.766  SMART READ LOG
  b0 d5 01 01 4f c2 00 00   1d+03:57:58.476  SMART READ LOG
  b0 d5 01 00 4f c2 00 00   1d+03:57:58.475  SMART READ LOG

Error 1391 occurred at disk power-on lifetime: 22419 hours (934 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 06 02 70 db 00  Error: UNC 6 sectors at LBA = 0x00db7002 = 14381058

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 70 db 40 00   1d+03:56:28.228  READ DMA EXT
  25 00 08 00 70 db 40 00   1d+03:56:24.549  READ DMA EXT
  25 00 08 00 70 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 10 f0 71 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 f0 00 71 db 40 00   1d+03:56:06.710  READ DMA EXT

Error 1390 occurred at disk power-on lifetime: 22419 hours (934 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 06 02 70 db 00  Error: UNC 6 sectors at LBA = 0x00db7002 = 14381058

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 70 db 40 00   1d+03:56:24.549  READ DMA EXT
  25 00 08 00 70 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 10 f0 71 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 f0 00 71 db 40 00   1d+03:56:06.710  READ DMA EXT
  25 00 10 f0 70 db 40 00   1d+03:56:06.687  READ DMA EXT

Error 1389 occurred at disk power-on lifetime: 22419 hours (934 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 06 02 70 db 00  Error: UNC 6 sectors at LBA = 0x00db7002 = 14381058

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  25 00 08 00 70 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 10 f0 71 db 40 00   1d+03:56:06.711  READ DMA EXT
  25 00 f0 00 71 db 40 00   1d+03:56:06.710  READ DMA EXT
  25 00 10 f0 70 db 40 00   1d+03:56:06.687  READ DMA EXT
  25 00 f0 00 70 db 40 00   1d+03:56:03.026  READ DMA EXT

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed: read failure       90%     21249         14381058

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Ahh ... eso lo haría.

Ahora, he resuelto esta pregunta en tres sencillos pasos:

  1. Conviértase en administrador del sistema en tres años.
  2. Revisa los registros.
  3. Vuelve a Super User y ríete de mi enfoque de hace tres años .

ACTUALIZACIÓN (19 de julio de 2015): para cualquier persona que tenga curiosidad, la unidad finalmente se quedó sin sectores para reasignar:

root@node51 [~]# smartctl -a /dev/sdg
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-43-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Hitachi Deskstar 5K3000
Device Model:     Hitachi HDS5C3020ALA632
Serial Number:    ML2220FA040K9E
LU WWN Device Id: 5 000cca 36ac1d394
Firmware Version: ML6OA800
User Capacity:    2,000,398,934,016 bytes [2.00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    5940 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 4
SATA Version is:  SATA 2.6, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Sun Jul 19 14:00:33 2015 CDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART STATUS RETURN: incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: FAILED!
Drive failure expected in less than 24 hours. SAVE ALL DATA.
See vendor-specific Attribute list for failed Attributes.

General SMART Values:
Offline data collection status:  (0x85) Offline data collection activity
                                        was aborted by an interrupting command from host.
                                        Auto Offline Data Collection: Enabled.
Self-test execution status:      ( 117) The previous self-test completed having
                                        the read element of the test failed.
Total time to complete Offline
data collection:                (21438) seconds.
Offline data collection
capabilities:                    (0x5b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   1) minutes.
Extended self-test routine
recommended polling time:        ( 358) minutes.
SCT capabilities:              (0x003d) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   099   099   016    Pre-fail  Always       -       2
  2 Throughput_Performance  0x0005   136   136   054    Pre-fail  Offline      -       93
  3 Spin_Up_Time            0x0007   163   163   024    Pre-fail  Always       -       318 (Average 355)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       181
  5 Reallocated_Sector_Ct   0x0033   001   001   005    Pre-fail  Always   FAILING_NOW 1978
  7 Seek_Error_Rate         0x000b   086   086   067    Pre-fail  Always       -       1245192
  8 Seek_Time_Performance   0x0005   146   146   020    Pre-fail  Offline      -       29
  9 Power_On_Hours          0x0012   097   097   000    Old_age   Always       -       23763
 10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       167
192 Power-Off_Retract_Count 0x0032   092   092   000    Old_age   Always       -       10251
193 Load_Cycle_Count        0x0012   092   092   000    Old_age   Always       -       10251
194 Temperature_Celsius     0x0002   111   111   000    Old_age   Always       -       54 (Min/Max 19/63)
196 Reallocated_Event_Count 0x0032   001   001   000    Old_age   Always       -       2927
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       33
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       2

SMART Error Log Version: 1
ATA Error Count: 2240 (device log contains only the most recent five errors)
        CR = Command Register [HEX]
        FR = Features Register [HEX]
        SC = Sector Count Register [HEX]
        SN = Sector Number Register [HEX]
        CL = Cylinder Low Register [HEX]
        CH = Cylinder High Register [HEX]
        DH = Device/Head Register [HEX]
        DC = Device Command Register [HEX]
        ER = Error register [HEX]
        ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 2240 occurred at disk power-on lifetime: 23763 hours (990 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  10 51 f0 18 0f 2f 00  Error: IDNF 240 sectors at LBA = 0x002f0f18 = 3084056

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 f0 18 0f 2f 40 00      00:25:01.942  WRITE DMA EXT
  35 00 f0 28 0e 2f 40 00      00:25:01.168  WRITE DMA EXT
  35 00 f0 38 0d 2f 40 00      00:25:01.157  WRITE DMA EXT
  35 00 f0 48 0c 2f 40 00      00:25:01.147  WRITE DMA EXT
  35 00 f0 58 0b 2f 40 00      00:25:01.136  WRITE DMA EXT

Error 2239 occurred at disk power-on lifetime: 23763 hours (990 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  10 51 5a 4e f7 2e 00  Error: IDNF 90 sectors at LBA = 0x002ef74e = 3077966

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 f0 b8 f6 2e 40 00      00:24:57.967  WRITE DMA EXT
  35 00 f0 c8 f5 2e 40 00      00:24:57.956  WRITE DMA EXT
  35 00 f0 d8 f4 2e 40 00      00:24:57.945  WRITE DMA EXT
  35 00 f0 e8 f3 2e 40 00      00:24:57.934  WRITE DMA EXT
  35 00 f0 f8 f2 2e 40 00      00:24:57.924  WRITE DMA EXT

Error 2238 occurred at disk power-on lifetime: 23763 hours (990 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  10 51 40 a8 c6 2e 00  Error: IDNF 64 sectors at LBA = 0x002ec6a8 = 3065512

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 f0 f8 c5 2e 40 00      00:24:49.444  WRITE DMA EXT
  35 00 f0 08 c5 2e 40 00      00:24:49.433  WRITE DMA EXT
  35 00 f0 18 c4 2e 40 00      00:24:49.422  WRITE DMA EXT
  35 00 f0 28 c3 2e 40 00      00:24:49.412  WRITE DMA EXT
  35 00 f0 38 c2 2e 40 00      00:24:49.401  WRITE DMA EXT

Error 2237 occurred at disk power-on lifetime: 23763 hours (990 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  10 51 ea be ba 2e 00  Error: IDNF 234 sectors at LBA = 0x002ebabe = 3062462

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 f0 b8 ba 2e 40 00      00:24:39.263  WRITE DMA EXT
  35 00 f0 c8 b9 2e 40 00      00:24:38.885  WRITE DMA EXT
  35 00 f0 d8 b8 2e 40 00      00:24:38.874  WRITE DMA EXT
  35 00 f0 e8 b7 2e 40 00      00:24:38.862  WRITE DMA EXT
  35 00 f0 f8 b6 2e 40 00      00:24:38.852  WRITE DMA EXT

Error 2236 occurred at disk power-on lifetime: 23763 hours (990 days + 3 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  10 51 86 c2 2a 2e 00  Error: IDNF 134 sectors at LBA = 0x002e2ac2 = 3025602

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  35 00 f0 58 2a 2e 40 00      00:24:25.605  WRITE DMA EXT
  35 00 f0 68 29 2e 40 00      00:24:25.594  WRITE DMA EXT
  35 00 f0 78 28 2e 40 00      00:24:25.583  WRITE DMA EXT
  35 00 f0 88 27 2e 40 00      00:24:25.572  WRITE DMA EXT
  35 00 f0 98 26 2e 40 00      00:24:25.561  WRITE DMA EXT

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short captive       Completed: read failure       50%     23763         869280
# 2  Extended offline    Completed without error       00%     22451         -
# 3  Short offline       Completed without error       00%     22439         -
# 4  Extended offline    Completed: read failure       90%     21249         14381058
1 of 2 failed self-tests are outdated by newer successful extended offline self-test # 2

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
Deltik
fuente
1
sí, ¡exactamente lo que acaba de suceder con mi RAID! ¡Esta es la respuesta real a tu propia pregunta! ¡Gracias por mantener esto actualizado!
Preexo
1

En mi caso, también era un disco fuente incorrecto. Aunque parecía que en ese momento no lo era (el / proc / mdstat progresó por encima del 99.9% normalmente, pero en realidad falló en el 99.97%, lo que determinó cuándo finalizaría la sincronización regular). Por lo tanto, debe verificar la dmesg(1)salida: le dirá si hay algún error de lectura.

Puede ver los detalles de mi caso en el error de Debian # 767243 . Finalmente logré terminar la sincronización al sobrescribir forzosamente algunos sectores defectuosos en el disco de origen (que por suerte no se utilizaron en mi caso, de lo contrario habría habido pérdida de datos)

Matija Nalis
fuente
0

Tu podrías intentar

sudo mdadm --assemble --update=resync /dev/md0 /dev/sdb1 /dev/sdc1

para actualizar las unidades y volver a sincronizarlas.

naranja ocelote
fuente
Intentando esto ahora ... informaré cuando la reconstrucción supuestamente se complete.
Deltik
No funciono /dev/sdb1aún no se está volviendo "activo" después de reconstruirse como repuesto.
Deltik
0

No estoy seguro de si funcionará ya que ya --addeditó el disco, pero --re-addparece ser la opción que necesita.

O tal vez lo que necesita --growel dispositivo para 2 discos activos, mdadm --grow -n 2? No probado, así que ten cuidado.

Bram
fuente
sudo mdadm --grow -n 2fue una de las primeras cosas que hice, por eso es que sudo mdadm --detail /dev/md0muestra dos máquinas tragamonedas. Lo siento, no funciona.
Deltik
0

Recomendaría eliminar sdc1, poner a cero el superbloque en sdc1 y luego volver a agregarlo.

mdadm /dev/md0 -r /dev/sdc1
mdadm --zero-superblock /dev/sdc1
mdadm /dev/md0 -a /dev/sdc1
Bruno9779
fuente
Cambié mis datos a cada HDD mientras ponía a cero el superbloque en el otro HDD. El problema que tengo se repite incluso con la recreación completa de la matriz RAID 1.
Deltik