NetApp 虚拟存储层
根据我们前面讨论的评价标准,NetApp 考察了这两种实现 AST 的方式,并得出以下结论:基于缓存的 AST 方式更符合这些标准的要求。
此外,NetApp 还能够专注于优化读取性能,因为 NetApp 任意位置写入文件布局 (WAFL) 能够有效地将写入活动转变成连续写入,而 HDD 适于处理连续写入(如图 2 所示)。这也是 NetApp 双奇偶校验 RAID [RAID-DP] 能够提供良好的写入性能,而其他 RAID 6 实施方案无法提供的原因。
▲图 4) NetApp 虚拟存储层是基于缓存实现自动存储分层的一种方式。
NetApp 虚拟存储层将热数据提升到缓存,同时将 HDD I/O 开销保持在最低水平。无论何时接收到针对卷或 LUN 上某个数据块的读取请求,系统都将自动提升该数据块。请注意,数据块提升不是数据迁移,因为将数据块复制到虚拟存储层时,数据块仍保留在 HDD 上。提升是直接在系统缓冲区缓存中发生的,所以不需要额外的 HDD I/O。
由于数据块在第一次从磁盘读取之后可以立即进行提升,因此也不需要额外的磁盘 I/O。相比之下,基于迁移的 AST 实施通常在多次从磁盘读取热数据之后或直到执行计划的下一次迁移时,才会提升热数据,并且还需要额外的磁盘 I/O,才能完成迁移流程。
NetApp 算法可将高价值数据与低价值数据区分开,并将高价值数据保留在虚拟存储层中。例如,系统始终会在第一次读取元数据时就将其提升到缓存中。相比之下,除非是专门启用,否则在虚拟存储层中一般不会缓存连续读取,因为连续读取往往会挤掉更有价值的数据的位置,而且如我们前面所看到的,HDD 更适于处理连续读取。您可以更改此行为,以满足具有不同服务级别要求或独特数据访问行为的应用的要求。