You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ArangoDB插入/更新时报No space left on device错误的原因排查

问题:ArangoDB 3.8.6 报「No space left on device」但服务器有剩余空间

在基于Spring的Java应用中使用ArangoDB 3.8.6执行插入/更新操作时,触发「No space left on device while appending to file」错误。待操作文档体积很小,但运维确认服务器仍有160GB空闲空间。

POM依赖

<dependency>
    <groupId>com.arangodb</groupId>
    <artifactId>arangodb-java-driver</artifactId>
    <version>6.18.0</version>
</dependency>
<dependency>
    <groupId>com.arangodb</groupId>
    <artifactId>jackson-dataformat-velocypack</artifactId>
    <version>3.0.1</version>
</dependency>

<dependency>
    <groupId>com.arangodb</groupId>
    <artifactId>velocypack</artifactId>
    <version>2.5.4</version>
</dependency>

异常堆栈

com.arangodb.ArangoDBException: Response: 500, Error: 1104 - 10 error: No space left on deviceWhile appending to file: /data/arangodb/data/dbserver8530/data/engine-rocksdb/679192.sst: No space left on device 
at com.arangodb.internal.util.ResponseUtils.checkError (ResponseUtils.java:55)
排查与解决方案

1. 检查磁盘inode使用情况

Linux系统中,即使磁盘有剩余空间,inode耗尽也会触发该错误。执行命令检查对应挂载点的inode状态:

df -i

如果/data/arangodb挂载点的Inodes已用100%,需清理目录下的大量小文件(如RocksDB临时文件、过期日志),或重新调整分区的inode配额。

2. 验证数据目录的权限与挂载状态

  • 确认ArangoDB进程对目标目录有读写权限:
ls -ld /data/arangodb/data/dbserver8530/data/engine-rocksdb/
ps aux | grep arangodb

确保进程所属用户(通常为arangodb)拥有该目录的读写权限。

  • 检查磁盘是否为只读挂载:
mount | grep /data/arangodb

若输出包含ro,需重新挂载为读写模式。

3. 调整RocksDB的空间预留机制

ArangoDB使用RocksDB时,默认会预留约5%的磁盘空间用于后台压缩、快照操作,剩余空间低于阈值时会触发错误:

  • 可修改ArangoDB配置文件中的rocksdb.max-total-wal-size、rocksdb.wal-dir参数,优化WAL文件存储策略;
  • 手动触发数据压缩释放空间:
arangosh --server.username root --server.password 你的密码 --execute "db._compact()"

4. 检查用户磁盘配额

部分服务器会对用户设置磁盘配额,即使系统磁盘有空间,单个用户配额耗尽也会报错:

quota -u arangodb

若存在配额限制,需调整用户配额或清理该用户下的冗余文件。

5. 验证依赖版本兼容性

当前Java Driver 6.18.0与ArangoDB 3.8.6版本兼容,但可尝试升级到同系列最新小版本(如6.20.0),修复潜在的空间处理类bug。

内容的提问来源于stack exchange,提问作者saba safavi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 16:54:52