我的情况是一个全天存储电话录音的目录。 根文件系统空间不足,所以我们添加了一个外部硬盘驱动器。 这台服务器可能不会因为任何原因而停止生产,所以我想要做的是将新磁盘安装在同一个录制目录中,然后在所有正在进行的调用完成之后,我将它们从旧文件系统进入新的一个。
我将能够确定在此过渡期间的呼叫何时完成。
我的问题是,如何在/ var / x / y / recordings /上安装新磁盘后,如何访问/ var / x / y / recordings /下的文件?
我相信一个打开的文件应该能够完成写入,并且最终在新的FS挂载到其父目录之后closures。 这是不正确的?
我的问题是,如何在/ var / x / y / recordings /上安装新磁盘后,如何访问/ var / x / y / recordings /下的文件?
如果你知道你将会提前做这个,那么你可以在挂载其他东西到这个位置之前mount --bind /var/x/y/recordings /foo 。 你做的绑定的文件夹也应该显示底层的文件系统,而不是你装载的文件系统。
我相信一个打开的文件应该能够完成写入,并且最终在新的FS挂载到其父目录之后closures。
对不起,我不确定。 您可能需要在备用盒上进行testing。
不要用新的文件系统replace/var/x/y/recordings目录,而应将新驱动器挂载为/var/x/y/recordings/archive并将旧的录制文件从/var/x/y/recordings /var/x/y/recordings/archive释放空间。 然后,一旦您能够安排一些停机时间,您可以全新移动新磁盘到/var/x/y/recordings 。 您可能需要考虑使用LVM或类似的技术来实时扩展文件系统。
切线相关:您是否考虑过外部驱动器上的电话对磁盘I / O性能的影响,以及您在内部使用的内容? 如果您在当前磁盘上的IOPS超过40 IOPS,则可能会发现速度不够快,如果您正在同步logging,则可能会导致PBX挂起,不稳定和掉线。
虽然你可以使用(例如)unionfs访问这两个驱动器的文件,但它不是解决问题的正确方法。 将新驱动器安装到其他位置(或移动原始文件)。