Vin*_*nce 5 linux mount bamboo singularity-container
在服务器上,我们将持续集成作业作为奇点图像的运行脚本运行,例如
wget url_to_mysingularityimage.sif
chmod +x ./mysingularityimage.sif
./mysingularityimage.sif
Run Code Online (Sandbox Code Playgroud)
如果这是相关的:在我们的具体情况下,运行脚本是一个 bash 脚本。效果很好。
执行作业后,图像将被删除。
rm ./mysingularityimage.sif
Run Code Online (Sandbox Code Playgroud)
但看起来对应的循环设备仍然存在,即
losetup -a | grep mysingularityimage.sif
Run Code Online (Sandbox Code Playgroud)
输出类似:
/dev/loop27: []: (/path/to/mysingularityimage.sif (deleted)), offset 40960, sizelimit 831307776
Run Code Online (Sandbox Code Playgroud)
当我们运行作业时,循环设备的数量会增加。在某些时候,达到了循环设备的限制数量,奇点失败并出现错误:
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
Run Code Online (Sandbox Code Playgroud)
我们是不是做错了什么?是否有一个命令我们需要在每个作业结束时运行以确保循环设备被“释放”?
(注意:我们使用bamboo进行持续集成,并且bamboo总是在新目录中执行工作,这可以解释为什么相同的循环设备没有被重用。Bamboo:https: //www.atlassian.com/software/bamboo) 。
| 归档时间: |
|
| 查看次数: |
3248 次 |
| 最近记录: |