![在 RAM 中为 NFS 写入缓存?](https://linux22.com/image/780022/%E5%9C%A8%20RAM%20%E4%B8%AD%E4%B8%BA%20NFS%20%E5%86%99%E5%85%A5%E7%BC%93%E5%AD%98%EF%BC%9F.png)
有没有办法或解决方案让 Linux 服务器(SLES)将写入(甚至读取)缓存放在 RAM 中?
拥有大容量 RAM,例如:2 TB,但 NFS IOPS 有限,并且我们需要大 IOPS 用于存储在 NFS 上的 DB 文件。
答案1
读取会自动缓存客户端和服务器端。
通过使用 选项挂载 NFS 共享,可以在客户端缓存写入async
,但万一客户端意外重启,则可能会丢失数据。请注意,重要的写入(通过 执行的写入sync/fsync()
)不受此客户端选项的影响(即:保证在返回之前将它们传输到服务器)。
在服务器端,选择导出共享async
意味着fsync()
完全丢弃,这可以显著增加写入操作,但如果发生意外断电,则存在(非常真实的)数据损坏风险。