挂载这波误操作,如果没有经验那就是胆子肥

2023-04-11 Note 620

事出:客户阿里云ecs硬盘用满,导致网站打不开,重启服务提示磁盘已满;让客户购买云盘并由我来进行挂载。

荒诞:网站存放在/home/wwwroot,我直接将新的硬盘格式化后挂载到了/home,考虑到40G的磁盘,备份太累,就直接挂载了。结果就是原/home文件全部丢失。

处理:一顿懵逼,这部分的操作还属是经验不足了;

初次操作,卸载 /dev/vdb1 分区,sudo umount /dev/vdb1 其实到了这一步,原磁盘的home文件夹内容已经复原。但是知识点不全面,又将 /dev/vda1 挂载到了 /home,结果导致 /home 文件夹里 拥有了/dev/vda1 磁盘的所有文件,即 /home/home/wwwroot,此时,站点打不开,数据库连不上,完全慌了,不敢再操作任何。

此时,站点所有文件至少是全都可以查看到的,立马gz打包备份。

但是数据库无法连上,也无法进行导出sql,找到 /usr/local/mysql/var/aaa 目录,拿下数据库所有文件,试想,在其他服务器上 新建一个aaa数据库,并把本地文件,上传到正常的服务器的数据库里,发现无法通用,无法查看数据库,无法导出sql,心想是否是权限问题,给了权限也无果。

在站点备份的同时,苦思冥想,如何才能拿到数据库sql文件,突然想到,我可以卸载挂载到 /home 的文件系统,umount /home 此时,原磁盘的所有文件的目录结构都恢复了正常,重启各项环境,站点可以打开,数据库可以连接,立马导出一份sql以备份。

总结:挂载最好在购买服务器之初就做,不要在已有文件的目录上做挂载,这将会让当前已有文件消失,做这类操作一定要先备份不管有多困难,多学习知识丰富才是硬道理。

5 条评论