root文件系統即使是在重啓之後也是依然100%,並且找不到相應的文件

參考自如下文章:

https://access.redhat.com/solutions/92763
The root filesystem is 100% full while an fsck and reboot has no effect

如下是實驗過程:

首先是造一個這樣的場景:

[root@abc ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 6.8 (Santiago)
[root@abc ~]# uname -r
2.6.32-642.el6.x86_64
[root@abc ~]# pwd
/root
[root@abc ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        95G   61G   29G  69% /
tmpfs           491M     0  491M   0% /dev/shm
/dev/sda1       190M   33M  147M  19% /boot
[root@abc ~]# mkdir /lei
[root@abc ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        95G   61G   29G  69% /
tmpfs           491M     0  491M   0% /dev/shm
/dev/sda1       190M   33M  147M  19% /boot

[root@abc ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        95G   67G   23G  75% /
tmpfs           491M     0  491M   0% /dev/shm
/dev/sda1       190M   33M  147M  19% /boot

---->此時,通過ftp,上傳一個文件到/lei下,“cn_windows_server_2016_x64_dvd_9718765.iso”,5.75GB大小。

[root@abc ~]# cd /lei 
[root@abc lei]# du -x
6031700    .
[root@abc lei]# du -smx
5891    .
[root@abc lei]# du -shx
5.8G    .
[root@abc lei]# 
[root@abc lei]# ls -lrt
total 6031696
-rw-r--r-- 1 root root 6176450560 Mar  5 23:21 cn_windows_server_2016_x64_dvd_9718765.iso
[root@abc lei]# 
[root@abc lei]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        95G   67G   23G  75% /
tmpfs           491M     0  491M   0% /dev/shm
/dev/sda1       190M   33M  147M  19% /boot
[root@abc lei]# 
[root@abc lei]# pwd
/lei
[root@abc lei]# mount /dev/cdrom /lei
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@abc lei]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        95G   67G   23G  75% /    ----->>>>注意此處的23GB,這是減去“cn_windows_server_2016_x64_dvd_9718765.iso”5.75GB之後的剩餘空間。
tmpfs           491M     0  491M   0% /dev/shm
/dev/sda1       190M   33M  147M  19% /boot
/dev/sr0        3.7G  3.7G     0 100% /lei
[root@abc lei]# 
[root@abc lei]# find / -size +999999999c
/home/oracle/p13390677_112040_Linux-x86-64_2of7.zip
/home/oracle/p13390677_112040_Linux-x86-64_1of7.zip
/root/p13390677_112040_Linux-x86-64_2of7.zip
/root/test
/root/FileRecv/app20122_ora_14258/app20122_ora_14258.trc
/root/p13390677_112040_Linux-x86-64_1of7.zip
find: `/proc/2398/task/2398/fd/5': No such file or directory
find: `/proc/2398/task/2398/fdinfo/5': No such file or directory
find: `/proc/2398/fd/5': No such file or directory
find: `/proc/2398/fdinfo/5': No such file or directory
[root@abc lei]# 
---->>>上面的find命令是查出來文件大小大於1G的文件,從結果上可以看到,沒有體現出“cn_windows_server_2016_x64_dvd_9718765.iso”

---->>>總結:在mount /lei之前,lei作爲/下的一個文件夾,在該文件夾下是有文件的。
---->>>後來,mount /lei之後,lei變成了一個mount point,在lei文件夾下的文件通過find命令也是找不出來的。
---->>>這就造成了"文件系統的已使用空間變大,但是找不到對應大文件”的現象。

下面來解決該問題:

[root@abc ~]# mkdir /root_bind
[root@abc ~]# mount --bind / /root_bind
[root@abc ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        95G   67G   23G  75% /
tmpfs           491M     0  491M   0% /dev/shm
/dev/sda1       190M   33M  147M  19% /boot
/dev/sr0        3.7G  3.7G     0 100% /lei
[root@abc ~]# du -smx /root_bind/*    ---->>>記下下面每一行的輸出,與下一個命令的輸出做對比
10    /root_bind/bin
1    /root_bind/boot
1    /root_bind/cgroup
365    /root_bind/data
1    /root_bind/dev
34    /root_bind/etc
13671    /root_bind/home
5891    /root_bind/lei  -------->>>>5891MB
201    /root_bind/lib
28    /root_bind/lib64
1    /root_bind/lost+found
1    /root_bind/media
1    /root_bind/misc
1    /root_bind/mnt
1    /root_bind/net
2    /root_bind/opt
1    /root_bind/proc
45650    /root_bind/root
1    /root_bind/root_bind
17    /root_bind/sbin
1    /root_bind/selinux
1    /root_bind/srv
1    /root_bind/sys
1    /root_bind/tmp
2137    /root_bind/usr
131    /root_bind/var
[root@abc ~]# du -smx /*       ---->>>記下下面每一行的輸出,與上一個命令的輸出做對比
10    /bin
32    /boot
1    /cgroup
365    /data
1    /dev
34    /etc
13671    /home
3753    /lei      -------->>>>3753MB
201    /lib
28    /lib64
1    /lost+found
1    /media
0    /misc
1    /mnt
0    /net
2    /opt
du: cannot access `/proc/2420/task/2420/fd/4': No such file or directory
du: cannot access `/proc/2420/task/2420/fdinfo/4': No such file or directory
du: cannot access `/proc/2420/fd/4': No such file or directory
du: cannot access `/proc/2420/fdinfo/4': No such file or directory
0    /proc
45650    /root
68129    /root_bind
17    /sbin
1    /selinux
1    /srv
0    /sys
1    /tmp
2089    /usr
131    /var
[root@abc ~]# 

至此,找到了lei 這個mount point下是有隱藏文件的。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章