Iguazio出现[Errno 28]设备无剩余空间错误,求解决方案
Iguazio中
[Errno 28] No space left on device错误排查(磁盘使用率仅20%场景) 问题背景
在Iguazio环境中执行Parquet文件操作时触发磁盘空间不足错误,但实际全局磁盘使用率仅为20%,相关日志如下:
2023-08-04 08:53:16,283 [error] runtime error: [('/v3io/projects/krt/FeatureStore/tracing/parquet/sets/tracing/1689173417362_445/part_date=20230719/850ad77c-008e-4a7c-a83c-91be7e7c0e04.parquet', '/v3io/projects/krt/FeatureStore/tracing/test/20230719/part_date=20230719/850ad77c-008e-4a7c-a83c-91be7e7c0e04.parquet', " 2023-08-04 08:53:17,582 [Errno 28] No space left on device: '/v3io/projects/krt/FeatureStore/tracing/test/20230719/part_date=20230719/850ad77c-008e-4a7c-a83c-91be7e7c0e04.parquet'
排查与解决方向
- 检查inode消耗情况:Linux系统中,inode用于记录文件元数据,即使磁盘空间充足,大量小文件会耗尽inode。在目标节点执行
df -i,查看/v3io挂载点的inode使用率,若接近100%,清理冗余小文件或调整inode配额即可解决。 - 核实项目级存储配额:Iguazio会为单个项目设置独立存储配额,全局空间充足不代表项目配额未耗尽。通过Iguazio控制台或
v3io-cli查询krt项目的配额使用情况,确认是否已达上限。 - 查看文件系统预留空间:部分文件系统会为root用户预留5%左右的空间,普通用户无法访问。执行
tune2fs -l /dev/[存储设备名] | grep Reserved查看预留空间大小,若剩余可用空间恰好等于预留值,可临时调整预留比例(如tune2fs -m 1 /dev/[存储设备名])释放空间。 - 排查存储卷挂载状态:确认
/v3io挂载的存储卷是否正常,是否存在分布式存储节点故障、挂载点异常导致实际可用空间受限。通过mount命令检查挂载状态,或联系运维确认存储集群健康度。 - 检查文件句柄限制:极端情况下文件句柄耗尽也会触发类似错误。执行
ulimit -n查看当前进程的文件句柄上限,用lsof -p <进程ID>查看目标进程的句柄使用量,若接近上限,调整ulimit配置或关闭闲置文件连接。
内容的提问来源于stack exchange,提问作者JIST
相关产品推荐
相关产品推荐

