mysql 磁盘利用率100_磁盘空间使用率100%的故障处理

磁盘空间使用率100%的故障处理过程

环境介绍:

1.云服务器

2.操作系统 CentOS 5.6

3.内存8G

磁盘与挂载路径的介绍:

mounted on                   size

/                            20G

/usr/local/mysqlslavedb         200G

/usr/local/mysqlslavedb/mysql   100G

/dev/shm                     2G

事故发生情景:

监控软件磁盘使用率100%告警,老大 RTX 通知要进行空间释放解除报警。

分析过程:

1.df -h

[

root@iZ25lJlnb57z local ]# df -h

filesystem           Size     Used

Avail   Use%    Mount on

/dev/xvda1          20G      2.2G

17G   12%    /

tmpfs              1.9G      0

1.9G    0%    /dev/shm

/dev/xvdc1          197G    197G

0      100%   /usr/local/mysqlslavedb

/dev/xvdb1          99G      29G

66G     31%    /usr/local/mysqlslavedb/mysql

/usr/local/mysqlslavedb

注释:此路径存放一些MySQL的逻辑备份和计划任务跑的脚本 库的输出 实时查询的主从状态文件。

/usr/local/mysqlslavedb/mysql

注释:这个是存放的MySQL数据库的相关文件

2.进入到指定目录下查看文件总共占用空间的大小

[

root@iZ25lJlnb57z mysqlslavedb ]# cd /usr/local/mysqlslavedb

[

root@iZ25lJlnb57z mysqlslavedb ]#pwd

/usr/local/mysqlslavedb

[

root@iZ25lJlnb57z mysqlslavedb ]#du -sh

32G

3.根据以上的1、2分析得出磁盘不是真正的文件占用满的。

4.产看磁盘是否掉了。

fdisk -l

显示完整的三块磁盘 (因为是内网环境,所以没有办法贴出结果)

忽然想起来,此服务器是在云服务器上面。

5.寻找云服务器管理人员,查看磁盘状态。

显示:磁盘状态全部正常

6.想到是否删除的文件没能释放磁盘空间

百度查询了以下资料.

When you open a

file, you get a pointer.  Subsequent writes to this file

references this file pointer.  The write call does not check to see if the

file

is there or not.  It just writes to the specified number of characters

starting

at a predetermined location.  Regardless of whether the file exist or not,

disk

blocks are used by the write operation.

The df command reports the number of disk blocks used while du goes through

the

file structure and and reports the number of blocks used by each directory.

As

far as du is concerned, the file used by the process does not exist, so it

does

not report blocks used by this phantom file.  But df keeps track of disk

blocks

used, and it reports the blocks used by this phantom file.

7.更加确定是磁盘空间未能释放

8.利用lsof命令进行删除查询,看那些进程还在运行未能释放

d52a1960e4049c29f5711e119c8d6fa8.png

查看相关路径下是存在删除的操作而且没有释放

9. ps  -ef查看所有进程

86f285ece4e15d7dbc0f10dadf7b82e6.png

图表 SEQ图表\* ARABIC1

因为有一个进程已经KILL掉,所以不能还原全部进程。(还有一个进程是,ftp 上传到备份机的进程,每次我们要将本机的MySQL逻辑备份打包上传到我们的备份机,上传后我们的脚本里要删除想对应的文件)

此时我怀疑是我们上传备份的时候,网络有问题导致了ftp进程一直存在。然后查看近几天是否有操作。

我询问运维10月30日是否调整网络?

运维回答是调整了防火墙。

总结:看图标1的进程,确实30号还有一个 rar 打包的进程存在,还有一个sh 执行脚本的进程。然后进行 kill 这两个进程

10. df  -h

74fafeb78541a19c5fef9f9813fa2282.png

再次查看磁盘空间,恢复正常!

11.再次查看删除进程进程

1f061d002cb0cfbe165e0dfb1547c280.png

没有显示异常

再次查看进程

ps -ef

666ef4cb6776ecfb7faaefab51b6e6bb.png

所有进程正常!

以上就是此次问题解决过程!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值