听起来像愚蠢的问题,但在SF没有现成的答案
caching池可以有不同的名称比zpool?
例如:假设有一个服务于NFS和iSCSI的zpool“tank”
可以添加一个新的caching池为“xyz1”为它服务的“坦克”?
还是有一个每池caching的概念?
首先,对于一般的ZFS最佳实践,Solaris Internals wiki非常有用: http : //www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide
如果需要,您可以创build一个完全由SSD组成的单独的ZFS池。 但是,这不会改善任何其他池的性能。 对于大多数工作负载而言,更具成本效益的方法是使用混合存储池function; 即将SSD添加到普通的旋转磁盘以提高读取和/或写入性能。
关键点:
可以将SSD添加到现有池中,以提高该池的性能。 他们没有不同的名字 – 他们只是池中的设备。 您可以根据性能要求将多个caching和日志设备添加到池中。
要提高池的读取性能,请将SSD分配为caching设备(“L2ARC”)。
要提高池的写入性能,请将SSD分配为日志设备(“ZIL”)。
L2ARC是一个读取caching,随着时间的推移会填满,并基于最常用和最近使用的块的组合来存储数据。 这提供了对“热”数据的快速访问。 它以几GB的低成本提供几乎RAM的速度优势。
ZIL是一个意向日志 – 添加固态盘允许同步写入发生在高IOPS和非常低的延迟,从而提高应用程序性能在某些情况下(例如数据库和NFS共享)。
如果您打算部署NFS,ZIL设备或设备可能比添加caching设备更重要。 而不是caching设备,您可以增加系统中的RAM数量,而是将更多的精力花在针对ZIL的写入优化的小容量SSD上。 在Nexenta,我们总是推荐镜像你的ZIL。 如果不这样做,在某些条件下就会暴露出数据损坏的可能性。 使用caching设备,您实际上可以查看读取优化的SSD,而不需要进行镜像,因为所有数据和元数据都可以在任何时候丢弃,而不会对池的其他部分造成任何风险。