访问另一个已挂载文件系统下的文件系统

访问另一个已挂载文件系统下的文件系统

我遇到的情况是,一个目录存储了全天的电话录音。根文件系统空间不足,所以我们添加了一个外部硬盘。此服务器可能不会因任何原因停止生产,因此我想要做的是将新磁盘安装到相同的录音目录上,然后在所有正在进行的通话结束后,我会将它们从旧文件系统复制到新文件系统中。

我将能够确定在此过渡期间正在进行的通话何时结束。

我的问题是,将新磁盘安装到 /var/x/y/recordings/ 后,如何访问 /var/x/y/recordings/ 下的文件?

我认为,当新的 FS 挂载到其父目录上后,打开的文件应该能够完成写入并最终关闭。这不正确吗?

答案1

我的问题是,将新磁盘安装到 /var/x/y/recordings/ 后,如何访问 /var/x/y/recordings/ 下的文件?

如果您提前知道要执行此操作,那么您可以mount --bind /var/x/y/recordings /foo在将其他内容挂载到该位置之前执行此操作。您执行绑定挂载的文件夹仍应显示底层文件系统,而不是您挂载的文件系统。

我相信,当新的 FS 安装在其父目录上后,打开的文件应该能够完成写入并最终关闭。

抱歉,我不太确定。您可能需要在备用盒子上进行测试。

答案2

不要/var/x/y/recordings用新文件系统替换目录,而是将新驱动器挂载为/var/x/y/recordings/archive并将旧记录从移动/var/x/y/recordings/var/x/y/recordings/archive以释放空间。然后,一旦您能够安排一些停机时间,您就可以将新磁盘移至/var/x/y/recordings全职。您可能想要研究使用 LVM 或类似技术来动态扩展文件系统。

答案3

切线相关:您是否考虑过外部驱动器上的电话呼叫与内部驱动器上的电话呼叫对磁盘 I/O 性能的影响?如果您当前磁盘上的 IOPS 超过 ~40,您可能会发现它不够快,并且如果您同步记录,可能会导致 PBX 上出现挂起、断断续续和掉线的情况。

答案4

虽然您可以使用 unionfs 等访问两个驱动器上的文件,但这并不是解决问题的正确方法。将新驱动器安装到其他地方(或移动原始文件)。

相关内容