本文作者:阿豪

Linux怎么增加修改磁盘分区Inodes的大小

阿豪 10-15 250
Linux怎么增加修改磁盘分区Inodes的大小摘要: 服务器上放了一个php的站点,最近mysql遇到异常起不来,查看错误日志提示磁盘空间不足通过 df -h 查看磁盘,发现还有剩余空间通过 du -ih 查看磁盘,发现 inode...

服务器上放了一个php的站点,最近mysql遇到异常起不来,查看错误日志提示磁盘空间不足

通过 df -h 查看磁盘,发现还有剩余空间

通过 du -ih 查看磁盘,发现 inode 已经使用了 100%;

赶紧通过 关于inodes占用100%的问题及解决方法  排查了下发现是php站点生成了大量缓存小文件,一个月不到生成几百万个,导致了inode被占用满

image.png

通过观察文件系统

# dumpe2fs -h /dev/sdb1

列出几个比较关键的数据

image.png

说明

每个 inode 大小为 256byte,block 大小为 4k byte; 

根据 block count 和 inode count,我们也可以算出 16k bytes-per-inode(13106944*4096/3276800)

也就是文件系统在创建的时候每16k空间自动划分一个inode,而PHP站点缓存生成写入大量小文件,虽然磁盘空间(block)还有剩余,但是 inode 已经分配完了。

磁盘规划

操作前请做好数据备份到本地或者其他盘(涉及到了格式化磁盘)

-i bytes-per-inode  指定 bytes/inode 比率

-I inode-size 指定inode大小

格式化

mkfs.ext4 -i 8192 /dev/sdb1

查看磁盘文件系统

image.png

可以看到,inode整体数量以及在每个group的数量都翻了一倍(重新划分更多 inode 会占用更多磁盘空间)

文章版权及转载声明

作者:阿豪本文地址:https://www.ahaoyw.com/article/653.html发布于 10-15
文章转载或复制请以超链接形式并注明出处阿豪运维笔记