“ 要了解 Linux 操作系统上的

inode

前,我们先来说说 Linux操作系统上的文件。对于 Linux 操作系统而言,[一切皆文件]。而文件是无法独立于存储介质(这里指的是物理磁盘或内存、闪存等)存在的,一切操作系统上的文件都无时无刻不在和存储介质打交道。

例如,读取文件时需要将文件从磁盘中加载到内存中,当文件操作结束后,文件又会被存储到磁盘中。那么,既然文件要被存储到磁盘中,而磁盘是有容量限制的,那么也就是说磁盘上能存放的物理文件的数量是有限的。”

作者:归源
链接:https://www.jianshu.com/p/6aa4d7ef17de

1.登录服务器,运行下面命令分析根目录下每个目录下面有多少个文件

[root@hecs-293015 ~]# for i in /*; do echo $i; find $i | wc -l; done
/bin
1
/boot
333
/CloudResetPwdUpdateAgent
202
/CloudrResetPwdAgent
15
/dev
345
/etc
2517

然后,逐层进入 inode 占用最高的目录,继续执行上述指令,逐步定位占用过高空间的文件或目录,最后进行相应清理。

2. 修改inode数量

ECS Linux 的 inode节点中,记录了文件的类型、大小、权限、所有者、文件连接的数目、创建时间与更新时间等重要的信息,还有一个比较重要的内容就是指向数据块的指针。一般情况不需要特殊配置,如果存放文件很多,需要配置。有时磁盘空间有剩余但是不能存放文件,可能是由于 inode 耗尽所致。

2.1   df -i 可以查询 inode 的使用情况:

[root@hecs-293015 ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 482359 339 482020 1% /dev
tmpfs 484974 5 484969 1% /dev/shm
tmpfs 484974 456 484518 1% /run
tmpfs 484974 16 484958 1% /sys/fs/cgroup
/dev/vda1 2621440 153631 2467809 6% /
tmpfs 484974 1 484973 1% /run/user/0
/dev/xvdb 1622513 183 1638288 1% /home

注:inode 的调整需要重新格式化磁盘,请确保数据已经得到有效备份后再进行下述操作。

2.2 卸载系统文件

[root@hecs-293015 ~]# umount /home/

2.3 重新建立文件系统,指定 inode 节点数

[root@hecs-293015 ~]# mkfs.ext3 /dev/xvdb -N 1638400

2.4 修改fstab文件

[root@hecs-293015 ~]# vim /etc/fstab

2.5 查看修改后的 inode 节点数

[root@hecs-293015 ~]# dumpe2fs -h /dev/xvdb | grep node

 

 


云野 » inode 容量满的处理

发表回复