NetApp DataONTAP 集群模式 學習筆記2
WAFL工作原理
基本結構如下圖:
客戶端發送寫請求
控制器1將數據寫到系統內存和NVRAM中,並將數據同步到控制2上
控制器2發送確認給控制器1
控制器1發送確認給客戶端
另一個客記端發送寫請求
控制器1將數據寫入系統內存和NVRAM中,並同步給控制器2
控制器2發送確認給控制器1
控制器1發送確認給客戶端
另一客戶端發送寫請求到控制器1,控制器1寫入內存和NVRAM,並將數據同步給控制器2
控制器2發送確認給控制器1
控制器1發送確認給客戶端
此時控制器的NVRAM已滿一半
此時觸發一致點,控制器將內存中的數據寫入到磁盤中
(觸發一致點的條件:NVRAM滿一半;距離上一次發生CP超過10秒;快照被創建;管理員關閉系統)
完成一致性,NVRAM被清空
WAFL一旦數據寫入內存,將立即給客戶端發送確認。 這在數據被寫入磁盤之前進行以優化性能。對客戶端而言,數據已被永久寫入存儲。如果斷電,系統內存中內容將丟失。如果數據只寫入到系統內存,將導致一個不一致狀態。NVRAM是非易失性的 - 它可以在停電時仍保存數據,如果數據在寫入磁盤之前發生斷電,則可以從NVRAM恢復。NVRAM會將數據寫入到系統內存,並將它們從一致點寫入磁盤。 將數據寫入HA對中的兩個控制器,以便如果有接管HA對等體可以將數據寫入磁盤。
控制器1失效後
控制器2將NVRAM的內寫入到內存
控制器2然後將內存中的數據寫入到磁盤
控制器2將NVRAM清空
客戶端給控制器1發送寫請求
控制器1將數據寫入內存和NVRAM,並同步給控制器2
控制器2發送確認給控制器1
控制器1給客戶端發送確認
客戶端向控制器1發送讀請求
控制器1首先從內存中查找數據
如果內存中有該數據,將該數據上移至最頂部
其它數據被下移,並將查找到的數據發送給客戶端
另一個客戶端也發送讀請求
控制在在內存中未找到,需要從磁盤讀取
從磁盤中讀取的數據被放到內存的最頂部
間接數據訪問: 客戶端通過控制器2發送讀請求
控制器2將該請求發送給控制器1
控制器1從磁盤中查找數據並放到內存中,並傳送給控制器2以提供給客戶端
此數據將被放到內存的頂部
NetApp DataONTAP 集群模式 學習筆記2