Invasão de software - mdadm - re-find my array

14

Descrição

Hoje, conectei outro disco rígido e desconectei minhas unidades de ataque para garantir que, quando limpasse a unidade, não escolheria acidentalmente as unidades erradas.

Agora que reconectei minhas unidades, a matriz do software RAID 1 não está mais sendo montada / reconhecida / encontrada. Usando o utilitário de disco, pude ver que as unidades são / dev / sda e / dev / sdb, então tentei executar sudo mdadm -A /dev/sda /dev/sdbInfelizmente, continuo recebendo uma mensagem de erro informandomdadm: device /dev/sda exists but is not an md array


Especificações:

SO: Ubuntu 12.04 LTS Desktop (64 bits)

Unidades: 2 x 3TB WD Red (mesmos modelos novos) SO instalado na terceira unidade (64GB ssd) (muitas instalações linux)

Placa-mãe: P55 FTW

Processador: Intel i7-870 Especificações completas


Resultado de sudo mdadm --assemble --scan

mdadm: No arrays found in config file or automatically

Quando inicializo no modo de recuperação, recebo um zilhão de códigos 'ata1 error' voando por um período muito longo.

Alguém pode me informar as etapas adequadas para recuperar a matriz?

Eu ficaria feliz em apenas recuperar os dados, se essa for uma alternativa possível à reconstrução da matriz. Eu li sobre ' test disk ' e afirma no wiki que pode encontrar partições perdidas para o Linux RAID md 0.9 / 1.0 / 1.1 / 1.2, mas estou executando o mdadm versão 3.2.5, ao que parece. Alguém já teve experiência com isso para recuperar dados de invasão de software 1?


Resultado de sudo mdadm --examine /dev/sd* | grep -E "(^\/dev|UUID)"

mdadm: No md superblock detected on /dev/sda.
mdadm: No md superblock detected on /dev/sdb.
mdadm: No md superblock detected on /dev/sdc1.
mdadm: No md superblock detected on /dev/sdc3.
mdadm: No md superblock detected on /dev/sdc5.
mdadm: No md superblock detected on /dev/sdd1.
mdadm: No md superblock detected on /dev/sdd2.
mdadm: No md superblock detected on /dev/sde.
/dev/sdc:
/dev/sdc2:
/dev/sdd:

Conteúdo do mdadm.conf:

# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays

# This file was auto-generated on Tue, 08 Jan 2013 19:53:56 +0000
# by mkconf $Id$

Resultado de sudo fdisk -lcomo você pode ver sda e sdb estão ausentes.

Disk /dev/sdc: 64.0 GB, 64023257088 bytes
255 heads, 63 sectors/track, 7783 cylinders, total 125045424 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0009f38d

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *        2048     2000895      999424   82  Linux swap / Solaris
/dev/sdc2         2002942    60594175    29295617    5  Extended
/dev/sdc3        60594176   125044735    32225280   83  Linux
/dev/sdc5         2002944    60594175    29295616   83  Linux

Disk /dev/sdd: 60.0 GB, 60022480896 bytes
255 heads, 63 sectors/track, 7297 cylinders, total 117231408 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x58c29606

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sdd2          206848   234455039   117124096    7  HPFS/NTFS/exFAT

Disk /dev/sde: 60.0 GB, 60022480896 bytes
255 heads, 63 sectors/track, 7297 cylinders, total 117231408 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sde doesn't contain a valid partition table

A saída do dmesg | grep ata foi muito longo, então aqui está um link: http://pastebin.com/raw.php?i=H2dph66y


A saída do dmesg | grep ata | head -n 200 depois de configurar o BIOS para ahci e ter que inicializar sem esses dois discos.

[    0.000000]  BIOS-e820: 000000007f780000 - 000000007f78e000 (ACPI data)
[    0.000000] Memory: 16408080k/18874368k available (6570k kernel code, 2106324k absent, 359964k reserved, 6634k data, 924k init)
[    1.043555] libata version 3.00 loaded.
[    1.381056] ata1: SATA max UDMA/133 abar m2048@0xfbff4000 port 0xfbff4100 irq 47
[    1.381059] ata2: SATA max UDMA/133 abar m2048@0xfbff4000 port 0xfbff4180 irq 47
[    1.381061] ata3: SATA max UDMA/133 abar m2048@0xfbff4000 port 0xfbff4200 irq 47
[    1.381063] ata4: SATA max UDMA/133 abar m2048@0xfbff4000 port 0xfbff4280 irq 47
[    1.381065] ata5: SATA max UDMA/133 abar m2048@0xfbff4000 port 0xfbff4300 irq 47
[    1.381067] ata6: SATA max UDMA/133 abar m2048@0xfbff4000 port 0xfbff4380 irq 47
[    1.381140] pata_acpi 0000:0b:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[    1.381157] pata_acpi 0000:0b:00.0: setting latency timer to 64
[    1.381167] pata_acpi 0000:0b:00.0: PCI INT A disabled
[    1.429675] ata_link link4: hash matches
[    1.699735] ata1: SATA link down (SStatus 0 SControl 300)
[    2.018981] ata2: SATA link down (SStatus 0 SControl 300)
[    2.338066] ata3: SATA link down (SStatus 0 SControl 300)
[    2.657266] ata4: SATA link down (SStatus 0 SControl 300)
[    2.976528] ata5: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    2.979582] ata5.00: ATAPI: HL-DT-ST DVDRAM GH22NS50, TN03, max UDMA/100
[    2.983356] ata5.00: configured for UDMA/100
[    3.319598] ata6: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    3.320252] ata6.00: ATA-9: SAMSUNG SSD 830 Series, CXM03B1Q, max UDMA/133
[    3.320258] ata6.00: 125045424 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[    3.320803] ata6.00: configured for UDMA/133
[    3.324863] Write protecting the kernel read-only data: 12288k
[    3.374767] pata_marvell 0000:0b:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[    3.374795] pata_marvell 0000:0b:00.0: setting latency timer to 64
[    3.375759] scsi6 : pata_marvell
[    3.376650] scsi7 : pata_marvell
[    3.376704] ata7: PATA max UDMA/100 cmd 0xdc00 ctl 0xd880 bmdma 0xd400 irq 18
[    3.376707] ata8: PATA max UDMA/133 cmd 0xd800 ctl 0xd480 bmdma 0xd408 irq 18
[    3.387938] sata_sil24 0000:07:00.0: version 1.1
[    3.387951] sata_sil24 0000:07:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
[    3.387974] sata_sil24 0000:07:00.0: Applying completion IRQ loss on PCI-X errata fix
[    3.388621] scsi8 : sata_sil24
[    3.388825] scsi9 : sata_sil24
[    3.388887] scsi10 : sata_sil24
[    3.388956] scsi11 : sata_sil24
[    3.389001] ata9: SATA max UDMA/100 host m128@0xfbaffc00 port 0xfbaf0000 irq 19
[    3.389004] ata10: SATA max UDMA/100 host m128@0xfbaffc00 port 0xfbaf2000 irq 19
[    3.389007] ata11: SATA max UDMA/100 host m128@0xfbaffc00 port 0xfbaf4000 irq 19
[    3.389010] ata12: SATA max UDMA/100 host m128@0xfbaffc00 port 0xfbaf6000 irq 19
[    5.581907] ata9: SATA link up 3.0 Gbps (SStatus 123 SControl 0)
[    5.618168] ata9.00: ATA-8: OCZ-REVODRIVE, 1.20, max UDMA/133
[    5.618175] ata9.00: 117231408 sectors, multi 16: LBA48 NCQ (depth 31/32)
[    5.658070] ata9.00: configured for UDMA/100
[    7.852250] ata10: SATA link up 3.0 Gbps (SStatus 123 SControl 0)
[    7.891798] ata10.00: ATA-8: OCZ-REVODRIVE, 1.20, max UDMA/133
[    7.891804] ata10.00: 117231408 sectors, multi 16: LBA48 NCQ (depth 31/32)
[    7.931675] ata10.00: configured for UDMA/100
[   10.022799] ata11: SATA link down (SStatus 0 SControl 0)
[   12.097658] ata12: SATA link down (SStatus 0 SControl 0)
[   12.738446] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null)

Os testes inteligentes nas unidades voltaram "saudáveis", no entanto, não consigo inicializar a máquina com as unidades conectadas quando a máquina está no modo AHCI (não sei se isso importa, mas são vermelhos de WD de 3 TB). Espero que isso signifique que as unidades estejam boas, pois eram um pouco compradas e novas. O utilitário de disco mostra um enorme "cinza" desconhecido mostrado abaixo:

Imagem do utilitário de disco mostrando unidades saudáveis

Desde então, removi o RevoDrive para tentar tornar as coisas mais simples / mais claras.


Tanto quanto posso dizer, a placa-mãe não possui dois controladores. Talvez o Revodrive que eu removi desde então, que conecta através do pci estava confundindo as coisas?


Alguém tem alguma sugestão de como recuperar os dados da unidade em vez de reconstruir a matriz? Ou seja, um passo a passo sobre o uso de testdisk ou algum outro programa de recuperação de dados ....


Eu tentei colocar as unidades em outra máquina. Eu tive o mesmo problema em que a máquina não passava da tela do BIOS, mas esta reiniciava-se constantemente. A única maneira de inicializar a máquina seria desconectar as unidades. Tentei usar diferentes cabos SATA também sem ajuda. Uma vez eu consegui fazê-lo descobrir a unidade, mas novamente o mdadm --examine não revelou nenhum bloqueio. Isso sugere que meus discos são # @@ # $ # @ mesmo que os pequenos testes inteligentes tenham declarado "saudáveis"?


Parece que as unidades estão realmente além do resgate. Eu não posso nem formatar os volumes no utilitário de disco. O Gparted não verá as unidades para colocar uma tabela de partição. Não posso nem emitir um comando de exclusão segura para redefinir completamente as unidades. Definitivamente, era um ataque de software que eu havia criado depois de descobrir que o ataque de hardware que eu havia tentado inicialmente era na verdade um ataque 'falso' e mais lento que um ataque de software.

Obrigado por todos os seus esforços para tentar me ajudar. Acho que a 'resposta' é que não há nada que você possa fazer se, de alguma forma, conseguir matar os dois discos simultaneamente.


I repetido testes SMART (desta vez na linha de comando em vez de utilitário de disco) e as unidades de fazer respondem com sucesso 'sem erro' . No entanto, não consigo formatar as unidades (usando o utilitário de disco) ou reconhecê-las pelo Gparted nessa máquina ou em outra. Também não consigo executar os comandos hdparm secure erase ou security-set-password nas unidades. Talvez eu precise dd / dev / null todas as unidades? Como diabos eles ainda estão respondendo à SMART, mas dois computadores não conseguem fazer nada com eles? Agora, estou executando longos testes inteligentes em ambas as unidades e publicarei os resultados em 255 minutos (é o tempo que isso indicava).

Eu coloquei as informações do processador nas outras especificações técnicas (por placa-mãe, etc.). É uma arquitetura pré-arenosa.


Saída da verificação SMART estendida de uma unidade:

smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-36-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model:     WDC WD30EFRX-68AX9N0
Serial Number:    WD-WMC1T1480750
LU WWN Device Id: 5 0014ee 058d18349
Firmware Version: 80.00A80
User Capacity:    3,000,592,982,016 bytes [3.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   9
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Sun Jan 27 18:21:48 2013 GMT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Disabled.
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:        (41040) seconds.
Offline data collection
capabilities:            (0x7b) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Suspend Offline collection upon new
                    command.
                    Offline surface scan supported.
                    Self-test supported.
                    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:    (   2) minutes.
Extended self-test routine
recommended polling time:    ( 255) minutes.
Conveyance self-test routine
recommended polling time:    (   5) minutes.
SCT capabilities:          (0x70bd) 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     0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0027   196   176   021    Pre-fail  Always       -       5175
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       29
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       439
 10 Spin_Retry_Count        0x0032   100   253   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   253   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       29
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       24
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       4
194 Temperature_Celsius     0x0022   121   113   000    Old_age   Always       -       29
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed without error       00%       437         -
# 2  Short offline       Completed without error       00%       430         -
# 3  Extended offline    Aborted by host               90%       430         -

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.

Dizia concluído sem erro. Isso significa que a unidade deve estar bem ou apenas que o teste foi capaz de concluir? Devo iniciar uma nova pergunta, pois estou mais preocupado em recuperar o uso das unidades em vez da matriz de dados / invasões neste momento ...


Bem, hoje eu estava examinando meu sistema de arquivos para ver se havia dados a serem mantidos antes de configurar o centOS. Notei uma pasta chamada dmraid.sil na minha pasta pessoal. Eu estou supondo que isso é de quando eu tinha inicialmente configurado a matriz de ataque com o controlador de ataque falso? Eu tinha certeza de remover o dispositivo (há algum tempo, muito antes deste problema) e pouco antes de usar o mdadm para criar 'software raid'. Existe alguma maneira de eu ter perdido um truque em algum lugar e isso estava de alguma forma executando uma invasão 'falsa' sem o dispositivo e é disso que se trata esta pasta dmraid.sil? Muito confuso. Existem arquivos como sda.size sda_0.dat sda_0.offset, etc. Qualquer conselho sobre o que esta pasta representa seria útil.


Acontece que as unidades estavam bloqueadas! Eu os desbloquei facilmente com o comando hdparm. Provavelmente, isso foi o que causou todos os erros de entrada e saída. Infelizmente agora tenho esse problema:

insira a descrição da imagem aqui

Eu consegui montar o dispositivo md. É possível desconectar uma unidade, formatá-la para uma unidade normal e copiar os dados para isso? Já me diverti bastante com o ataque e vou seguir uma rota de backups automatizados com o rsync, eu acho. Quero perguntar antes de fazer qualquer coisa que possa causar problemas de integridade dos dados.


22 rotações
fonte
"Acontece que as unidades estavam trancadas!" -- o que? Trancado de que maneira e como você os "desbloqueou"?
precisa saber é
Eu os desbloquei com um comando sudo hdparm --user-master u --security-unlock p / dev / sdb (c).
Programster

Respostas:

6

O problema era que as unidades ficaram 'bloqueadas' em algum momento. Isso explica:

  • Os erros de entrada / saída que eu estava recebendo para todos os comandos.
  • A incapacidade de formatar as unidades ou vê-las com gparted.
  • A incapacidade de inicializar com os discos. (Teria sido útil se o terminal não exibisse isso como status SMART BAD)
  • O fato de eu receber erros de E / S em vários computadores, mostrando que não eram os cabos / ônibus.

Uma vez desbloqueado com um simples comando hdparm sudo hdparm --user-master u --security-unlock p /dev/sdb(c)e uma reinicialização, meu dispositivo mdxxx tornou-se visível no gparted. Eu era capaz de sudo montá-lo em uma pasta e ver todos os meus dados! Não faço ideia do que causou o bloqueio das unidades. Também estou sentindo falta do rótulo eletrônico que parece. Eu não tenho ideia do que é isso. Talvez alguém possa fornecer uma resposta melhor, o que explica:

  • como as unidades podem ter ficado bloqueadas em primeiro lugar (desconectando as unidades enquanto o sistema estiver ativo / em funcionamento / ativo?)
  • se esta não é uma matriz mdadm? ou se é por isso que o arquivo de configuração parece não mostrar isso?
Stu2000
fonte