?
磁盘空间满故障
01.磁盘block满故障
?
[root@lxy ~]# cp /etc/services /mbr/test
cp: error writing ‘/mbr/test/services’: No space left on device #磁盘空间不足
?
检查报错原因
1. 检查磁盘的使用情况
[root@lxy ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 48G 2.5G 46G 6% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 497M 120M 378M 25% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sdc1 3.0T 5.0G 3.0T 1% /gpt
/dev/sdb1 10G 10G 68K 100% /mbr
?
?
解决报错
#根据层级进行查找目录的大小,一级一级进行查找,直到找到为止
[root@lxy ~]# du -sh /* | grep G
4.9G /gpt
10G /mbr
1.2G /usr
[root@lxy ~]# du -sh /mbr/* | grep G
9.8G /mbr/test
[root@lxy ~]# du -sh /mbr/test/* | grep G
9.8G /mbr/test/data
[root@lxy ~]# du -sh /mbr/test/data/* | grep G
9.8G /mbr/test/data/test.log
?
[root@lxy ~]# ll /mbr/test/data/test.log
-rw-r--r--. 1 root root 10485760000 Jan 3 17:47 /mbr/test/data/test.log
?
?
#确认好该文件的作用,如果不了解,询问同事或者领导,确认好之后再删除,不要直接的去删除
[root@lxy ~]# rm -f /mbr/test/data/test.log
df -h |grep sdb1
注意:如果该文件存在硬链接,一定要把硬链接文件删除。
?
文件的删除原理
硬链接数为零
文件进程调用数也要为0
文件才会被真正的删除
?
[root@lxy ~]# yum install -y lsof
?
[root@lxy ~]# lsof |grep messages #查看后台进程调用数
rsyslogd 6942 root 6w REG 8,3 271100 33558435 /var/log/messages
in:imjour 6942 7219 root 6w REG 8,3 271100 33558435 /var/log/messages
rs:main 6942 7221 root 6w REG 8,3 271100 33558435 /var/log/messages
?
?
[root@lxy ~]# lsof |grep deleted #文件被清理,后台却在占用
firewalld 6491 root 6u REG 8,3 4096 33557672 /tmp/ffi4hErOa (deleted)
gmain 6491 6767 root 6u REG 8,3 4096 33557672 /tmp/ffi4hErOa (deleted)
tuned 6940 root 8u REG 8,3 4096 33554505 /tmp/ffi75aEix (deleted)
gmain 6940 7177 root 8u REG 8,3 4096 33554505 /tmp/ffi75aEix (deleted)
tuned 6940 7178 root 8u REG 8,3 4096 33554505 /tmp/ffi75aEix (deleted)
tuned 6940 7179 root 8u REG 8,3 4096 33554505 /tmp/ffi75aEix (deleted)
tuned 6940 7194 root 8u REG 8,3 4096 33554505 /tmp/ffi75aEix (deleted)
?
?
02. 磁盘inode满故障
?
touch: cannot touch ‘/data/test/data/oldboy/30000.py’: No space left on device
#创建一个空文件报错
[root@lxy ~]# touch /data/oldboy.txt
touch: cannot touch ‘/data/oldboy.txt’: No space left on device
?
#检查原因
#解决思路:查看磁盘分区使用情况,发现磁盘空间是正常的,再次查看inode,发现inode满了。
[root@lxy ~]# df -h #磁盘空间没有满
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 48G 2.5G 46G 6% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.7M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 497M 120M 378M 25% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sdc1 3.0T 5.0G 3.0T 1% /gpt
/dev/sdb1 10G 230M 9.8G 3% /mbr
/dev/sdb2 1014M 308M 707M 31% /data
?
[root@lxy ~]# df -i #发现inode号满了