How to run singularity container on HPC cluster? - ERROR : Failed to create user namespace: user namespace disabled

How to run singularity container on HPC cluster? - ERROR : Failed to create user namespace: user namespace disabled

我正在尝试在 hpc 集群上启动奇点容器。我一直在本地 运行 设置 projectNetv2.sif 和沙箱,没有任何问题。将它们导出到 hpc 后,出现以下错误。

(singularity) [me@hpc Project]$ ls
examples  projectnet_image_v2.tar.gz  projectnet_sandboxv2  projectNetv2.sif
(singularity) [me@hpc Project]$ singularity run projectNetv2.sif
INFO:    Converting SIF file to temporary sandbox...
FATAL:   while extracting SimNetv21.sif: root filesystem extraction failed: extract command failed: ERROR  : Failed to create user namespace: user namespace disabled
: exit status 1

##Attempting to run sandbox
(singularity) [me@hpc Project]$ singularity run projectnet_sandboxv2/
ERROR  : Failed to create user namespace: user namespace disabled

谁能告诉我如何启用用户名space?或者 运行 没有用户名的 sif space 因为我没有 sudo 权限。

简答:

请您的 HPC 管理员安装 Singularity

更长的答案:

有两种安装 Singularity 的方法,一种是特权安装,另一种是非特权/用户命名空间安装。第一种方式是默认方式,但某些操作需要 sudo/root(主要是 singularity build)。后者消除了对 root 的需要,但有 other system requirements。可能需要额外的 OS 配置才能使 Singularity 按预期运行。

除了 privileged/unprivileged 安装之外,集群中的磁盘存储通常在 NFS 或另一个 networked/distributed 文件系统上,因此所有节点都可以访问相同的数据。不幸的是,与任何时候涉及的情况一样,NFS 很可能是导致您出现问题的原因。 Singularity relies on SUID for its core functionality,但出于(非常好的)安全原因,默认情况下在 NFS 上禁用 SUID。集群管理员不太可能启用该选项,因此最好的办法是让他们在您需要的任何 computer/interactive 个节点上本地安装它。