|
本帖最后由 per1-q1222 于 2013-10-13 00:43 编辑
前幾天其他網站的網兄遭遇案例...
http://www.pcdvd.com.tw/showthread.php?t=1027389&page=1&pp=10
bad block發生..
請問這個 bad strips 發生的原因是什麼?
是硬體故障還是操作不當?
他一開始更新韌體的時候先把硬碟拔掉,更新完發現卡有問題,換一塊卡之後發現一顆硬碟失效,rebuild 之後就有 bad strips 了。
"他一開始更新韌體的時候先把硬碟拔掉,更新完發現卡有問題,換一塊卡之後發現一顆硬碟失效,rebuild 之後就有 bad strips 了。"
其實行為上太過草率...
當然這有可能是很多MIS的標準操作...
那個換個方向思考..
他們在進行替換之前都在幹甚麼??...
定期的維護計畫呢???
對方有沒有進行定期的操作..?
1. CC
2. Disk Scrubbing(Media Scans or Patrol Read..)
敢做有無能力看h/w log??? 解析sense code??
從你的截圖來看應當是adaptec體系...
我對這體系的產品幾乎不熟.....
向來我是西瓜餵大邊.......
我摸過幾款, 但是我從來沒仔細玩這家的東西..
要知道記憶command是很累的事.....
請問這個 bad strips 發生的原因是什麼?
是硬體故障還是操作不當?
最好的方式請他提供h/w log(不是event log喔...那東西我覺得沒啥好看的..)...
雖然我認為他們可能拿不出來或著不願意提供(HBA都被換掉了..)...
可能有一種情況可以解釋...
bad block先前就存在了...
只是RAID f/w操作的過程中剛好被掃到...
"他一開始更新韌體的時候先把硬碟拔掉,更新完發現卡有問題,換一塊卡之後發現一顆硬碟失效,rebuild 之後就有 bad strips 了。"
我不太清楚更新硬體幹嘛要把HDD全拔了??..
對adaptec的core IP這麼沒自信???..
一種可能的情況...
建好的VD,關機後將PD進行抽換這是注意的行為...
slot number與原先不符就等於metadata與先前的完全不一致..
在LSI體系我看過2~3個案例都是這樣...
拔掉HDD插回去, VD掛掉...
因為metadata完全不一致, 順序都不同了...
怎麼可能一致??!..
OAR(Online Array Roaming)和ODR(Online Drive Roaming)盡量切勿衝突...
這有可能干涉metadata...
匹配性的操作盡量如下注意:
1. 盡可能不要破壞HDD的順序性, 因為這會牽涉到metadata的一致以及stripping的順序
2. 透過HSP操作rebuild完, metadata就100%保證不一致. 這時MIS就不能直接擺著跑下去(請不要偷懶.., 掛了幾乎沒有MIS有能力去算stripe的順序性...)..
應當盡可能找時間取得新的HDD替換原來故障的HDD, 這表示可能一段時間. RAID f/w會立即操作copyback..(SSD的copyback在LSI稱為SSD Guard..),
以匹配原始的metadata. 這種HSP操作稱為revertable HSP..
3. OAR(Online Array Roaming)是可以允許的, 這幾乎是商品的必要條件. 但是要注意一點. 替換HBA後, HDD的順序請與原先的一致
ex:
before===>after
s1 -> s1
s2 -> s2
4. ODR(Online Drive Roaming)是一種可以允許原先的HBA使HDD順序"亂"換重新在維護metadata...
但是切勿盡量與替換的HBA衝突, 因為這是OAR與ODR的衝突...
有可能觸發metadata非一致性..
近代RAID系統除了"某幾家"之外, 皆有提供NVSRAM的設計, 我印象adaptec和LSI應該都是32KB左右. 這個東西有幾種作用.
a. write-journaling以建立checkpoint. 這功能有時會發揮關鍵性的作用.
b. 存放metadata和config, 這裡的metadata用以維護VD上的metadata. 因此原先的HBA隨意替換順序, 應該都不受影響. 當然更換HBA情況就不同了...
c. block change tracking, LSI沒做這功能. adaptec我不太清楚..
d. h/w logging, it's very important!!....really........靠這個曾經拯救我好幾次..
關於bad srtipe部分, RAID f/w會盡可能操作scan和remapping(correcting)...
時常可能會進入deep scan的情況, 如果HDD對於ERC的容忍度幾乎為0...
沒多久就是kick-out...
bad stripe發生後, 有沒有可能後續修復..?
這是有可能的..
1. 直接CC和Media Scan, 看有沒有機會修復VD, 之後再進行替換...
2. 將bad block的HDD進行替換, 再做一次rebuild賭看看...
rebuild過後的bad stripe有時意謂某些情況(可能性的! 要看廠商有沒有做..)
有一種特殊的行為稱為 刺穿, 當一個bad block在rebuild過程中發生時, 依然有辦法繼續進行下去.
對於parity RAID mode會是這樣做..
d?=p1 XOR d1 XOR d2 XOR d3 XOR ..dx XOR dy(bad->soft)..XOR dn
dy是一個bad block, 但是RAID f/w為了維持穩定性...
錯誤的dy依然會繼續操作下去..., 結果取出的d?就是錯的data block...
這種操作為了穩定性是不得已的(至少VD盡可能避免掛掉)...,
LSI在logging上會明顯標示這種行為性的發生...
|
|