此实验在可以达到效果,我使用nginx做的实验,在不停掉服务的情况下达到磁盘释放的结果。ionde节点也相同释放。
实验环境
selinux、filewalld 状态关闭
实验思虑
先下载epel源,在下载nginx,正常开启nginx服务,往日志中写入文件把磁盘空间堆满,模拟在不知道的环境下查找问题所在。
查找方法,使用df查看挂在的分区,是有那里造成的缩小判断范围,在使用du -h 搭配grep查找大文件,分析大数据是有谁产生的在删除。
实验流程
安装软件
[root@localhost ~]# yum -y install epel-release.noarch && yum -y install nginx
开启服务
[root@localhost ~]# systemctl start nginx
导入文件,模拟磁盘100%
[root@localhost ~]# dd if=/dev/zero of=/var/log/nginx/access.log bs=1G count=100
dd: 写入"/var/log/nginx/access.log" 出错: 设备上没有空间
记录了12+0 的读入
记录了11+0 的写出
12369244160字节(12 GB)已复制,72.8332 秒,170 MB/秒
想知道过程的可以在开一终端查看状态
外部访问nginx端口
在客户端执行访问
[root@localhost ~]# for ((i=1;i<10000;i++));do curl 192.168.1.50;done
使用du -sh查看文件大小,判断大文件来源,要是有更好的方法希望留言
删除文件,实验完成。在不停止服务的情况下解决大文件问题。
注意:删除正在写的文件一般用 cat /dev/null > file,而不是直接rm(直接rm会造成文件删除空间不释放的问题)