SSD 缓存是否会提高本机 ZFS 的性能?

SSD 缓存是否会提高本机 ZFS 的性能?

我使用的是 Ubuntu 11.10 Desktop x64,带有 Native ZFS,使用 2x2 TB 6.0 Gbps 硬盘镜像池。我的问题是,我任何时候的读/写速度都只有大约 30 Mb/s,我想我的系统可以运行得更快。

但也存在一些限制:

  • 我使用的是华硕 E350M1-I Deluxe Fusion,它配备了 1.6 Ghz 处理器和最大 8 Gb 内存。我买系统时并不知道 ZFS,现在我会选择能够配备更多内存的系统。

  • 我的池有大约 15% 的可用空间,但是当我有超过 50% 的可用空间时,性能并没有好多少。

  • 当处理器非常繁忙时,读/写性能似乎会下降,因此处理器很可能是瓶颈。

我已阅读本网站上关于使用 SSD 作为日志缓存设备的其他帖子,考虑到我没有那么多内存,我正在考虑这么做。

我的问题:

  1. 您认为添加 SSD 作为日志缓存设备会提高性能吗?

  2. 我是否应该再买一块 2 TB 的硬盘并创建一个 RAID-Z 池?(我最终会需要这个空间,但是机械硬盘的价格仍然很高)这会提高性能吗?

  3. 卖掉我的系统然后改用英特尔 i3 吗?

谢谢你的时间!

答案1

请注意,由于许可问题,ZFS不是Linux 内核中的原生文件系统,但保险丝在用户空间中实现。因此,它具有很大的操作开销,在基准测试中也表现不俗。我相信这是这里的主要问题——高昂的开销与系统相当低的处理性能有关。

一般而言,添加任何容量的 SSD 都只会有所帮助如果 I/O 确实是瓶颈。 使用iostat来验证这一点。

只有当您的主要问题是同步写入负载时,添加 SSD 作为单独的日志设备才会有所帮助。它不会对读取或异步写入(缓存和延迟写入)做任何事情。作为一个简单但非常有效的测试,您应该暂时禁用意向日志- 如果您的整体性能显著提高,那么您将受益于 SSD 日志设备。

如果您的文件系统中有一个相当紧凑的“热”区域,并且经常以随机方式读取,则添加 SSD 作为 L2ARC 将有助于您的读取。L2ARC 不会缓存顺序传输,因此对于流式加载来说效果不佳。

答案2

考虑到我没有那么多内存,我正在考虑使用 SSD 作为日志缓存设备。

嗯?主系统 RAM 与此无关。RAM 的可用性对 I/O 性能有很大影响 - 但您不能将 RAM 用于磁盘日志 (ZIL) - 存储必须是非易失性的。

您似乎对如何解决当前的问题感到困惑 - 这让我觉得您选择 ZFS 的理由可能有缺陷。它在技术上确实很有趣,并且在管理非常大的卷组方面具有明显的好处,但这并不适用于这里 - 而且我还没有看到任何人推荐它而不是 Linux 上常见的性能。您是否尝试过在 XFS 或 ext4 上运行相同的工作负载?您可能会发现它们要快得多。

考虑到支持此功能的 SSD 的价格(另见我的问题- Flash 无法工作)很难理解为什么您认为 SSD 是提高性能的一种经济有效的方式。是的,它会让速度更快 - 但我认为您最好把钱花在新的双插槽主板、CPU 和双倍内存上(而且您仍然有零钱)。

答案3

我对我们的服务器进行了原生 ZFS 测试,发现它不可靠,并且在测试中丢失了数据。我还发现,即使 CPU 资源充足,性能也很低。我使用它来提供块设备(本质上是具有完整性的 LVM 替代品),而不是用作文件系统。这是在 Ubuntu 10.10 上进行的,所以 YMMV。我发现它对任何类型的电源故障或系统挂起都非常敏感,并且不像 Linux 上的各种原生日志文件系统那样能够从中恢复。

答案4

有 opensolaris,它的 ZFS 实现我想是 sun 的实现。你随时可以尝试。不过我认为你不能在其上运行 VirtualBox。但请检查一下,我可能错了。或者,你可以使用归属于 VM 的磁盘虚拟化 Solaris。当然性能不会很好,但看来你有时间尝试奇怪的设置……

相关内容