服务器挂载硬盘操作导致var目录清空的恢复

事情由来:原服务器有一个块200G的硬盘从买后一直闲置,需要利用起来。

突发情况:挂载硬盘的时候,本意是挂到var目录下,把200G空间给www目录;结果意外出现了,使用mount /dev/vdb1 /var之后居然var目录下所有子目录全没有了,服务器上所有的系统全打不开!

总结经验:1.冷静冷静冷静,万幸有NAS备份机制存在,给了自己最大的底气!2.SSH不能随手关闭不能重启系统,否则就没有本篇了,只有重置系统备份恢复了。

 

错误的操作来源:

mount /dev/vdb1 /var 刚开始的时候暗爽服务器上多了200G空间了

服务器挂载硬盘操作导致var目录清空的恢复

然后就不妙了,因为之前是一大堆子目录

服务器挂载硬盘操作导致var目录清空的恢复

之后是,空空如野。。。。。。

服务器挂载硬盘操作导致var目录清空的恢复

啥都打不开

 

痛定思痛,解决问题,来人上百度大法,过程不表了太过于揪心!

解决思路:1、没有rm操作那么就一定有办法;2.既然是mount加载出问题,那么umount解除是不是可以。但是实际上有很多奇奇怪怪的事情。如下

umount /dev/vdb1 之后报错,target is busy目标忙?

服务器挂载硬盘操作导致var目录清空的恢复

没有在意,之后df -l 看了下,嗯,怎么没解除挂载成功?还在?

服务器挂载硬盘操作导致var目录清空的恢复

连续又试了1次解除挂载,还是没解除!

服务器挂载硬盘操作导致var目录清空的恢复

那么一定是/var目录的报错导致的问题,一定有什么在导致有程序占据,使用 fuser -m -v /dev/vdb1查一下到底哪一个程序在占据。可我执行fuser后没任何输出,现在回想应该是当时busy状态已经结束;系统自动umount执行了,这个时候df -l发现挂载已经取消。

服务器挂载硬盘操作导致var目录清空的恢复

当没有挂载盘的时候,再进入var目录发现原来的资料就回来了。其实道理很简单linux的机制是挂载硬盘到一个目录时,系统就将原目录的文件系统脱钩挂上新硬盘,当取消挂载时脱钩的文件就会自动恢复。