Podman导入54GB镜像时提示‘no space left on device’但目标分区仍有剩余空间的问题排查求助
Podman导入54GB镜像时提示‘no space left on device’但目标分区仍有剩余空间的问题排查求助
各位好,我最近在RHEL 8虚拟机上用Podman导入大镜像时碰到了一个奇怪的空间问题,想请教下大家有没有思路:
我的环境里挂载了一个150GB的/docker分区,为了让Podman把临时目录指向这个分区,我已经用root和带sudo权限的本地用户执行了:
export TMPDIR=/docker
但当我导入一个54GB的dockerfile.tar时,却出现了空间不足的错误:
$ podman import dockerfile.tar Getting image source signatures Copying blob b45265b317a7 done Error: writing blob: adding layer with blob "sha256:b45265b317a7897670ff015b177bac7b9d5037b3cfb490d3567da959c7e2cf71": Error processing tar file(exit status 1): write /a65be6ac39ddadfec332b73d772c49d5f1b4fffbe7a3a419d00fd58fcb4bb757/layer.tar: no space left on device
我查了下虚拟机的分区使用情况,/docker明明还有84GB可用:
$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 84K 3.9G 1% /dev/shm tmpfs 3.9G 51M 3.8G 2% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/mapper/rhel_rhel86--svr-root 38G 7.2G 31G 20% / /dev/sda2 495M 276M 220M 56% /boot /dev/mapper/rhel_rhel86--svr-var 33G 1.4G 32G 5% /var /dev/mapper/rhel_rhel86--svr-tmp 4.7G 66M 4.6G 2% /tmp /dev/mapper/rhel_rhel86--svr-home 43G 1.6G 42G 4% /home /dev/mapper/rhel_rhel86--svr-var_log 4.7G 104M 4.6G 3% /var/log /dev/sdb 147G 56G 84G 40% /docker /dev/mapper/rhel_rhel86--svr-var_log_audit 9.4G 168M 9.2G 2% /var/log/audit /dev/mapper/rhel_rhel86--svr-var_tmp 1.9G 47M 1.9G 3% /var/tmp /dev/sda1 500M 5.9M 494M 2% /boot/efi tmpfs 785M 8.0K 785M 1% /run/user/42 tmpfs 785M 0 785M 0% /run/user/1000
另外,我已经修改了/etc/containers/storage.conf里的配置,把Podman的存储目录也指向了/docker:
# Default Storage Driver, Must be set for proper operation. driver = "overlay" # Temporary storage location runroot = "/docker" # Primary Read/Write location of container storage # When changing the graphroot location on an SELINUX system, you must # ensure the labeling matches the default locations labels with the # following commands: # semanage fcontext -a -e /var/lib/containers/storage /NEWSTORAGEPATH # restorecon -R -v /NEWSTORAGEPATH graphroot = "/docker"
因为系统开启了SELinux,我也执行了对应的标签配置命令并重启了系统:
semanage fcontext -a -e /var/lib/containers/storage /docker restorecon -R -v /docker
之前我已经成功导入过两个800MB左右的镜像包,说明Podman本身是可以正常工作的。现在实在搞不懂,明明/docker分区还有不少剩余空间,为什么导入这个大镜像时会提示空间不足?有没有什么我漏掉的配置或者排查点?
备注:内容来源于stack exchange,提问作者808mrb
相关产品推荐
相关产品推荐

