linux运维之磁盘利用率100%教你做人
Posted 海鸥爱上鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux运维之磁盘利用率100%教你做人相关的知识,希望对你有一定的参考价值。
文章目录
磁盘空间满的情况都有哪些???
第一种情况: 是磁盘空间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
以上是关于linux运维之磁盘利用率100%教你做人的主要内容,如果未能解决你的问题,请参考以下文章