循环设备进入只读模式

我们在Linux服务器上使用networkingSamba驱动器进行备份。 为了存储权限(Samba不支持这个),我们创build了一个循环设备到一个大的文件(50GB)在networking驱动器上。 这在大多数情况下都能正常工作,但是每隔几周循环设备进入只读模式。

这里是networking驱动器和循环驱动器的fstab代码片段:

//xyxyxy.your-backup.de/backup /backup cifs credentials=/root/backup-credentials,iocharset=utf8 0 0 /backup/backup.lp /backup-loop ext3 loop,sync,defaults,_netdev 0 0 

我试图标准的循环configuration,但问题仍然保持:

 /backup/backup.lp /backup-loop ext3 loop,sync 0 0 

我们的假设:据我所知,当与物理设备的连接丢失时,安装的驱动器进入只读模式。 因此,当networking驱动器失去连接时,循环文件消失,循环挂载进入只读模式。 cifs处理自己的挂载重新连接,但循环一无所知。

我们目前的解决scheme是在我们的cronjob启动备份过程之前,强制重新装入samba和loop设备。 这工作,但不觉得正确。

目标循环文件恢复联机时是否有可能触发重新装入循环设备?

我认为,当连接到networking驱动器丢失的情况下,您对事物进入只读模式的假设是正确的。 我用一个Samba共享上的一个小文件做了一个简单的testing,如果我抽出网线,也会发生同样的事情。

至于解决这个问题,我会这样做:

  • 根据实际执行备份的方式,我将挂载循环文件rw作为备份过程的一部分,并在完成后卸载它。 这也有助于防止意外盗窃的备份。

  • 如果您需要在其他时间访问备份,请将其装载为只读。 您可以随时以这种方式保持文件的安装,除非您真的想要进行备份

  • 这样,没有人受到伤害,而且当你想要的时候,你可以做你想做的事情。 我甚至可以说,比起始终保持rw文件的安装好一点,这是一个更好的安全考虑。

如果您使用rsync进行备份,则可以检查rsync退出状态,以确定在执行备份时是否已经不幸丢失了连接(对于其他工具也是如此 – 仅限于我的偏好)。 你可以采取相应的行动。

这并不完全符合你所要求的 – 我会说这会让你有些更好 – 但是我不认为你可以期望环路设备能够像你想要的那样工作。 无论如何,一些欺骗。

我希望这有帮助 :-)