NetApp DataONTAP 集羣模式 學習筆記2

WAFL工作原理

基本結構如下圖:

wKioL1nPYMiRJCGbAADlI6rWRuU680.jpg-wh_50


客戶端發送寫請求

wKioL1nPYMmSGPlEAADxH257hCc240.jpg-wh_50


控制器1將數據寫到系統內存和NVRAM中,並將數據同步到控制2上

wKioL1nPYMqB-CdhAAD0l9538pg897.jpg-wh_50



控制器2發送確認給控制器1

wKioL1nPYMzCmOy2AADsfcYATZI476.jpg-wh_50


控制器1發送確認給客戶端

wKioL1nPYNDDkB6cAADyNpg4CsU870.jpg-wh_50


另一個客記端發送寫請求

wKiom1nPYRTBeY49AADtGkBjnBQ676.jpg-wh_50


控制器1將數據寫入系統內存和NVRAM中,並同步給控制器2

wKioL1nPYNKxyiANAADyoZ_AKU8404.jpg-wh_50


控制器2發送確認給控制器1

wKiom1nPYRbgEbMkAADujo-HnQQ017.jpg-wh_50


控制器1發送確認給客戶端

wKioL1nPYNTTColjAADvztkwmTU788.jpg-wh_50


另一客戶端發送寫請求到控制器1,控制器1寫入內存和NVRAM,並將數據同步給控制器2

wKiom1nPYRnRmQ8BAAD5JPZZAa8511.jpg-wh_50


控制器2發送確認給控制器1

wKiom1nPYRqgHcxXAADvy2EnJpI218.jpg-wh_50


控制器1發送確認給客戶端

wKiom1nPYRvwCRzIAADwCA_3Fz4071.jpg-wh_50


此時控制器的NVRAM已滿一半

wKiom1nPYRziFCcCAADtk-Ctyn0356.jpg-wh_50


此時觸發一致點,控制器將內存中的數據寫入到磁盤中

(觸發一致點的條件:NVRAM滿一半;距離上一次發生CP超過10秒;快照被創建;管理員關閉系統)

wKioL1nPYNrwN5RXAADw-yOTeAg014.jpg-wh_50


完成一致性,NVRAM被清空

wKioL1nPYNvDBwUkAADp6ZhOfYc659.jpg-wh_50

WAFL一旦數據寫入內存,將立即給客戶端發送確認。 這在數據被寫入磁盤之前進行以優化性能。對客戶端而言,數據已被永久寫入存儲。如果斷電,系統內存中內容將丟失。如果數據只寫入到系統內存,將導致一個不一致狀態。NVRAM是非易失性的 - 它可以在停電時仍保存數據,如果數據在寫入磁盤之前發生斷電則可以從NVRAM恢復。NVRAM會將數據寫入到系統內存並將它們從一致點寫入磁盤。 將數據寫入HA對中的兩個控制器,以便如果有接管HA對等體可以將數據寫入磁盤。



控制器1失效後

wKiom1nPYSDQyEFLAAD48mCww5Y469.jpg-wh_50


控制器2將NVRAM的內寫入到內存

wKiom1nPYSGyrUMjAAD7Cyf91KQ928.jpg-wh_50


控制器2然後將內存中的數據寫入到磁盤

wKioL1nPYN-Qzc4yAAEBvk-GEPk584.jpg-wh_50


控制器2將NVRAM清空

wKiom1nPYSPShD7OAAECaq-DODk735.jpg-wh_50


客戶端給控制器1發送寫請求

wKioL1nPYOSw2PWRAADy2X8dXPQ930.jpg-wh_50


控制器1將數據寫入內存和NVRAM,並同步給控制器2

wKiom1nPYSijVxtdAAD077c038k824.jpg-wh_50


控制器2發送確認給控制器1

wKiom1nPYSqxRF26AADtZm73Rec948.jpg-wh_50


控制器1給客戶端發送確認

wKioL1nPYOvBga2tAADzRF2gIUo485.jpg-wh_50


客戶端向控制器1發送讀請求

wKiom1nPYTLi38e-AAD30YqNXqA381.jpg-wh_50


控制器1首先從內存中查找數據

wKioL1nPYPKTGYW2AAD2bMRmLwA860.jpg-wh_50


如果內存中有該數據,將該數據上移至最頂部

wKioL1nPYPTQA3F_AAD5uoHbaDU439.jpg-wh_50


其它數據被下移,並將查找到的數據發送給客戶端

wKiom1nPYTmClN84AAD3A3I4XvA990.jpg-wh_50


另一個客戶端也發送讀請求

wKioL1nPYPjgj-aYAAD76qTpQ6o083.jpg-wh_50


控制在在內存中未找到,需要從磁盤讀取

wKiom1nPYTzCT0nGAAEBTNErbdQ283.jpg-wh_50


從磁盤中讀取的數據被放到內存的最頂部

wKioL1nPYPrir-5VAADtgCCNST4450.jpg-wh_50




間接數據訪問: 客戶端通過控制器2發送讀請求

wKiom1nPoPKRYtigAAEYrkL_XNs696.jpg-wh_50


控制器2將該請求發送給控制器1

wKiom1nPoPLiDvzDAAEZYlMPdec392.jpg-wh_50


控制器1從磁盤中查找數據並放到內存中,並傳送給控制器2以提供給客戶端

wKioL1nPoK-wA6HuAAEde4Fcyy0915.jpg-wh_50


此數據將被放到內存的頂部

wKiom1nPoPKTaMQOAAEMZSTbvGk356.jpg-wh_50


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章