如何在 Data ONTAP 中实施 RAID-DP
NetApp 发表于:13年03月27日 00:31 [转载] DOIT.com.cn
如何在 Data ONTAP 中实施 RAID-DP
与 NVRAM 和 WAFL 紧密集成
在 Data ONTAP 中实施 RAID-DP 与 NetApp NVRAM 和 NetApp WAFL?(任意位置写入文件布局)紧密相关。这是通过 RAID-DP 获得优于其他 RAID 6 实施的卓越性能的关键所在。
因为写入内存的速度远远快于写入磁盘,所以存储系统供应商通常使用电池后备、非易失性 RAM (NVRAM) 来缓存写入并提高写入性能。NetApp 在其所有存储系统中都提供 NVRAM,但是 NetApp Data ONTAP 操作环境使用 NVRAM 的方式明显不同于典型的存储阵列。
NVRAM 用作 Data ONTAP 自上个一致点接收的写入请求的日志。每隔几秒钟,Data ONTAP 就会创建一个称为一致点的特殊 Snapshot? 副本,即磁盘上文件系统的完全一致映像。因为 Data ONTAP 绝不会覆盖现有磁盘块,所以即使在向磁盘写入新块时,一致点也会保持不变。凭借此方法,当发生故障时,Data ONTAP 只需恢复到最近的一致点,然后回放来自 NVRAM 的写入请求的日志。
相对于传统的存储阵列,这是 NVRAM 一个非常不同的使用方式,即在磁盘驱动程序层缓存写入请求,这样可带来以下几项优势:减少所需的 NVRAM 数量、缩短对编写程序的响应时间并支持优化写入磁盘。
优化写入:RAID 4
此缓存写入方法与 NetApp RAID 实施紧密集成,并且支持 NetApp 对写入进行计划,以确保针对底层 RAID 阵列优化磁盘写入性能。在介绍 RAID-DP 之前,我将首先说明 NetApp 如何针对 RAID 4 实施优化此流程。
RAID 阵列通过条带管理数据,其中一个条带由 RAID 组的每个磁盘中的一个块组成。对于每个条带,指定一个块作为奇偶校验块。图 1 显示了使用水平奇偶校验的传统 RAID 4 组,由四个数据磁盘(前四个标为“D”的列)和一个奇偶校验磁盘(最后一个标为“P”的列)组成。
图 1) RAID 4 奇偶校验示例。
在本示例中,为了便于演示,计算奇偶校验的方式为将每个水平条带中的值相加,然后将所得之和存储为奇偶校验值 (3 + 1 + 2 + 3 = 9)。在实际操作中,将使用异或 (XOR) 运算方式计算奇偶校验。
如果需要从单个故障中重建数据,那么只需反向执行用于生成奇偶校验的流程。例如,如果第一个磁盘发生故障,RAID 4 会根据其余磁盘的数据重新计算磁盘 1 的每个块中的数据;在本示例中,只需从存储的奇偶校验值中减去其余磁盘的值 (9 - 3 - 2 - 1 = 3)。这也解释了为什么单奇偶校验 RAID 只能在单个磁盘出现故障时起到防护作用。您会发现,如果缺少两个值,则没有足够的信息来重新计算缺少的值。
在典型的 RAID 实施中,为了将新数据写入已包含数据(和奇偶校验)的条带,您必须读取奇偶校验块并计算该条带的新奇偶校验值,然后才能写入数据块和新奇偶校验块。对于要写入的每个块,这是一笔很大的开销。
NetApp 通过尽可能地在内存中缓存写入(通过 NVRAM 中的日志提供保护),然后写入完整的 RAID 条带和奇偶校验来减少这方面的损失。这样一来,在写入之前就无需读取奇偶校验数据,并且还支持 WAFL 针对完整的数据块条带执行单奇偶校验计算。(确切的块数目取决于 RAID 组大小。)由于在现有块被修改时,WAFL 绝不会覆盖现有块并且它可以将数据和元数据(描述数据组织方式的说明信息)写入任意位置,因此上述目标可以实现。而在其他数据布局中,修改过的数据块一般会被覆盖,并且元数据通常需要位于固定位置。