Linux Software Raid 10 在 1 個驅動器故障後掛起,mdadm 不會讓我強制刪除故障的設備

Linux Software Raid 10 在 1 個驅動器故障後掛起,mdadm 不會讓我強制刪除故障的設備

我有一個 Linux 軟體 raid 10 設置,其中包含 5 個 RAID 1(每個鏡像設置兩個驅動器)和跨所有 5 個 RAID 1 對的 RAID 0。為了測試所有磁碟機在負載下不會很快出現故障,我在 RAID 0 中使用了壞區塊,並採用破壞性讀取/寫入模式。

壞區塊指令:badblocks -b 4096 -c 98304 -p 0 -w -s /dev/md13

其中一台設備出現故障,而不是壞塊程式愉快地在其上移動而掛起。如果我運行同步命令,這也會掛起。首先,我假設這不是 RAID 1 設備的標準行為。如果其中一個磁碟機發生故障,它仍然應該能夠毫無問題地寫入由兩個磁碟機組成的虛擬裝置。

因此,我開始強制驅動器出現故障並嘗試將其刪除。我可以將驅動器設定為故障,沒有任何問題(但是 IO 操作仍然掛起)。我無法從突襲中完全刪除該設備,它說它很忙。我的假設是,如果我可以將其完全踢出突襲,IO 將繼續,但這只是一個假設,我確實認為我正在處理某種錯誤。

這裡究竟發生了什麼事?我是否因錯誤而處於無法恢復的狀態?

該系統運行的是核心 2.6.18,所以它並不是全新的,但我認為鑑於軟體 raid 已經存在了很長時間,這樣的問題不會發生。

任何見解都將受到高度讚賞。

mdadm --詳細資料 /dev/md13

/dev/md13:

    Version : 00.90.03   Creation Time : Thu Jan 21 14:21:57 2010
 Raid Level : raid0
 Array Size : 2441919360 (2328.80 GiB 2500.53 GB)    Raid Devices : 5  

設備總數:5 首選次要:13 持久性:超級區塊是持久性的

Update Time : Thu Jan 21 14:21:57 2010
      State : clean  Active Devices : 5 Working Devices : 5 

故障設備:0 備用設備:0

 Chunk Size : 64K

       UUID : cfabfaee:06cf0cb2:22929c7b:7b037984
     Events : 0.3

Number   Major   Minor   RaidDevice State
   0       9        7        0      active sync   /dev/md7
   1       9        8        1      active sync   /dev/md8
   2       9        9        2      active sync   /dev/md9
   3       9       10        3      active sync   /dev/md10
   4       9       11        4      active sync   /dev/md11

失敗的 raid 輸出:

/dev/md8:版本:00.90.03 建立時間:2010 年1 月21 日星期四14:20:47 RAID 等級:raid1 陣列大小:488383936 (465.76 GiB 500.11 GB) 裝置大小:488383936 (Bid 1936)設備: 2
設備總數:2 首選次要:8 持久性:超級塊是持久性的

Update Time : Mon Jan 25 04:52:25 2010
      State : active, degraded  Active Devices : 1 Working Devices : 1

故障設備:1 備用設備:0

       UUID : 2865aefa:ab6358d8:8f82caf4:1663e806
     Events : 0.11

Number   Major   Minor   RaidDevice State
   0      65       17        0      active sync   /dev/sdr1
   1       8      209        1      faulty   /dev/sdn1

答案1

抱歉,也許我不太明白,cat /proc/mdstat 可能會有所幫助,但據我所知,您毀壞了 RAID0 上的數據以及底層 RAID1 陣列上的數據,是搬起石頭砸自己的腳。如果您必須測試 RAID 可靠性,則必須將磁碟機、磁碟標記為故障,而不是破壞引用所有底層 RAID1 磁碟的邏輯區塊,如果我很好地理解了問題(請告訴我)。

答案2

也許您需要請求核心刪除故障的磁碟機。它將釋放hangy RAID。

您可以使用類似腳本刪除它http://bash.cyberciti.biz/diskadmin/rescan-linux-scsi-bus/

相關內容