SAN storage會定期啟動DSR(Dynamic Sector Repair,HP的Smart ArrayController就是這麼稱呼這個功能,也有廠商稱呼此功能為Disk scrubbing),DSR用來檢查硬碟上的壞軌。
這個功能,運行的過程中會影響效能,不過一般SAN storage vendor都會啟動,時間到就進行,並不會去理會效能受影響。因為資料完整性比效能重要。
但是SSV伺服器後端如果是串接一般的Direct attach Array,這些RAID 控制卡上面也有DSR,但是如果它的基本設定是偵測到系統處於Low activities時就進行DSR作業,一旦系統一忙碌,DSR就暫停。
問題在於結合了SSV的local attached Array,因為SSV使用Pool聚合所有LUN,所有資料寫入都是striping。因此很大的機會,backend attach array都是持續很忙碌的狀態。
這會讓DSR沒有機會運作。
一旦長時間RAID控制卡沒有進行壞軌確認.....
想像一種情況,
1.SSV1與SSV2運行HA mirror。
2.SSV1因為某些原因故障,SSV2開始接受乘載所有I/O與異動資料。
3.SSV1修復了,SSV2開始Full mirror recovery 到SSV1。
4.但是SSV2的local attach disk array出現壞軌....導致某些vDisk offline....
在某些幸運的情況下,可以把SSV2 停止,重啟先讓這些vDisk online (因為還沒讀到壞軌,SSV會先讓它online),然後趁機會將資料從前端主機複製走。
在某些部幸運的情況下....可能就會出現3,4不斷重複的dead lock.
解決方法,就是將這些在控制卡上的DSR功能設定為最高優先權,不論如何一定要定期運作。即便會影響性能,也可以保障資料。
留言列表