某些日志文件系统确实会因将日志托管在与文件系统本身相同的驱动器上而遭受性能损失。使用外部日志可以提高写入速度。随着 SSD 的出现,一个 SSD 完全有可能支持托管在传统旋转磁介质上的文件系统的多个外部日志。虽然 Anandtech “ SSD Anthology ” 确实涵盖了其中的一些内容,但他们没有涵盖“多期刊”测试用例。
日志往往非常小,因此即使是小型、快速的 32GB SSD 也可以为多个大型文件系统提供很大的速度。它的磨损可能比一般 I/O 模式建议的要快得多,这就是为什么拥有比您最终使用的更大的设备是个好主意的原因。
你们有没有人做过这样的事情,或者甚至只是使用外部期刊?我对现实世界的案例很好奇。
鉴于写入日志的数据量通常非常紧凑,并且大多数服务器系统(至少是那些对性能很重要的系统)都配备了带有电池支持的写入缓存的 RAID 控制器,因此使用日志的代价大多不是问题。可能的速度改进很大程度上被外部日志所增加的复杂性和问题所抵消(想想设置、维护、(灾难)恢复、较少使用的代码路径导致的错误率增加等)。
这可能是人们很少冒险走这条路的主要原因之一。
现在,对于支持使用 SSD 的小说,当涉及到文件系统时,将是ZFS L2ARC,但这是一个完全不同的故事。
大多数当前的 SSD 技术在写入时比在读取时要慢得多,所以我不确定将它们用于日志会提高速度。由于其快速读取和低延迟,主要存储供应商似乎正在使用该技术作为额外的读取缓存层。这就是 ZFS 对 L2ARC 所做的事情,这对某些工作负载非常有效。
但是,由于存储工作负载往往变化很大,因此在任何情况下,具有更大读取缓存的差异将取决于访问模式和工作数据集的大小。
您还需要考虑 SSD 的使用寿命比硬盘驱动器短的风险。硬盘驱动器的一个很好的基准是查看保修。一个好的服务器硬盘是 5 年,大多数 SSD 是 1 年。使用寿命较短的原因是 SSD 单元最终会磨损(您只能获得这么多的写入周期)。尽管大多数驱动器都有固件,可以平均划分数据的存储位置,通过在所有单元中传播爱来延长使用寿命。