新硬盘挂载目录后文件消失解决办法
2015-05-07 15:36
260 查看
项目初期用户文件较少,全部存储在/home目录下,/home目录没有单独划开分区,随着项目网站做大,用户文件越来越多,/home目录不够空间,想挂载一个新硬盘来负责储存
但发现新挂载/home到新硬盘时,/home原来数据变空了,这个原因是由于linux的VFS(虚拟文件系统)机制导致的,正常登录以后,所看到的各个目录,文件都是内核在加载时候构造在内存中的VFS目录树,而不是直接看到硬盘上的实际目录树。当你挂载某个设备到一个VFS挂载点上时(比如/home),系统就把VFS中的这个挂载点/home指向你最后所挂载的那个设备上。那么你现在访问该挂载点时,就会看到你最后挂载在此处的设备。而之前所挂载的设备依然在那里,只不过挂载点/home已经不再指向之前的设备。所以之前的数据是被隐藏了,但并没有删除,若umount挂载后,数据又重新回来了
基于这种情况,只能通过跳板的方式把原来的/home数据复制到新的/home分区下了 ,如何添加新硬盘,请查找相关资料
mkdir /new ###跳板目录
mount /dev/sdb1 /new ###首先挂载跳板目录
cp -R /home/* /new ###复制/home目录所有数据到/new先
rm -rf /home/* ####可选,主要为了腾出空间给原来的硬盘
mount /dev/sdb1 /home ###挂载/home 到新硬盘,此时你会神奇的发现之前的/home目录文件已经全部转移过来了,也许你会有点疑问,我并没有复制或移动/new文件到新挂载的/home目录啊,其实此时的/home目录相当于/new目录的硬链接,可以测试下mkdir /new/test 你会发现/home目录也存在test
umount /new ###解除挂载
rm -rf /new ###删除跳板目录
echo "/dev/sdb1 /home ext3 defaults 0 0" >> /etc/fstab ###开机启动挂载目录
原文地址:/article/8672911.html
相关文章推荐
- 新硬盘挂载目录后文件消失解决办法
- 新硬盘挂载目录后文件消失解决办法
- 新硬盘挂载目录后文件消失解决办法
- 目录挂载新硬盘后文件消失的解决办法
- 移动硬盘“文件或目录损坏且无法读取”的解决办法(转)
- eclipse 工程目录下 删除不掉目录或者文件的解决办法
- Myeclipse中xml文件里自动提示消失解决办法
- Eclipse下无法自动编译,或者WEB-INF/classes目录下没文件,编译失败的解决办法
- Hive在spark2.0.0启动时无法访问../lib/spark-assembly-*.jar: 没有那个文件或目录的解决办法
- IIS6虚拟目录内的EXE文件无法下载解决办法
- VMware虚拟机ubuntu和主操作系统硬盘之间的文件共享的实现和What is the location of the directory of C header files that match your running问题的解决办法
- /var/spool/clientmqueue/目录下的产生大量文件的解决办法
- 硬盘、移动硬盘或U盘的文件系统变成了RAW格式的解决办法
- 改apache的默认目录配置文件httpd.conf,apache 403错误的解决办法
- android studio中R文件丢失以及project目录下build文件丢失解决办法
- 安卓手机或者平板文件系统中出现自动创建 SDCARD/JOY 目录的解决办法
- 移动硬盘出现 文件目录损坏且无法读取 解决方法教程(二)
- Android R 文件消失的解决办法
- 上传多媒体在多媒体文件所在目录下会生成temp文件夹解决办法...
- [C#] .NET Core项目修改project.json来引用其他目录下的源码等文件的办法 & 解决多框架时 project.json 与 app.config冲突的问题