Oracle 引发No space left on device+扩容Inode

发布时间 2023-09-12 18:34:32作者: 九尾cat

Oracle 引发No space left on device+扩容Inode

背景

很久没遇到数据库存储和文件系统相关的问题,碰到了就复习一下。现象是: 某个小应用跑在很老的服务器上【准备淘汰废弃待定中】,突然应用报错,检查发现是数据库查询插入都异常了【自建oracle数据库】,这时候登上数据库服务器,查看一下日志发现存储空间打满,就准备移动到其他分区缓解情况恢复应用再下一步处理优化。移动的时候发现inode不够了报错No space left on device,如下图

mv: error writing ‘/u01/app/archivelog/1_4787_1058140424.dbf’: No space left on device
mv: failed to extend ‘/u01/app/archivelog/1_4787_1058140424.dbf’: No space left on device

 

 

 扩容inode

抱着侥幸心理,检查文件系统是否支持在线扩容inode,如果是xfs就可以洗洗睡了,如果是ext4就得大动作【不支持在线扩容inode】——备份数据格式化文件系统扩容。

查看文件系统

万幸是xfs,可以直接在线扩容,扩容完就可以安心洗洗睡了

 # df -T /archivelog

 查看分区inode占比

查看inode使用率限制百分比为25%

# xfs_info /archivelog

 扩容inode

扩容完,会提示限制百分比从25到50%

# sudo xfs_growfs -m 50  /archivelog

 

验证

 至此,文件系统的节点编号已经完成在线扩容,应用也恢复正常使用。

注意

1、做好数据备份,数据是命根子。

2、执行扩容前一定要确认扩容分区的文件系统的类型,是否支持在线扩容

3、操作前再三思考,谨慎操作,保持胆大心细认真负责的态度去完成。