解决 Docker 服务器存储资源池不足问题

简介: 最近在执行 Docker 运行命令启动镜像时候,无法正常执行 Docker 启动镜像命令

系统环境:

  • Docker 版本:19.03.13
  • 操作系统版本:CentOS 7.8

1)问题描述

最近在执行 Docker 运行命令启动镜像时候,无法正常执行 Docker 启动镜像命令,提示了如下错误信息:

Error: Error response from daemon: devmapper: Thin Pool has 163051 free data blocks which is less than minimum required 163840 free data blocks. Create more free space in thin pool or use dm.min_free_space option to change behavior

2)问题分析

根据提示的错误信息来看,是 Docker 的 Thin Pool 池空间不足导致,可用需要创建更多该池的可用空间或者使用 dm.min_free_space 选项改变池的可用空间大小。

我们通过下面命令查看一下服务器上 Docker 信息,观察资源使用情况:

$ docker info

显示的内容如下:

...
Data Space Total: 507.4GB
Data Space Available: 100.67GB
Metadata Space Used: 100.4MB
Metadata Space Total: 20.147GB
Metadata Space Available: 20.047GB
Thin Pool Minimum Free Space: 100.74GB
Deferred Removal Enabled: true
Deferred Deletion Enabled: true
Deferred Deleted Device Count: 0
...

通过上面信息,观察到 Thin Pool Minimum Free Space = 100.74GBData Space Available = 100.67,这说明 Data Space Available 可用空间以及低于 Thin Pool 所需最小空间,这会导致镜像无法正常启动。

3)解决问题

1、查看 Docker 磁盘使用情况

我们可以使用下面命令查看 Docker 磁盘使用情况:

$ docker system df

TYPE            TOTAL     ACTIVE   SIZE       RECLAIMABLE
Images           500      12       38.31GB     34.5GB (90%)
Containers       64       21       157MB       4.109MB (2%)
Local Volumes    37       18       0B          0B
Build Cache      0        0        

其中总共列出如下信息:

  • TYPE:资源类型;
  • TOTAL:资源总数目;
  • ACTIVE:资源处于活动状态数目;
  • SIZE:资源使用空间大小;
  • RECLAIMABLE:可回收资源大小;

其中的各个组件是指:

  • Images:镜像占用存储空间大小;
  • Containers:启动的容器占用存储空间大小
  • Local Volumes:本地挂载卷使用存储空间大小;
  • Build Cache:构建缓存占用存储空间大小;
如果想详细查看系统占用情况,可用加 -v 命令查看各个资源使用存储详情

2、对可回收存储资源执行清理命令

Docker 提供了存储资源回收功能,命令如下:

清理命令详情请查看 Docker 官方文档: docker system prune
$ docker system prune

该命令会清理所有未使用的容器,网络,映像(悬空的和未引用的)以及卷(可选),执行该命令后等待一段时间,回收足够的资源后 Docker 运行镜像恢复正常。

目录
相关文章
|
2月前
|
存储 运维 数据挖掘
服务器数据恢复—EqualLogic存储硬盘出现坏道的数据恢复案例
某品牌EqualLogic PS6100存储阵列上有一组由16块硬盘组建的raid5磁盘阵列。磁盘阵列上层划分多个大小不同的卷,存放虚拟机文件。 硬盘出现故障导致存储阵列不可用,需要恢复存储阵列中的数据。
|
2月前
|
存储 运维 Oracle
服务器数据恢复—存储硬盘指示灯亮黄灯,RAID5阵列崩溃的数据恢复案例
服务器存储数据恢复环境: 某单位一台某品牌DS5300存储,1个机头+4个扩展柜,50块的硬盘组建了两组RAID5阵列。一组raid5阵列有27块硬盘,存放Oracle数据库文件。存储系统上层一共划分了11个卷。 服务器存储故障: 存储设备上两个硬盘指示灯亮黄色。其中一组RAID5阵列崩溃,存储不可用,设备已经过保。
|
5月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
5月前
|
存储
阿里云轻量应用服务器收费标准价格表:200Mbps带宽、CPU内存及存储配置详解
阿里云香港轻量应用服务器,200Mbps带宽,免备案,支持多IP及国际线路,月租25元起,年付享8.5折优惠,适用于网站、应用等多种场景。
1900 0
|
6月前
|
存储 运维 API
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
140 1
|
7月前
|
存储 数据挖掘
服务器数据恢复—EMC存储raid5阵列数据恢复案例
服务器存储数据恢复环境: EMC某型号存储中有一组由8块硬盘组建的raid5磁盘阵列。 服务器存储故障: raid5阵列中有2块硬盘离线,存储不可用,上层应用崩了。
|
3月前
|
存储 数据挖掘 Linux
服务器数据恢复—重装系统导致OceanStor存储上的分区无法访问的数据恢复案例
服务器存储数据恢复环境: 华为OceanStor某型号存储+扩展盘柜,存储中的硬盘组建了raid5磁盘阵列,上层分配了1个lun。 linux操作系统,划分了两个分区,分区一通过lvm扩容,分区二为xfs文件系统。 服务器存储故障: 工作人员重装系统操作失误导致磁盘分区变化,分区二无法访问,数据丢失。
|
5月前
|
存储 测试技术 数据安全/隐私保护
【Docker项目实战】使用Docker部署dufs文件服务器
【Docker项目实战】使用Docker部署dufs文件服务器
799 17
【Docker项目实战】使用Docker部署dufs文件服务器
|
4月前
|
存储 算法 数据挖掘
服务器数据恢复—昆腾存储StorNext文件系统数据恢复案例
一台昆腾存储设备中有一组raid5磁盘阵列。阵列上有两块硬盘先后离线,raid5磁盘阵列不可用。
|
4月前
|
存储 监控 Linux
Dell OpenManage Enterprise 4.5 - Dell 服务器、存储和网络设备集中管理软件
Dell OpenManage Enterprise 4.5 - Dell 服务器、存储和网络设备集中管理软件
124 0