Netapp大概简介(二)
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以提供给客户端
此数据将被放到内存的顶部
DATA SVM
Data SVM是安全多租户的基本单元,它能将集群分区,以程现为多个不相关的SVM。每个SVM对客户端程现为单个独立的服务器。
除非集群管理员开启,否则在集群中流量不会SVM之间传输。
如果不启用多租户,仍然需要至少一个DataSVM。
SVM之前被称之为vserver, 在GUI介面被叫做SVM,但是CLI模式仍然使用“vserver “命令。
可以在集群中仅有一个或多个SVM,单个SVM可以提供SAN或NAS协议,或两个都使用。
每个SVM对客户端来说是一个专有的服务器
Data SVM独立于节点和aggregate, 它可以基于多个节点和aggregate,或者仅在一个上面。不同的DataSVM可以在相同的节点和使用相同的aggregate. 也可以指定SVM指定一个aggregate. 可以为SMV指定专用的卷和Data LIFs.
Data Namespace
每个SVM对NAS有它自己唯一的”namespace”,自己的目录结构。
当创建SVM时,它的根卷也并被创建。
为构建名称空间,每个SVM中的卷通过junction path彼此相连,并挂载在junction path上。
根卷位于命名空间层次结构的顶层,其它卷通过junction path挂载到根卷下。
IPSpaces
IPspaces允许同一个集群中的SVM拥有重叠的子网和IP地址,在以前的Data ONTAP上,Data LIFs必须用不同的IP地址。
通过IPspaces, 不同SVM上的LIFs可以使用其它SVM相同的IP地址。
IPspaces对安全多租户不是必须的,因为已经由SVM提供地址空间。
每个SVM维护它自己的路由表,IPspaces等同于VRF(虚拟路由转发表)。
转载出处:http://blog.51cto.com/chaozhs/category1.html
Netapp大概简介(二)相关推荐
- Netapp大概简介(一)
一.NetApp存储操作系统 Data ONTAP是NetApp最流行的存储操作系统,它运行在NetApp FAS(Fabric Attached Storage)系统上.FAS系统是被设计为共享的存 ...
- TiDB 简介(二)
参考:TiDB 简介_福海鑫森的博客-CSDN博客_tidb开发语言 TiDB 简介 | PingCAP Docs TiDB 是 PingCAP 公司自主设计.研发的开源分布式关系型数据库,是一款同时 ...
- 单元测试及NUnit测试框架简介(二)
一.单元测试框架的选择 在选择单元测试框架时,可以从以下几个方面去考虑: 支持自动检测注册用例:框架能否支持简单地构造用例并自动注册测试用例到测试框架中: 支持测试Fixture:即是否支持为一组测试 ...
- PP模块快速入门之功能简介(二)
根据以下任何一个随机模型进行预测:平均移动 ,指数平滑常数模型 ,指数平滑趋势模型 ,指数平滑季节性模型 ,组合趋势/指数平滑季节性模型 R/3可以用最适用分析来自动地选择随机模型,你也可以人工选择模 ...
- web API简介(二):客户端储存之document.cookie API
概述 前篇:web API简介(一):API,Ajax和Fetch 客户端储存从某一方面来说和动态网站差不多.动态网站是用服务端来储存数据,而客户端储存是用客户端来储存数据.document.cook ...
- 【FFmpeg】FFmpeg 相关术语简介 二
文章目录 一.码率与帧率 二.ffmpeg.ffplay.ffprobe 可执行文件 一.码率与帧率 帧率 : 帧频率 , 视频中每秒钟含有视频帧的帧数 , 一秒钟刷新多少张图像 , 连续移动的图像至 ...
- GCD简介二:多核心的性能
一.概念 为了在单一进程中充分发挥多核的优势,我们有必要使用多线程技术.在低层,GCD全局dispatch queue仅仅是工作线程池的抽象.这些队列中的Block一旦可用,就会被dispatch到工 ...
- 网站开发综合技术 一 JavaScript简介 二JavaScript语法
第1部分 JavaScript简介 1.JavaScript它是个什么东西? 它是个脚本语言,需要有宿主文件,他的宿主文件是html文件. 2.它与Java有什么关系? 没有什么直接联系,java是S ...
- python运输问题_Pyomo使用简介(二):运输问题
上次讲到了基础的求最优化问题,这次将会主要主要涉及到运输问题. 在Pyomo的使用过程中,模型分为Concrete和Abstract模型. 不论是什么模型,在建模的构建中,一些Model Compon ...
最新文章
- 力扣(LeetCode)763
- 递归时间/空间复杂度的分析(斐波那契为例)
- c++ 类和类的定义
- 2021校招 | 交通银行-IT类编程题
- 【剑指offer 07】用迭代和递归两种方法重构二叉树(python实现)
- mysql中数组转list,Arrays.asList(T... a) 不转换基本类型数组值为list
- python获取Linux发行版名称
- 银河麒麟 安卓nginx_银河麒麟Kydroid 2.0全新发布:原生支持海量安卓APP
- 2020-02-06 asm内联汇编
- 在Apache中隐藏Php文件后缀
- 前端筑基篇(一)-ajax跨域原理以及解决方案
- CA机构是如何保护自己私钥的?
- SPSS基础教程:SPSS菜单命令详解(三)
- 日本专利分类方法 FI 和 F-Term 分类号 检索
- 多媒体计算机特性,多媒体计算机的基本特性
- DDoS原理、分类与防御
- VOA 2009年11月23日 星期一 这里是美国——感恩节对美国人来说意味着什么
- 关于ionic环境卸载
- Googleearth提取数字高程等高线
- Dependency ‘taglibs:standard:1.1.2‘ not found