ZFS和caching设备

我将把SSD驱动器添加到我的ZFS存储器中作为caching。 任何人有这方面的经验? 如果caching设备死了会怎么样,这些数据会受到影响?

基本上有三种types的ZFScaching,全部用于数据和元数据。

  • ARC(自适应replacecaching) – 用于读取和写入的主内存DRAMcaching。
  • L2ARC(2级ARC) – 安全的读取caching:设备故障不会造成数据丢失/服务中断。 通常基于SSD。
  • ZIL(ZFS意向日志) – 安全地将持久存储上的写入保存在等待ARC的永久存储中,以便刷新到磁盘。 数据在这个caching中的存储时间应该不会超过30秒,除非在重放任何未提交的池写入之后才会读取数据。 在最近的任何ZFS版本中,Zil设备故障不会导致数据丢失(所有数据仍在ARC中),但设备故障+故障或停电可能导致一些写入丢失。

先升级你的ARC,购买主内存。 注意L2ARC和Zil都有从ARC分配的开销。

L2Arc由从ARC中逐出的读高速caching块填充。 ZFS默认只将随机IO(小读取)caching到L2ARC中,不用于stream式工作负载( 除非指示 )。 你基本上可以使用任何设备(包括一个快速的15k高清),但是它最适合用SSD轻松处理许多随机读取IOPS。

ZIL加速需要同步写入的工作负载(进程在继续执行之前等待写入确实已经提交到磁盘的确认)。 Zil在高端RAID控制器上执行与电池支持caching类似的angular色。 尽pipe写入延迟和stream写入IOPS是定义良好Zil SSD的原因,但Zil最重要的是在发生掉电事件时不得丢失任何数据。 许多合适的器件都有一个超级电容器来完成任何悬而未决的操作,而无需系统电源 推荐使用具有高写入耐力(Intel X25-E)的SLC固态硬盘,但是更新的设备使用带电池/超级电容的RAM在发生电源故障时将其写回NAND。 ZIL不需要很大,但只需使用一小部分大型设备(例如300GB Intel 320 MLC SSD中的8GB),就可以获得更高的有效写入耐久性。 “企业”供应商总是推荐镜像ZIL,我的工作负载从来没有这么重要。

至于特定的产品,STEC为Sun的Fishworks项目(包括Logzilla&Readzilla)制造了第一批SSD,并且目前ZIL( ZeusRAM $ 2500 / 8GB)和L2ARC( Zeus IOPS $ 3k / 400GB)的设备都非常值得推荐。 基于PCIe的固态硬盘也值得考虑,比如ZIL特定的DDR2 x1 (2k / 4GB)或L2ARC的任何大型PCIe SSD。 其他性能较差(阅读:更便宜)的2.5英寸SSD设备也可以提供显着的性能提升,特别是在用于L2ARC时。