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