![交换可以帮助低内存 ZFS 服务器吗?](https://linux22.com/image/206361/%E4%BA%A4%E6%8D%A2%E5%8F%AF%E4%BB%A5%E5%B8%AE%E5%8A%A9%E4%BD%8E%E5%86%85%E5%AD%98%20ZFS%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%90%97%EF%BC%9F.png)
如果我们买不到很多RAM,我们可以用更高数量的SWAP来替换“丢失”的RAM吗?例如:在 Ubuntu 服务器上使用专用的 512 GB SSD 进行交换,而不是使用 ZFS 的 512 GB RAM 进行重复数据删除?
或者它的速度会如此可怕以至于我们不应该想到它?
或者NVMe会更快?
答案1
如果我们买不到很多RAM,我们可以用更高数量的SWAP来替换“丢失”的RAM吗?
这就是交换空间的空间。 (无需大写为“SWAP”:这不是缩写词。您可以“交换”页面。)
例如:在 Ubuntu 服务器上使用专用的 512 GB SSD 进行交换,而不是使用 ZFS 的 512 GB RAM 进行重复数据删除?
如果您正在构建存储服务器(我认为这就是您所说的“具有重复数据删除功能的 ZFS”),那么您将添加 RAM 以使其更快。再次用慢速存储替换 RAM 完全破坏了优势。
ZFS 重复数据删除不会需要512 GB RAM – 拥有更多 RAM 只会使其速度更快。否则,重复数据删除工具将必须使用 SSD 空间(您已经拥有)。这可能仍然比使用交换空间更有效。
所以不行。
或者NVMe会更快?
毫无意义,NVMe 是 SSD 可以拥有的接口之一。 SSD 和其他大容量存储介质比 RAM 慢几个数量级。
或者它的速度会如此可怕以至于我们不应该想到它?
您的 ZFS 甚至可能不会将交换空间用于文件系统缓冲区。存储系统中拥有大量 RAM 的全部意义在于,大多数操作都由 RAM“处理”,而不是立即写入存储。你不会得到任何东西。
不管怎样,对于这样的应用程序来说,512 GB RAM 仍然是很大的 RAM,而且老实说,只有在具有许多 TB 存储介质(我们这里讨论的是半 PB!)的非常高吞吐量的服务器中才有意义。您确定您确实需要它吗?如果您有那么多永久存储空间,为什么购买 RAM 会成为瓶颈?这没什么意义;无论如何,在这种大小的系统中,您都需要备件和定期更换,并且由于更好的缓存,拥有更多 RAM 将降低更换成本。
我确信这里有大型存储系统的专家(在 unix.SE 或 serverfault.SE 上),但我想他们会像我一样,因为缺乏对您正在构建的系统的描述而感到有点困惑。