解决磁盘有空间但创建不了文件-修复服务器文件系统

本文介绍了解决Linux服务器上磁盘空间充足但因inode耗尽无法创建文件的问题,包括排查过程、原因分析及两种解决方案,同时分享了服务器文件系统修复的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决磁盘有空间但创建不了文件-修复服务器文件系统
解决磁盘有空间但创建不了文件
实战场景:在一台配置较低的Linux服务器(内存、硬盘比较小)的/data分区内创建文件时,系统提示磁盘空间不足,用df -h命令查看了一下磁盘使用情况,发现/data分区只使用了80%,还有1.9G的剩余空间,但是无法创建新的文件。当时使用的是root用户。服务器没有被黑。
[root@GDH ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 10G 8.0G 1.9G 80% /

常识: 只要权限够,磁盘上有空间一定可以创建文件。 这个是错的。
排查:
[root@GDH ~]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/sda3 5242880 5242880 0 100% /
#后来用df -i查看了一下/data所在的分区的索引节点(inode),发现已经用满(IUsed=100%),导致系统无法创建新目录和文件。
查找原因:
  /data/cache目录中存在数量非常多的小字节缓存文件,占用的Block不多,但是占用了大量的inode。

解决方案1:删除/data/cache目录中的部分文件,释放出/data分区的一部分inode。
解决方案2 : 在/data备份好一些文件,然后删除这些文件,释放一些inode,然后创建一个文件夹/data/cache2。在cache2下挂载一个新分区: sda4 ,下次写数据需要写到新分区cache2目录下。

inode分区完后,可以增加吗? 不可以。 inode总数是在格式化时定下来。
[root@GDH ~]# mkfs.ext4 -I 500000000000 /dev/sda1 #可以指定大小
参数:
[-i bytes-per-inode] [-I inode-size]

修复服务器文件系统
实战场景:公司服务器突然断电后,再次启动后,报如下错误。
在这里插入图片描述
解决方法:
输入root 密码
fsck -f -y /dev/sda1 #把引导分区文件系统修复一下 # 慎用,给领导说一声
fsck -f -y /dev/sda3 #把根分区文件系统修复一下 # 慎用,给领导说一声
reboot 重启
fsck参数:
-y 对所有问题都回答 “yes”
-f 即使文件系统标记为 clean 也强制进行检查

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值