linux提示硬盘满无法写入
今天朋友遇到一个问题,dell存储只用了45%的空间,就提示磁盘已满无法写入的情况。经检查发现是由于inode索引空间太小,已经写满造成的。
[root@Test ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 1.8T 1.7T 91G 95% / tmpfs 16G 80K 16G 1% /dev/shm /dev/sda1 4.9G 166M 4.5G 4% /boot /dev/sdb1 22T 9.2T 12T 45% /home1
[root@Test ~]# df -hi Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda3 116M 1.8M 115M 2% / tmpfs 3.9M 4 3.9M 1% /dev/shm /dev/sda1 313K 39 313K 1% /boot /dev/sdb1 5.5M 5.5M 1 100% /home1
现记录一下处理的命令以及过程。
1. 由于磁盘的索引实在太小,且不能进行修改,修改的话,磁盘的数据将全部清空。只能将一些不使用的文件删除。
2. 查看inode参数命令:dumpe2fs -h /dev/sdb1 | grep node
3. 删除0字节文件:find /home1 -type f -size 0 -exec rm {} \;
4. 如果删除不成功,使用下面的命令:find /home1 -type f -size 0 | xargs rm -rf
删除某个文件夹下面的所有文件命令: find /home1 -name "*" | xargs rm -rf
5. 查看某个文件夹下面的每个文件夹的文件数量:for i in /home1/*; do echo $i; find $i |wc -l|sort -nr; done
查看指定文件夹的文件数量:for i in /home1; do echo $i; find $i |wc -l|sort -nr; done
6. 找出所有大于10M的文件夹:find / -type d -size +10M,根据文件夹的大小,再针对性的找问题。
7. 查看每个分区的磁盘读写情况:mount ,分为rw(读写)和ro(只读)
该问题现在临时通过删除部分小文件解决,但此处由于索引太小,长久着想,只能是重新分区。将数据拷出去再拷回来。
除特别注明外,本站所有文章均为奇妙伞原创,转载请注明出处来自https://qm3.com.cn/post/231.html