Answers:
(Solaris Internals网站不再建立,但WebArchive有副本)
基本上,存在三种类型的ZFS缓存,它们都用于数据和元数据。
首先升级您的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的情况下。