DRBD – 为什么在辅助资源上只读会导致caching一致性问题

根据DRBD9文档( https://www.drbd.org/en/doc/users-guide-90/s-resource-roles ),读取设备会导致caching一致性问题,但我不知道为什么。 ( 我知道我不能访问次要angular色的资源,但我想了解原因

我的假设是(假设我们有DRBD-1 primary和DRBD-2 secondary,文件系统ext4,“file_a”是drbd设备上的一个文件):

  1. DRBD-2访问file_a并将file_a偏移量(或类似的东西)放在他的caching中。 (DRBD-2具有只读权限,所以系统认为该文件不能被修改)。
  2. DRBD-1在旧的file_a偏移处写入file_b内容。
  3. DRBD-2想要再次访问file_a,因此系统使用存储在caching中的偏移量,期望在访问file_b数据时findfile_a数据。
  4. 我们有caching一致性问题。

在此先感谢您了解了这一点。

是的,你所描述的是确切的情况,可能导致caching一致性问题。

要解决这个问题,你必须使用一个文件系统来重新validation其他主机访问的caching条目。 这些被称为集群文件系统 ,以GFS2和OCFS为例。

但请注意,出于同样的原因,集群文件系统通常比传统文件系统慢。