web-dev-qa-db-ja.com

ソフトウェアRAID-mdadm-アレイの再検索

説明

今日、別のハードドライブを接続し、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を示すエラーメッセージが表示されます


仕様:

OS:Ubuntu 12.04 LTSデスクトップ(64ビット)

ドライブ:2台の3TB WD Red(同じモデルの新品)OSを3番目のドライブにインストール(64GB ssd)(多くのLinuxインストール)

マザーボード: P55 FTW

プロセッサー:Intel i7-870 フルスペック


Sudo mdadm --assemble --scanの結果

mdadm: No arrays found in config file or automatically

リカバリモードから起動すると、非常に長い時間にわたって無数の「ata1エラー」コードが飛んできます。

アレイを回復するための適切な手順を教えてもらえますか?

それがアレイを再構築するための可能な代替手段である場合、データを回復するだけで幸せです。 「 test disk 」について読んだことがあり、Wikiで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 -lの結果では、sdaと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はveryでしたので、ここにリンクがあります: http://Pastebin.com/raw.php?i=H2dph66y =


Dmesgの出力| grep ata | biosをahciに設定し、これら2つのディスクなしで起動する必要がある場合、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レッドです)。これは、購入して新品にするのがかなり面倒だったので、ドライブが正常であることを意味します。ディスクユーティリティは、以下に示す大きな灰色の「不明」を示します。

Image of disk utility showing healthy drives

それ以来、RevoDriveを削除して、物事をより簡単/より明確にしようと試みました。


私が知る限り、マザーボードには2つのコントローラーはありません。おそらく私がその後削除したRevodrive、pciを介してどのプラグインが混乱していたのでしょうか?


アレイを再構築するのではなく、ドライブからデータを回復する方法について何か提案はありますか?つまりtestdiskまたは他のデータ回復プログラムを使用する段階的な手順....


ドライブを別のマシンに入れてみました。マシンがBIOS画面を通過しないという同じ問題がありましたが、これは常に自動的に再起動します。マシンをブートするための唯一の方法は、ドライブを取り外すことです。助けを借りずに別のSATAケーブルを使用してみました。ドライブを発見するためになんとかやってみましたが、再びmdadm --examineでブロックが見つかりませんでした。これは、短いスマートテストで「正常」であると示されていても、ディスク自体が#@@#$#@であることを示していますか?


ドライブは本当に救いの範囲を超えているようです。ディスクユーティリティでボリュームをフォーマットすることもできません。 Gpartedは、パーティションテーブルを配置するドライブを見ることはありません。安全な消去コマンドを発行してドライブを完全にリセットすることさえできません。私が設定したのは間違いなくソフトウェアレイドでした 最初に試したハードウェアレイドは実際には「偽の」レイドであり、ソフトウェアレイドよりも遅いことを発見した後

私を助けようとするあなたのすべての努力に感謝します。 「答え」は、どうにかして両方のドライブを同時に殺すことができれば何もできないということだと思います。


SMARTテスト(今回はディスクユーティリティではなくコマンドラインで)を再試行し、ドライブdoが正常に応答しました「エラーなし」。ただし、(ディスクユーティリティを使用して)ドライブをフォーマットすることも、そのマシンまたは別のマシンでGpartedに認識させることもできません。また、ドライブでhdparm secure eraseまたはsecurity-set-passwordコマンドを実行できません。おそらく、ドライブ全体をdd/dev/nullする必要がありますか?一体どのように彼らはSMARTにまだ応答していますが、2台のコンピューターはそれらを使用して何もできませんか?現在、両方のドライブで長いスマートテストを実行しており、255分後に結果を投稿します(それがかかると言っていた時間です)。

プロセッサ情報を他の技術仕様(マザーボードなど)に記載しました。これは、事前にサンディなアーキテクチャであることが判明しました。


1つのドライブの拡張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を使用して「ソフトウェアraid」を作成する直前に削除しました。どこかでトリックを逃した方法はありますか?これはデバイスなしで何らかの形で「偽の」襲撃を実行していましたが、それがこのdmraid.silフォルダのすべてです。混乱している。そこにはsda.size sda_0.dat sda_0.offsetなどのようなファイルがあります。このフォルダーが何を表すかについてのアドバイスは役に立ちます。


ドライブがロックされたことが判明しました! hdparmコマンドで簡単にロック解除できました。これがおそらくすべての入出力エラーの原因です。残念ながら、私は今この問題を抱えています:

enter image description here

Mdデバイスをマウントできました。 1つのドライブを取り外し、通常のドライブにフォーマットして、そこにデータをコピーすることは可能ですか?私はレイドで十分な「楽しい」ことがあり、rsyncで自動バックアップルートをたどります。データの整合性の問題を引き起こす可能性のあることを行う前に確認したい.


13
Programster

問題は、ある時点でドライブが「ロック」されることでした。これは説明します:

  • すべてのコマンドで受け取っていた入出力エラー。
  • ドライブをフォーマットできない、またはgpartedでそれらを表示できない。
  • ディスクが入った状態で起動できない(端末がSMART status BADとしてこれを出力しなかった場合に役立ちます)
  • 複数のコンピューターでI/Oエラーが発生するという事実は、ケーブル/バスではないことを示しています。

単純なhdparmコマンドSudo hdparm --user-master u --security-unlock p /dev/sdb(c)と再起動でロックを解除すると、mdxxxデバイスがgpartedで表示されるようになりました。それから、Sudoをフォルダーにマウントして、すべてのデータを見ることができました!ドライブが「ロックダウン」する原因はわかりません。また、e2labelも見当たりません。これが何なのか分かりません。おそらく誰かがより良い答えを提供することができます:

  • そもそもドライブがどのようにロックされたのか(システムが稼働中/実行中/稼働中にドライブのプラグを抜く?)
  • これがmdadm配列ではないかどうか?または、それが構成ファイルにこれが表示されていないように思われる理由ですか?
6
Programster