Debian

RAID 1 硬碟錯誤,文件系統未掛載

  • May 17, 2013

我有一個帶有 2 個軟 RAID 1 硬碟的伺服器,作業系統是 Debian Wheezy。經過一些數據庫測試後,文件系統進入了只讀模式,之後我重新啟動了機器。伺服器沒有重新啟動,所以我啟動了一個救援系統來照顧硬碟。

現在問題開始了:fdisk -l沒有輸出,並fdisk /dev/sdaUnable to read /dev/sda,雖然smartctl -a給了我​​一個SMART overall-health self-assessment test result: PASSED。/dev/sdb 也會出現所有問題。

mdadm也沒有幫助:

mdadm: no recogniseable superblock on /dev/sda
mdadm: /dev/sda has no superblock - assembly aborted

輸出dmesg

ata5.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata5.00: irq_stat 0x40000001
ata5.00: cmd c8/00:08:00:00:00/00:00:00:00:00/e0 tag 0 dma 4096 in
res 61/04:08:00:00:00/00:00:00:00:00/e0 Emask 0x1 (device error)
ata5.00: SB600 AHCI: limiting to 255 sectors per cmd
ata5.00: SB600 AHCI: limiting to 255 sectors per cmd
ata5.00: configured for UDMA/133
ata5: EH complete

testdisk正在列出具有正確大小的驅動器,但是當我嘗試測試磁碟時,每個塊都返回一個讀取錯誤:

...
file_pread(4,2,buffer,34(0/0/35)) read err: Input/output error
file_pread(4,8,buffer,32(0/0/33)) read err: Input/output error
file_pread(4,8,buffer,40(0/0/41)) read err: Input/output error
file_pread(4,3,buffer,48(0/0/49)) read err: Input/output error
...

我有點疑惑,因為我懷疑兩個磁碟是否同時死掉,我懷疑 SATA 控制器可能有問題。我該如何測試呢?我還能檢查什麼?

事實證明,硬碟驅動器和控制器都沒有問題。那是……SATA電纜。

我(和其他所有人)的教訓:在嘗試一切並浪費時間之前,首先檢查非常明顯的事情。

首先,我建議用第二塊硬碟重建陣列,如果沒有,請進行備份。大概是這樣的:

mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 missing

然後在更換第一塊硬碟後,應該可以複製分區表了

sfdisk -d /dev/sdb | sfdisk /dev/sda

並再次將新硬碟添加到陣列中

mdadm --manage /dev/md0 --fail /dev/sda1
mdadm --manage /dev/md0 --remove /dev/sda1
mdadm --manage /dev/md0 --add /dev/sda1

如果您有多個分區,只需對所有分區執行此操作(標記故障並刪除)

引用自:https://serverfault.com/questions/508602