找回密码
 立即注册
首页 业界区 安全 inode节点扩容

inode节点扩容

梁宁 2025-8-15 14:17:40
本文分享自天翼云开发者社区《inode节点扩容》,作者:2****m

1. inode概述

在Linux系统中,每个文件和目录都有一个对应的inode节点,用于存储文件或目录的元数据信息,如:文件大小、创建时间、修改时间、权限等。当文件或目录被创建时,系统会为其分配一个inode节点。然而,当系统中的inode节点数量达到一定限制时,就会出现inode节点满的情况。
inode节点满主要由于 文件数量过多 和 硬盘空间不足 导致的。
2. inode扩容方式

1) 增加磁盘空间

挂载一块磁盘空间更大的硬盘(inode节点数与磁盘大小成正比)。
  1. # 创建挂载目录
  2. mkdir -p /data
  3. # 挂载磁盘(xfs)
  4. parted /dev/sdb -s mklabel gpt
  5. parted /dev/sdb -s -- mkpart primary 0% 100%
  6. mkfs.xfs -f /dev/sdb1
  7. echo "UUID=$(/sbin/blkid | grep sdb | awk -F " '{print $2}') /data                   xfs     defaults        0 0" >> /etc/fstab
  8. mount -a
  9. lsblk
  10. # 挂载磁盘(ext4)
  11. parted /dev/sdb -s mklabel gpt
  12. parted /dev/sdb -s -- mkpart primary 0% 100%
  13. mkfs.ext4 /dev/sdb1
  14. echo "UUID=$(/sbin/blkid | grep sdb | awk -F " '{print $2}') /data                   ext4     defaults        0 0" >> /etc/fstab
  15. mount -a
  16. lsblk
复制代码
2) 初始化磁盘时指定inode大小
  1. # 创建挂载目录
  2. mkdir -p /data
  3. # 挂载磁盘(xfs)
  4. parted /dev/sdb -s mklabel gpt
  5. parted /dev/sdb -s -- mkpart primary 0% 100%
  6. # maxpct表示可用于分配inode的空间百分比
  7. mkfs.xfs -i maxpct=50 -f /dev/sdb1
  8. echo "UUID=$(/sbin/blkid | grep sdb | awk -F " '{print $2}') /data                   xfs     defaults        0 0" >> /etc/fstab
  9. mount -a
  10. lsblk
  11. # 挂载磁盘(ext4)
  12. parted /dev/sdb -s mklabel gpt
  13. parted /dev/sdb -s -- mkpart primary 0% 100%
  14. # N 指定inode数
  15. mkfs.ext4 -N 10000000 /dev/sdb1
  16. echo "UUID=$(/sbin/blkid | grep sdb | awk -F " '{print $2}') /data                   ext4     defaults        0 0" >> /etc/fstab
  17. mount -a
  18. lsblk
复制代码
3) 修改inode数量占用百分比(仅适用于xfs)
  1. # 查看xfs文件系统信息
  2. xfs_info /dev/sdb1
  3. # 修改inode数量占用百分比(m的值越大,inode数越大)
  4. xfs_growfs -m 30 /dev/sdb1
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册