如何解决奇点:如何释放循环设备?
在服务器上,我们将持续集成作业作为奇异图像的运行脚本运行,例如
wget url_to_mysingularityimage.sif
chmod +x ./mysingularityimage.sif
./mysingularityimage.sif
如果这是相关的:在我们的特定情况下,runscript 是一个 bash 脚本。效果很好。
执行作业后,图像被删除。
rm ./mysingularityimage.sif
但是看起来对应的loop设备还是存在的,即
losetup -a | grep mysingularityimage.sif
输出类似:
/dev/loop27: []: (/path/to/mysingularityimage.sif (deleted)),offset 40960,sizelimit 831307776
当我们运行作业时,循环设备的数量会增加。在某些时候,达到了循环设备的限制数量,并且奇点失败并显示错误:
FATAL: container creation failed: mount /proc/self/fd/3->/usr/local/var/singularity/mnt/session/rootfs error: while mounting image /proc/self/fd/3: failed to find loop device: could not attach image file to loop device: no loop devices available
我们做错了什么吗?是否有我们希望在每个作业结束时运行的命令以确保循环设备被“释放”?
(注意:我们使用bamboo 进行持续集成,而bamboo 总是在一个新目录中执行工作,这可以解释为什么相同的循环设备没有被重用。Bamboo:https://www.atlassian.com/software/bamboo)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。