文章目录
- 磁盘空间满的情况都有哪些???
- 第一种情况: 是磁盘空间block剩余量不够了(df -h)
- 第二种情况: 是磁盘空间inode剩余量不够了(df -i)
- 一、索引节点信息---inode与blockde
- 1、inode与blockde干什么用?
- 2、inode与blockde他们是如何出现的?
- 3、inode与blockde如何查询到相应信息
- 4、为什么df -h 和df -i都是显示磁盘使用情况,而两者有这么大的区别呢?
磁盘空间满的情况都有哪些???
第一种情况: 是磁盘空间block剩余量不够了(df -h)
第二种情况: 是磁盘空间inode剩余量不够了(df -i)
显示磁盘空间不足(no space left on device)
block空间满了 ,存储的数量过大
inode空间满了 ,产生了大量小文件
一、索引节点信息—inode与blockde
inode与blockde的区别:
1、inode与blockde干什么用?
inode:(index node)索引节点信息 用于存储数据的---文件或目录的一些属性 (文件的权限 所属用户 所属组) block: 块 用于存储数据的---文件的真实数据信息
2、inode与blockde他们是如何出现的?
只有在磁盘做好格式化之后,产生了文件系统,才会有inode和block(收纳袋) 创建一个文件至少占用占用一个inode和一个block
3、inode与blockde如何查询到相应信息
inode信息查看方法: [root@VM-0-3-centos ~]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on devtmpfs 232347 329 232018 1% /dev tmpfs 235251 7 235244 1% /dev/shm tmpfs 235251 422 234829 1% /run tmpfs 235251 16 235235 1% /sys/fs/cgroup /dev/vda1 3276800 81268 3195532 3% / tmpfs 235251 1 235250 1% /run/user/0
block信息查看方法: [root@VM-0-3-centos ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 908M 0 908M 0% /dev tmpfs 919M 24K 919M 1% /dev/shm tmpfs 919M 476K 919M 1% /run tmpfs 919M 0 919M 0% /sys/fs/cgroup /dev/vda1 50G 3.5G 44G 8% / tmpfs 184M 0 184M 0% /run/user/0
4、为什么df -h 和df -i都是显示磁盘使用情况,而两者有这么大的区别呢?
df -h 是去删除比较大无用的文件 --- 大文件占用大量的磁盘容量。 df -i 则去删除数量过多的小文件 --- 过多的文件占用了大量的inode号。 PS:如果df查看磁盘空间任何一个满了,都需要删除文件内的文件,清理空间
二、磁盘空间block剩余量不够了(df -h)
通过df- h命令查看磁盘容量,发现/dev/vda1的容量比较大
[root@VM-0-3-centos /]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 908M 0 908M 0% /dev tmpfs 919M 24K 919M 1% /dev/shm tmpfs 919M 468K 919M 1% /run tmpfs 919M 0 919M 0% /sys/fs/cgroup /dev/vda1 50G 3.5G 44G 8% / tmpfs 184M 0 184M 0% /run/user/0
进入/(根)目录下,利用du -sh *查看/(根)目录下所有目录的容量大小
[root@VM-0-3-centos ~]# cd / [root@VM-0-3-centos /]# du -sh * 0 bin 123M boot 4.0K data 0 dev 37M etc 4.0K home 0 lib 0 lib64 16K lost+found 4.0K media 4.0K mnt 127M opt 0 proc 72K root 476K run 0 sbin 4.0K srv 0 sys 19M tmp 2.7G usr 408M var
发现usr目录占用容量较大,进入usr目录内继续du -sh *排查
[root@VM-0-3-centos /]# cd /usr [root@VM-0-3-centos usr]# du -sh * 277M bin 4.0K etc 8.0K ftp 4.0K games 33M include 774M lib 345M lib64 98M libexec 504M local 79M mpi 55M sbin 394M share 184M src 0 tmp
继续进入占用容量较大的目录src下查看容量
[root@VM-0-3-centos usr]# cd src [root@VM-0-3-centos src]# du -sh * 8.8M debug 77M kernels 8.0K mlnx-ofa_kernel 4.0K mulu 62M ofa_kernel 37M ofa_kernel-5.1 4.0K wenjian
PS:此操作是模拟目录或文件已经很大需要清理的情况下
此时已经可以排查到是哪些文件占用较大的内存,我们以我自己模拟创建的mulu(目录)和wenjian(文件)作为测试对象.
1.清理/usr/src/mulu目录下的文件。
[root@VM-0-3-centos src]# rm -r /usr/src/mulu/* rm: remove directory ‘/usr/src/mulu/fu’? y
2.清理/usr/src/wenjian的src目录下wenjian文件
利用重定向的命令清空文件内的内容(还有其他方式清空文件内的内容就不一一演示)
[root@VM-0-3-centos src]# echo " " >> /usr/src/wenjian
三、磁盘空间inode剩余量不够了(df -ih)
加上h是因为它可以直接输出人们可以直接看出容量的单位
通过df -ih 查看了下inode,发现根目录下的inode值使用率为100%了
[root@VM-0-3-centos ~]# df -ih Filesystem Inodes IUsed IFree IUse% Mounted on devtmpfs 227K 329 227K 1% /dev tmpfs 230K 7 230K 1% /dev/shm tmpfs 230K 420 230K 1% /run tmpfs 230K 16 230K 1% /sys/fs/cgroup /dev/vda1 3.2M 3.2M 0 100% / tmpfs 230K 1 230K 1% /run/user/0
解决方法:通过下列命令查看较大的目录
[root@VM-0-3-centos ~]# find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n
发现哪个目录内小文件较多,进入到小文件较多的目录中,进行删除小文件;如下命令:cd到/xx/xx/xx目录下进行目录下文件筛选后删除
[root@VM-0-3-centos ~]# cd /xx/xx/xx && find -type f |xargs rm -f