inode 容量满的处理
“ 要了解 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