|  | 
| 本帖最后由 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上會明顯標示這種行為性的發生...
 
 | 
 |