ZFS和缓存设备


9

我将向我的ZFS存储中添加SSD驱动器作为缓存。有人对此有经验吗?如果缓存设备死了,该数据将受到影响吗?

Answers:



13

基本上,存在三种类型的ZFS缓存,它们都用于数据和元数据。

  • ARC(自适应替换缓存)-用于读取和写入的主内存DRAM缓存。
  • L2ARC(2级ARC)-安全的读取缓存:不会由于设备故障而导致数据丢失/服务中断。通常基于SSD。
  • ZIL(ZFS Intent Log)-安全地将写入保持在永久存储中,这些写入也在ARC中等待刷新到磁盘。数据在此缓存中的生存时间不应超过30秒,并且除非在崩溃后重播任何未提交的池写入,否则永远不会读取数据。在最新的任何ZFS版本上,Zil设备故障都不会导致数据丢失(所有数据仍在ARC中),但是设备故障+崩溃或断电可能会导致某些写入丢失。

首先升级您的ARC,购买大量的主内存。注意L2ARC和Zil都在ARC之外分配了开销。

从ARC逐出时,L2Arc由读取缓存的块填充。默认情况下,ZFS仅将随机IO(少量读取)缓存到L2ARC中,并且不用于流工作负载(除非有指示)。基本上,您可以使用任何设备(包括快速的15k HD),但它最适合轻松处理许多随机读取IOPS的SSD。

ZIL加速了需要同步写入的工作负载(进程在继续执行之前等待确认写入实际上已提交到磁盘的确认)。Zil与高端RAID控制器上的电池后备缓存具有相似的作用。尽管写延迟和流式写IOPS是定义好的Zil SSD的要素,但万一掉电,Zil绝对不能丢失任何数据。许多合适的设备都具有超级电容器,可以在没有系统电源的情况下完成所有待处理的操作。曾经推荐使用具有高写入耐久性的SLC SSD(Intel X25-E),但是在电源故障的情况下,较新的设备使用具有电池/超级电容的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的SSD也值得考虑,例如ZIL专用的DDRdrive x1($ 2k / 4GB)或用于L2ARC的任何大型PCIe SSD。其他性能较差(便宜)的2.5英寸SSD设备也可以显着提高性能,尤其是在用于L2ARC的情况下。


您确定OCZ Vertex2是基于DDR的吗?我看到它基于nand-mlc
disserman 2010年

3
OCZ Vertex2Pro是MLC NAND,但与几乎所有其他SSD不同,它具有超级电容,可以在断电时完成正在进行的写入。DDRdrive X1是4GB DDR2、4GB SLC和超级电容器,当掉电时,它可以在60秒内将ram复制到NAND。Logzilla经过写优化的SLC NAND具有超级电容(也没有DDR)
值得注意的

谢谢,我有2个Kingston(基于Intel的)ssd,我将它们用作缓存设备,直到它们消失或保修期结束。然后看看你的建议。
disserman 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.