Debian
RAID 1 硬碟錯誤,文件系統未掛載
我有一個帶有 2 個軟 RAID 1 硬碟的伺服器,作業系統是 Debian Wheezy。經過一些數據庫測試後,文件系統進入了只讀模式,之後我重新啟動了機器。伺服器沒有重新啟動,所以我啟動了一個救援系統來照顧硬碟。
現在問題開始了:
fdisk -l
沒有輸出,並fdisk /dev/sda
說Unable 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
如果您有多個分區,只需對所有分區執行此操作(標記故障並刪除)