【问题标题】:How to run singularity container on HPC cluster? - ERROR : Failed to create user namespace: user namespace disabled如何在 HPC 集群上运行奇异容器? - 错误:创建用户命名空间失败:用户命名空间已禁用
【发布时间】:2021-11-21 07:13:10
【问题描述】:

我正在尝试在 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

谁能建议我如何启用用户命名空间?或者在没有用户名空间的情况下运行 sif,因为我没有 sudo 权限。

【问题讨论】:

  • 请使用来自singularity --debug run projectNetv2.sif的输出进行更新
  • 我的第一个想法是尝试在另一个图像中运行奇点图像导致的问题,给定您的(singularity) [me@hpc Project]$ 提示
  • 这是完整的输出 - pastebin.pl/view/6e3825b1(singularity) 表示安装了 pip 的 anaconda 虚拟环境。我可以在本地机器上通过相同的 anaconda 环境运行 .sif,所以我认为它对 HPC 没有任何影响。

标签: docker dockerfile sudo hpc singularity-container


【解决方案1】:

简答:

让您的 HPC 管理员安装 Singularity

更长的答案:

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

除了特权/非特权安装之外,集群中的磁盘存储通常位于 NFS 或其他网络/分布式文件系统上,因此所有节点都可以访问相同的数据。不幸的是,就像任何时候涉及的情况一样,NFS 可能是导致您的问题的原因。 Singularity relies on SUID for its core functionality,但出于(非常好的)安全原因,在 NFS 上默认禁用 SUID。集群管理员不太可能启用该选项,因此最好的办法是让他们将其本地安装在您需要的任何计算机/交互式节点上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-26
    • 2021-04-06
    • 2020-12-26
    • 2021-02-28
    • 2021-02-01
    • 2018-10-09
    • 2019-12-25
    • 1970-01-01
    相关资源
    最近更新 更多