可以从两台主机挂载同一个 ext4 磁盘,一台是只读的吗?

Fer*_*ndo 17 linux ext4 mount

我知道使用来自两个不同服务器(它是 iSCSI vloume)的 ext4 文件系统安装同一个磁盘可能会损坏磁盘上的数据。我的问题是,如果其中一台服务器以只读方式挂载磁盘,而另一台以读写方式挂载磁盘,会产生什么不同吗?

我知道可以为此使用 OCFS2 或类似的东西,并且我可以使用 NFS 导出磁盘以供其他服务器访问,但我想知道我建议的设置是否可行。

sou*_*edi 27

不。由于缓存,它不会在只读客户端上给出一致的结果。它绝对不是为它设计的。您可能会看到返回到应用程序的 IO 错误。代码中可能仍然存在一些疏忽,这可能导致内核崩溃或任何进程使用的内存损坏。

但最重要的是,即使在只读挂载上,ext4 也会重播日志。所以只读挂载仍然会写入底层块设备。即使两个坐骑都是只读的,这也是不安全的:)。

  • 正如您所说,只读挂载并不能保证文件系统不会受到影响。如果你仍然想尝试“教育”目的而不冒险,你应该将你的***设备***设置为只读:`blockdev --setro /dev/sda1`。 (6认同)