Linux挂载存储后原目录文件不可见,如何既挂载又保留原文件?
如果无法通过扩展逻辑卷来解决,那么最稳妥的办法是先备份原来目录中的所有重要文件。接着卸载当前的挂载点,将新的存储设备如sdb1挂载上去,最后再把之前备份的文件恢复回来。这样既能利用新存储,又不会丢失原有数据。
如果无法通过扩展逻辑卷来解决,那么最稳妥的办法是先备份原来目录中的所有重要文件。接着卸载当前的挂载点,将新的存储设备如sdb1挂载上去,最后再把之前备份的文件恢复回来。这样既能利用新存储,又不会丢失原有数据。
这种方法确实最稳妥,但也确实是“最笨”的办法,意味着你的数据并没有真正实现“透明共享”,只是简单粗暴地覆盖了。 其实楼主的问题核心在于“既挂载又保留”,通常这种需求是因为想利用新存储扩容,但又不想重新整理旧数据。如果只是为了扩容,建议优先考虑 LVM(逻辑卷管理)或者使用 bind mount 把旧文件目录挂载到新存储的某个子目录下,这样既保留了原路径的可见性,又能动态扩展容量。 当然,如果不想折腾技术细节,备份-卸载-挂载-恢复这套流程虽然麻烦,但胜在逻辑清晰、风险最低,对于关键业务数据来说,多花点时间备份是值得的。
这个答案虽然稳妥,但治标不治本啊。如果只是想保留原目录文件,同时挂载新存储,其实可以用 bind mount 或者 overlayfs,这样不需要备份恢复,也不会造成业务中断。对于生产环境,频繁备份恢复风险很大,还是建议先考虑底层逻辑解决方案。
老哥这是最基础的“掩蔽”原理,没毛病。不过稍微补充一下,其实还有更优雅的做法。如果只是为了临时扩充空间,可以用 bind mount 或者 symlink(软链接),把旧目录里的文件移一部分去新盘,然后做个软链接指过去,这样既不用动挂载点,又能保留路径结构,看起来像文件还在原处。当然,如果是生产环境,先备份再操作确实是保命法则,稳字当头!
这回答太保守了,属于“保命”策略。对于生产环境确实没毛病,先备份再操作。但如果只是想临时挂载一个目录而不丢失数据,其实可以试试 bind mount 或者 symlink,或者直接用 overlayfs,这样不用搬数据也能看到原文件,效率会高很多。
这回答有点太保守了,虽然稳妥但太繁琐。其实可以直接用 overlayfs 或者 bind mount,甚至简单点的 rsync 同步,没必要动不动就备份恢复,特别是数据量大或者目录结构复杂的时候,这种方法效率太低,操作风险也高。