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以提供给客户端
此数据将被放到内存的顶部
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。