# Linux云服务器磁盘inode高怎么办？
#### 问题描述
在使用ECS实例过程中，如果出现了以下的问题，表示遇到了实例磁盘文件系统空间满的情况：
- 系统命令**df -i**显示磁盘Use%超过90%。
- 收到磁盘inode使用率高的告警或者诊断结果显示磁盘使用率高。
 
#### 排查方法
检查磁盘的当前使用率，并识别高占用的文件：
1. 登录节点
2. 执行以下命令，查看磁盘使用率。 **df -i**
   回显信息如下所示。示例中分区/dev/vdb的使用率达到92%。
   图1回显信息   
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002384367413.png "点击放大") 
 
#### 常见磁盘I/O负载高问题原因及解决方案
1. 确认inode占用量高的文件或者目录。 执行以下命令，分析根目录下的每个二级目录有多少个文件。
   **for i in /\*; do echo $i; sudo find $i \| wc -l; done**
   图2操作结果   
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002350614400.png "点击放大")
   以此类推，最终定位inode使用率过高的文件或目录。
   图3操作结果   
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002384378837.png "点击放大")
   - 如果文件数据重要需要保留，建议临时进行磁盘扩容，恢复业务。
   
   - 否则进行相应的清理操作，删除部分文件或目录释放inode。
    
2. 如果在清理可清理文件后inode使用率仍然较高，则建议通过备份数据、重新格式化磁盘以增加inode数量、再将数据拷回的方式，完成数据的保留并增加文件系统的inode数量。 下面提供新建格式化文件系统时扩大inode数量的指导。
   ![](https://support.huaweicloud.com/ecs_faq/public_sys-resources/caution_3.0-zh-cn.png)
   重新格式化磁盘时磁盘内的数据将被删除，请确保数据已经得到有效备份后，再进行以下操作。您可以自行拷贝文件，也可以通过快照方式进行数据备份，创建快照的具体操作请参见[创建快照](https://support.huaweicloud.com/usermanual-evs/zh-cn_topic_0066615262.html)。
   - ext4文件系统:
     1. 执行以下命令，以重新建立文件系统并增加Inode节点的数量。 本示例以磁盘分区为/dev/vdb、文件系统类型为ext4、Inode节点数为163,840为例，请您根据实际情况进行操作。
        **mkfs.ext4 /dev/vdb -N 2621440**
        ![](https://support.huaweicloud.com/ecs_faq/public_sys-resources/note_3.0-zh-cn.png)
        在Linux系统中，对于ext\*分区格式的Inode数量通常是根据磁盘容量大小生成的，通常采用1:16KB的比例。例如，以40GB云盘为例，其Inode节点数通常为2,621,440，而其支持的最大值为2\^32（约为43亿）。您可以根据实际的云盘容量大小乘以一定的放大系数（例如1.2）来选择适合您业务需求的Inode值。
        
     
     
     
     2. 将新格式化好的磁盘挂载到临时目录。 本示例以将/dev/vdb设备挂载至**/mnt/data_new /**目录为例。
        **mount /dev/vdb /mnt/data_new**
        
     
     3. 执行以下命令，查看并确认修改后的Inode节点数。 **df -i /mnt/data_new**
        显示如下信息，表明Inode数量调整成功，您可以继续拷贝备份数据，以恢复相关数据或应用。
        图4操作结果   
        ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002372255345.png "点击放大") 
      
   
   
   
   - xfs文件系统
     1. 执行以下命令，以重新建立文件系统并增加Inode节点的数量。 本示例以磁盘分区为/dev/vdb、文件系统类型为xfs、将默认maxpct=25改为40为例，请您根据实际情况进行操作。
        **mkfs.xfs -f -i maxpct=40 /dev/vdb**
        ![](https://support.huaweicloud.com/ecs_faq/public_sys-resources/note_3.0-zh-cn.png)
        在Linux系统中，xfs分区格式的Inode数量通常是根据磁盘容量大小生成的，受磁盘容量和maxpct参数的共同影响。默认情况下，容量在1TB以下的文件系统Inode比例为25%，容量在50TB以下的文件系统比例为5%，而超过50TB的文件系统比例则为1%。您可以根据实际需求选择适合您业务的Inode值。
        
     
     2. 将新格式化好的磁盘挂载到临时目录。 本示例以将/dev/vdb设备挂载至**/mnt/data_new /**目录为例。
        **mount /dev/vdb /mnt/data_new**
        
     
     3. 执行以下命令，查看并确认修改后的Inode节点数。 **df -i /mnt/data_new**
        显示如下信息，表明Inode数量调整成功，您可以继续拷贝备份数据，以恢复相关数据或应用。
        图5操作结果   
        ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002338137272.png "点击放大") 
      
    
 
