我正在我的服务器上配置 postfix,我想知道为什么人们不从 RAM 磁盘运行 postfix 队列?
包含所有队列的默认主目录是(对于 Ubuntu 发行版)/var/spool/postfix
。这当然是正常情况下存在于硬盘上的文件夹。
我从 Google 上找到的基本答案是,它可以防止服务器崩溃时邮件丢失。
这个问题留给我的仍然是:如果服务器崩溃了,并且 Postfix 队列存储在磁盘上,那么它们是否很可能因为内核的内部硬盘缓存而丢失。据我所知,这些文件的寿命很短。我很难看出这与在 RAM 中更明确地运行并在 Postfix 完全关闭时保存到硬盘之间的区别。
我是否遗漏了一些显而易见的东西?
答案1
作为 Postfix 向发送服务器返回“已接受”代码的一部分250
,它向该服务器传达了它确实已接受该消息,并且发送服务器可以忘记它。这意味着 Postfix 已经将文件写入磁盘。
我强烈推荐不是使用 ramdisk 来处理队列 - 如果需要,在 RAID1 阵列中放入一对 SSD。它们应该提供充足的 IOP。