소프트웨어 RAID-mdadm-어레이 다시 찾기


14

기술

오늘 드라이브를 닦을 때 다른 하드 드라이브를 연결하고 RAID 드라이브의 플러그를 뽑아 실수로 잘못된 드라이브를 선택하지 않았습니다.

드라이브를 다시 연결 했으므로 소프트웨어 RAID 1 어레이가 더 이상 마운트 / 인식 / 발견되지 않습니다. 디스크 유틸리티를 사용하면 드라이브가 / dev / sda 및 / dev / sdb임을 알 수 있었지만 sudo mdadm -A /dev/sda /dev/sdb불행히도 실행을 시도했지만 오류 메시지가 계속 표시됩니다.mdadm: device /dev/sda exists but is not an md array


명세서:

운영체제 : Ubuntu 12.04 LTS Desktop (64 bit)

드라이브 : 2 개의 3TB WD Red (동일 모델 새 브랜드) OS가 세 번째 드라이브 (64GB SSD)에 설치됨 (많은 Linux 설치)

마더 보드 : P55 FTW

프로세서 : Intel i7-870 Full Specs


에 의한 결과 sudo mdadm --assemble --scan

mdadm: No arrays found in config file or automatically

복구 모드에서 부팅하면 아주 오랜 시간 동안 '아타리 온'ata1 오류 코드가 날아갑니다.

누구든지 어레이 복구를위한 적절한 단계를 알려줄 수 있습니까?

어레이를 재구성하는 것이 가능한 대안이라면 데이터를 복구하는 것이 기쁠 것입니다. ' test disk ' 에 대해 읽었 으며 위키에서 Linux RAID md 0.9 / 1.0 / 1.1 / 1.2의 손실 된 파티션을 찾을 수 있다고 말하지만 mdadm 버전 3.2.5를 실행하고 있습니다. 다른 사람이 이것을 사용하여 소프트웨어 RAID 1 데이터를 복구 한 경험이 있습니까?


에 의한 결과 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:

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$

sudo fdisk -lsda 및 sdb가 누락 된 결과입니다 .

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

dmesg의 출력 | grep ata는 매우 길어서 여기 링크가 있습니다 : http://pastebin.com/raw.php?i=H2dph66y


dmesg의 출력 | grep ata | bios를 ahci로 설정하고 두 디스크없이 부팅 한 후 head -n 200.

[    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)

드라이브에 대한 스마트 테스트는 모두 '정상적'으로 돌아 왔지만 머신이 AHCI 모드에있을 때 드라이브를 연결 한 상태에서 머신을 부팅 할 수 없습니다 (중요한 것은 모르겠지만 3TB WD 빨간색). 나는 이것이 꽤 구입하고 새로운 브랜드이기 때문에 드라이브가 훌륭하다는 것을 의미하기를 바랍니다. 디스크 유틸리티는 아래와 같이 거대한 회색 '알 수 없음'을 표시합니다.

정상 드라이브를 표시하는 디스크 유틸리티 이미지

그 이후로 RevoDrive를 제거하여 더 간단하고 명확하게 시도했습니다.


내가 알 수있는 한, 메인 보드에는 두 개의 컨트롤러가 없습니다. 아마도 내가 제거한 Revodrive는 아마도 pci를 통해 연결되는 것이 혼란 스러웠습니까?


어레이를 재구성하는 대신 드라이브에서 데이터를 복구하는 방법에 대한 제안이 있습니까? 즉 testdisk 또는 다른 데이터 복구 프로그램을 사용하는 단계입니다 ....


다른 컴퓨터에 드라이브를 넣으려고했습니다. 컴퓨터가 BIOS 화면을 통과하지 못하는 것과 동일한 문제가 있었지만이 화면은 지속적으로 재부팅됩니다. 머신을 부팅하는 유일한 방법은 드라이브를 분리하는 것입니다. 나는 도움없이 다른 sata 케이블을 사용해 보았습니다. 드라이브를 발견하기 위해 한 번 관리했지만 mdadm --examine은 블록을 공개하지 않았습니다. 짧은 스마트 테스트에서 디스크가 '정상적'이라고 말했지만 디스크 자체가 # @@ # $ # @임을 암시합니까?


드라이브가 실제로 구조를 넘어선 것 같습니다. 디스크 유틸리티에서 볼륨을 포맷 할 수도 없습니다. Gparted는 파티션 테이블을 넣을 드라이브를 볼 수 없습니다. 드라이브를 완전히 재설정하기 위해 보안 지우기 명령을 실행할 수도 없습니다. 내가 처음 시도했던 하드웨어 습격이 실제로 소프트웨어 습격보다 '가짜'습격이고 느리다는 것을 분별 한 후에 설정 한 것은 소프트웨어 습격이었다.

나를 도와 주려는 모든 노력에 감사드립니다. '답변'은 어떻게 든 두 드라이브를 동시에 죽일 수 있다면 할 수있는 일이 없다는 것입니다.


SMART 테스트를 다시 시도했지만 (이번에는 디스크 유틸리티가 아닌 명령 줄에서) 드라이브 '오류없이' 성공적으로 응답 합니다. 그러나 디스크 유틸리티를 사용하여 드라이브를 포맷하거나 Gparted가 해당 시스템 또는 다른 시스템에서 인식 할 수 없습니다. 또한 드라이브에서 hdparm secure erase 또는 security-set-password 명령을 실행할 수 없습니다. 아마도 전체 드라이브를 dd / dev / null해야합니까? 지구상에서 여전히 SMART에 어떻게 응답하고 있지만 두 대의 컴퓨터가 그들과 함께 아무것도 할 수 없습니까? 지금 두 드라이브에서 긴 스마트 테스트를 실행 중이며 255 분 안에 결과를 게시 할 것입니다 (시간이 얼마나 걸리는지).

프로세서 정보를 다른 기술 사양 (마더 보드 등)과 함께 저장했습니다. 사전 샌디 아키텍처입니다.


한 드라이브의 확장 SMART 스캔 출력 :

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.

오류없이 완료되었다고 말했다. 이는 드라이브가 정상이거나 테스트가 완료되었음을 의미합니까? 이 시점에서 데이터 / RAID 어레이가 아닌 드라이브 사용을 다시 얻는 것에 대해 더 걱정할 때 새로운 질문을 시작해야합니까?


오늘은 파일 시스템을 통해 centOS를 설정하기 전에 유지할 데이터가 있는지 확인했습니다. 내 홈 폴더에 dmraid.sil이라는 폴더가 있습니다. 처음에 가짜 RAID 컨트롤러로 RAID 배열을 설정했을 때의 추측입니다. 나는 mdadm을 사용하여 'software raid'를 만들기 직전에 장치를 제거해야합니다 (이 문제가 있기 전에 얼마 전에). 어딘가에서 트릭을 놓친 방법이 있습니까? 이것은 어떻게 든 장치없이 '가짜'공격을 실행하고 있었고 이것이 dmraid.sil 폴더의 모든 것입니까? 너무 혼란스러워. sda.size sda_0.dat sda_0.offset 등과 같은 파일이 있습니다.이 폴더가 나타내는 내용에 대한 조언이 도움이 될 것입니다.


드라이브가 잠겼습니다! hdparm 명령으로 쉽게 잠금을 해제했습니다. 이것은 아마도 모든 입력 출력 오류의 원인 일 것입니다. 불행히도 이제이 문제가 있습니다.

여기에 이미지 설명을 입력하십시오

md 장치를 마운트했습니다. 하나의 드라이브를 분리하고 일반 드라이브로 포맷 한 후 데이터를 복사 할 수 있습니까? 나는 습격으로 충분한 '재미'를 가지고 있었고 rsync로 자동화 된 백업 경로를 내려갈 것입니다. 데이터 무결성 문제를 일으킬 수있는 작업을 수행하기 전에 묻고 싶습니다.



"드라이브가 잠겼습니다!" -- 뭐? 어떤 방법으로 잠 갔으며 어떻게 "잠금 해제"했습니까?
gertvdijk

sudo hdparm --user-master u --security-unlock p / dev / sdb (c) 명령으로 잠금을 해제했습니다.
Programster

답변:


6

문제는 어느 시점에서 드라이브가 '고정'되었다는 것입니다. 이것은 설명한다 :

  • 모든 명령에 대해 입력 / 출력 오류를 수신했습니다.
  • 드라이브를 포맷하거나 gparted로 볼 수 없습니다.
  • 디스크를 넣은 상태로 부팅 할 수 없음 (터미널이 이것을 SMART 상태 BAD로 출력하지 않은 경우에 도움이 되었음)
  • 여러 컴퓨터에서 I / O 오류가 발생한다는 사실은 케이블 / 버스가 아님을 보여줍니다.

간단한 hdparm 명령 sudo hdparm --user-master u --security-unlock p /dev/sdb(c)과 재부팅으로 잠금을 해제하면 mdxxx 장치가 gparted로 표시됩니다. 그런 다음 폴더에 마운트하여 모든 데이터를 볼 수있었습니다! 드라이브가 '잠김'을 일으킨 원인을 모르겠습니다. 또한 e2label이 누락되었습니다. 나는 이것이 무엇인지 모른다. 아마도 누군가가 더 나은 답변을 제공 할 수 있습니다 :

  • 드라이브가 처음에 잠겼을 수있는 방법 (시스템이 작동 / 실행 / 작동하는 동안 드라이브의 플러그를 뽑습니까?)
  • 이것이 mdadm 배열이 아닌지 여부 또는 구성 파일이 이것을 보이지 않는 이유는 무엇입니까?
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.