五陵年少金市东,银鞍白马渡春风。这篇文章主要讲述NetApp DataONTAP 集群模式 学习笔记2相关的知识,希望能为你提供帮助。
WAFL工作原理
基本结构如下图:
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030U021-0.jpg)
文章图片
【NetApp DataONTAP 集群模式 学习笔记2】客户端发送写请求
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030R101-1.jpg)
文章图片
控制器1将数据写到系统内存和NVRAM中,并将数据同步到控制2上
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030W5O-2.jpg)
文章图片
控制器2发送确认给控制器1
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030W0E-3.jpg)
文章图片
控制器1发送确认给客户端
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030S147-4.jpg)
文章图片
另一个客记端发送写请求
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030W442-5.jpg)
文章图片
控制器1将数据写入系统内存和NVRAM中,并同步给控制器2
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030V1B-6.jpg)
文章图片
控制器2发送确认给控制器1
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030UJ8-7.jpg)
文章图片
控制器1发送确认给客户端
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030R2N-8.jpg)
文章图片
另一客户端发送写请求到控制器1,控制器1写入内存和NVRAM,并将数据同步给控制器2
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030W524-9.jpg)
文章图片
控制器2发送确认给控制器1
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030WD6-10.jpg)
文章图片
控制器1发送确认给客户端
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030WO8-11.jpg)
文章图片
此时控制器的NVRAM已满一半
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030W505-12.jpg)
文章图片
此时触发一致点,控制器将内存中的数据写入到磁盘中
(触发一致点的条件:NVRAM满一半; 距离上一次发生CP超过10秒; 快照被创建; 管理员关闭系统)
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030UD8-13.jpg)
文章图片
完成一致性,NVRAM被清空
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030RM4-14.jpg)
文章图片
WAFL一旦数据写入内存,将立即给客户端发送确认。 这在数据被写入磁盘之前进行以优化性能。对客户端而言,数据已被永久写入存储。如果断电,系统内存中内容将丢失。如果数据只写入到系统内存,将导致一个不一致状态。NVRAM是非易失性的 - 它可以在停电时仍保存数据,如果数据在写入磁盘之前发生断电,则可以从NVRAM恢复。NVRAM会将数据写入到系统内存,并将它们从一致点写入磁盘。 将数据写入HA对中的两个控制器,以便如果有接管HA对等体可以将数据写入磁盘。
控制器1失效后
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030V505-15.jpg)
文章图片
控制器2将NVRAM的内写入到内存
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030W528-16.jpg)
文章图片
控制器2然后将内存中的数据写入到磁盘
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030V317-17.jpg)
文章图片
控制器2将NVRAM清空
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030RJ1-18.jpg)
文章图片
客户端给控制器1发送写请求
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030UW1-19.jpg)
文章图片
控制器1将数据写入内存和NVRAM,并同步给控制器2
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030V493-20.jpg)
文章图片
控制器2发送确认给控制器1
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030V016-21.jpg)
文章图片
控制器1给客户端发送确认
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030V502-22.jpg)
文章图片
客户端向控制器1发送读请求
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030R321-23.jpg)
文章图片
控制器1首先从内存中查找数据
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030Q620-24.jpg)
文章图片
如果内存中有该数据,将该数据上移至最顶部
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030RL2-25.jpg)
文章图片
其它数据被下移,并将查找到的数据发送给客户端
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030SK4-26.jpg)
文章图片
另一个客户端也发送读请求
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030R227-27.jpg)
文章图片
控制在在内存中未找到,需要从磁盘读取
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030S521-28.jpg)
文章图片
从磁盘中读取的数据被放到内存的最顶部
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030V4Z-29.jpg)
文章图片
间接数据访问: 客户端通过控制器2发送读请求
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030W643-30.jpg)
文章图片
控制器2将该请求发送给控制器1
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030W333-31.jpg)
文章图片
控制器1从磁盘中查找数据并放到内存中,并传送给控制器2以提供给客户端
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030W256-32.jpg)
文章图片
此数据将被放到内存的顶部
![NetApp DataONTAP 集群模式 学习笔记2](http://img.readke.com/220428/03030T5G-33.jpg)
文章图片
推荐阅读
- Android开发之基于监听的事件处理
- Android开发34周——Criminallntent项目
- 安卓开发——拍照裁剪并保存为头像报错(裁剪图片无法保存的)
- Android开发之CriminalIntent项目开发(其一)
- Android按键添加和处理的方案
- TeamViewer app案例分析
- appium启动运行log分析
- Android Studio 入门级教程
- unity发布安卓lua路径不存在问题