说明

自己的一个虚拟机重启后,查看df -h显示异常,少了很多磁盘分区信息。但是系统是正常运行的,所以出现在一些文件的配置上。如果对linux系统熟悉的df命令的相关源码中实际上就是利用一个文件(/etc/mtab)来获取相关分区信息的。
如下:

	[root@rac1 software]# df -h
	Filesystem      Size  Used Avail Use% Mounted on
	tmpfs           1.4G  8.0K  1.4G   1% /dev/shm

查看原因

  • 首先查看/etc/fstab文件是否正常
    可以看到没有问题
		[root@rac1 software]# cat /etc/fstab
		#
		# /etc/fstab
		# Created by anaconda on Wed Jan 17 15:46:51 2018
		#
		# Accessible filesystems, by reference, are maintained under '/dev/disk'
		# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
		#
		/dev/mapper/vg_rac1-lv_root /                       ext4    defaults        1 1
		UUID=5836a3cf-33e0-4f27-b780-6371a00949d9 /boot                   ext4    defaults        1 2
		/dev/mapper/vg_rac1-lv_swap swap                    swap    defaults        0 0
		tmpfs                   /dev/shm                tmpfs   defaults        0 0
		devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
		sysfs                   /sys                    sysfs   defaults        0 0
		proc                    /proc                   proc    defaults        0 0
  • 查看磁盘分区是否正常
    可以看到磁盘分区及关系都正常
[root@rac1 oracle]# lsblk
		NAME                       MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
		sr0                         11:0    1 1024M  0 rom
		sda                          8:0    0   50G  0 disk
		├─sda1                       8:1    0  500M  0 part /boot
		└─sda2                       8:2    0 49.5G  0 part
		  ├─vg_rac1-lv_root (dm-0) 253:0    0 46.6G  0 lvm  /
		  └─vg_rac1-lv_swap (dm-1) 253:1    0  2.9G  0 lvm  [SWAP]
		sdb                          8:16   0   10G  0 disk
		sdc                          8:32   0   10G  0 disk
		sdd                          8:48   0   10G  0 disk
		sde                          8:64   0   30G  0 disk
		sdf                          8:80   0   30G  0 disk
		sdg                          8:96   0   30G  0 disk
		sdh                          8:112  0    7G  0 disk
		└─sdh1                       8:113  0    7G  0 part
		sdi                          8:128  0    4G  0 disk
  • 查看挂载是否正常
    可以看到挂载显示不正确,但是系统是正常的
[root@rac1 oracle]# mount
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
tmpfs on /dev/shm type tmpfs (rw)
  • 查看文件/etc/mtab
    可以看到这才是真正的问题产生的原因,文件里缺少了很多已挂载的分区,磁盘的信息,才导致mount命令和df命令显示的异常
[root@rac1 oracle]# cat /etc/mtab
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0
tmpfs /dev/shm tmpfs rw 0 0
  • 修改/etc/mtab文件
    通过grep -v rootfs /proc/mounts命令,将结果输出到/etc/mtab文件即可
[root@rac1 oracle]# grep -v rootfs /proc/mounts > /etc/mtab
  • 验证是否正常
[root@rac1 oracle]# df -h
Filesystem            Size  Used Avail Use% Mounted on
devtmpfs              1.4G  296K  1.4G   1% /dev
tmpfs                 1.4G  443M  966M  32% /dev/shm
/dev/mapper/vg_rac1-lv_root
							   46G   28G   16G  65% /
/dev/sda1             477M   41M  411M   9% /boot
tmpfs                 1.4G  443M  966M  32% /dev/shm
tmpfs                 1.4G  443M  966M  32% /dev/shm

可以看到已正常显示了

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐