标签:内容 a10 提示 -o 就是 不包含 演示 col 排查过程
磁盘在使用之前需要做RAID冗余阵列、分区、格式化、挂载;
格式化的目的:1、创建文件系统;2、初始化inode和block(即inode和block的数量是一定的);每一个非空文件都要占用一个inode和至少一个block,那么无论是inode满了还是block满了,磁盘就存放不了东西了,就会提示no space left on device;
那么如何解决这个问题?
1、df -h 查看磁盘(block)使用情况,如果满了,那么删除不需要的大文件;
2、df -i 查看inode使用情况,如果inode满了,查找目录本身大于1M空间的;(思考为什么要找目录本身大于1M的?提示:目录的本身也就是目录的实际内容,即目录的block中放的是什么?----文件名,文件名越多目录本身的block就越大,就代表目录里面小文件越多,那么用什么查找目录本身大于1M的?find)
具体排查过程:首先我创建两个空目录;
1、block满了的情况:这里我实际创建一个大文件进行演示;


假设这个时候,磁盘bloock满了,具体查找的过程如下,先过滤出根下占用空间最大的目录,然后过滤出改目录下最大的,一级一级过滤直到找到大文件为止;
找到大文件之后确认是否要删除;
2、inode满了查找:上面已经说了,要查找目录本身(不包含下面文件大小)大小大于1M的,用find的查找,-size 查找的就是目录本身的实际大小(不包含下面文件);找到之后,目录没用可以删除目录;目录有用可以配合ls |xargs rm -f ,如果还是删除不掉,再缩小范围,find -name |xargs rm -f;
标签:内容 a10 提示 -o 就是 不包含 演示 col 排查过程
原文地址:http://blog.51cto.com/14125231/2328155