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功能設定為最高優先權,不論如何一定要定期運作。即便會影響性能,也可以保障資料。

 

小兵 發表在 痞客邦 留言(0) 人氣()