首批通过分布式安全可靠测评,为关键业务系统打造
OCP Docker 根目录空间不足导致集群升级失败的原因和解决方法
更新时间:2026-07-02 15:41
问题现象
通过 OCP V4.3.5 升级 OceanBase 数据库集群报错信息如下。
com.oceanbase.ocp.core.exception.UnexpectedException: [OCP UnexpectedException]: status=500 INTERNAL_SERVER_ERROR, errorCode=AGENT_TASK_FAILED, args=02a85cdd-b768-475c-92ba-d1441b668e8c,OcpAgentError: code = 2000, message = Cannot download file from url: http://172.x.x.x:8010/api/v2/object-storage/sys-package/oceanbase-4.xxx.el7.x86_64.rpm, reason: failed to download file from url, cannot save response: unexpected EOF

关键诊断信息
查看 OCP Docker 挂载目录,可知磁盘空间不足。
# docker info --format '{{.DockerRootDir}}'
/docker
# df -hT /docker/
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vga-root xfs 120G 120G 282M 100% /
清理空间后重试任务,成功完成。
问题原因
根据 unexpected EOF 报错,首先排查文件是否上传正确(如通过 OAT 查看 OCP 是高可用部署架构,可以在所有服务器上检查)。
[root@ocp ~]# docker exec -it ocp bash
[root@ocp admin]# ls -lth data/files/sys-package/
total 979M
-rw-r--r-- 1 admin admin 40 6月 19 14:31 oceanbase-4.xxx.el7.x86_64.rpm.sha1sum
-rw-r--r-- 1 admin admin 482M 6月 19 14:31 oceanbase-4.xxx.el7.x86_64.rpm
[root@ocp admin]# md5sum data/files/sys-package/oceanbase-4.xxx.el7.x86_64.rpm
963b2a62b996103c2fc27385c91eceaf data/files/sys-package/oceanbase-4.xxx.el7.x86_64.rpm
对比原始文件,可以看到文件 md5 没有问题。
% md5 oceanbase-4.xxx.el7.x86_64.rpm
MD5 (oceanbase-4.xxx.el7.x86_64.rpm) = 963b2a62b996103c2fc27385c91eceaf
手动在 OCP 本机下载文件,可以看到报错 No space left on device。
# wget http://172.x.x.x:8010/api/v2/object-storage/sys-package/oceanbase-4.xxx.el7.x86_64.rpm
Connecting to 172.x.x.x:8010... connected.
HTTP request sent, awaiting response... 200
Length: 504737724 (481M) [application/octet-stream]
Saving to: ‘oceanbase-4.xxx.el7.x86_64.rpm’
oceanbase-4.xxx.el7.x86_64.rpm 58%[=======================================================================================================================================> ] 281.41M 252MB/s in 1.1s
Cannot write to ‘oceanbase-4.xxx.el7.x86_64.rpm’ (No space left on device).
问题的风险及影响
OCP Docker 挂载目录磁盘空间不足不仅影响集群升级,也影响上传软件包等功能。 如因磁盘空间不足影响上传软件包时,可以查看 OCP 日志。
docker exec -it ocp bash
tail -f /home/admin/logs/ocp/ocp.log
可以看到相关报错如下:
Caused by: org.apache.tomcat.util.http.fileupload.impl.IOFileUploadException: Processing of multipart/form-data request failed. No space left on device
...
java.io.IOException: No space left on device
..
适用版本
OceanBase 数据库 V3.x、V4.x 版本。
解决方法
清理 Docker 根据目录空间后重试任务。
规避方式
建议通过 LVM 划分磁盘并分配磁盘给 /docker 目录,以在空间不足时灵活分配磁盘空间,详情可参见:OceanBase 数据库安装部署之磁盘初始化。 如使用 OAT 部署,建议统一通过 OAT 完成磁盘初始化操作,包括 Docker 根目录(/docker),如下图所示。
