背景

服务器是物理机,使用云盘挂载,我使用reboot命令重启了服务器,重启后发现文件全不见了!

原因分析

服务器是物理机,使用云盘挂载,但是并没有永久挂载,重启后挂载点丢失了

问题排查

查看磁盘情况

1
2
$ ls /dev/sda*
/dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5 /dev/sda6

查看挂载情况

1
2
3
4
5
6
$ df -h
Filesystem 容量 已用 可用 已用% 挂载点
/dev/sda2 19G 7.2G 11G 40% /
/dev/sda3 19G 985M 18G 6% /var
/dev/sda4 19G 864M 18G 5% /noah
/dev/sda5 9.1G 49M 9.0G 1% /tmp

猜测/dev/sda6丢失了,凭记忆想了很久,试着挂载至/home上,后来成功了,也是运气,如果忘记了可就麻烦了

1
mount /dev/sda6 /home

然后重启原有的服务,挂载后,会写在/etc/mtab文件中

1
2
3
4
5
6
7
8
9
10
$ cat /etc/mtab
/dev/sda2 / ext2 rw 0 0
none /proc proc rw 0 0
none /sys sysfs rw 0 0
none /dev/pts devpts rw,gid=5,mode=620 0 0
/dev/sda3 /var ext2 rw 0 0
/dev/sda4 /noah ext2 rw 0 0
/dev/sda5 /tmp ext2 rw 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
/dev/sda6 /home ext2 rw 0 0

根本解决办法

永久挂载,编辑/etc/fstab文件,加入挂载点

1
2
3
4
5
/dev/sda2 / ext2 defaults 0 1
/dev/sda3 /var ext2 defaults 0 1
/dev/sda4 /noah ext2 defaults 0 1
/dev/sda5 /tmp ext2 defaults 0 1
/dev/sda6 /home ext2 defaults 0 1