本帖最后由 abin 于 2022-5-2 21:40 编辑
简单说一下,
singularity这玩意能干啥?
以下都是针对处理在HPC工作工作站上, 没有root权限情形下,
如何快速解决, 软件依赖问题, 并实现自定义代码编译.
第一层面, singularity能方便帮你解决多种库文件依赖问题. 相当于你瞬间具有多个不同版本的Linux机器, 但是又不需要考虑用户名网络设定这种破事,
而且在多个Linux系统之间, 你的数据还都是唯一的.
那么用处是啥呢?
比如A软件, 教程说在ubuntu16.04能搞定, 比如WRF-CHEM;
比如B软件, 教程说, ubuntu20.04搞起来, 无痛...
比如MS某版本, 需要centOS7, 其他版本, 你就死心吧, 肯定不行....
难道, 你来回更换系统吗? 你肯定搞不定KVM虚拟机的, 玩docker估计够呛.....
那么, singularity能帮你....
第二个层面,
创建多个软件环境....你又很菜, 搞不定root权限, 也搞不定多用户的Linux管理设定,
那么你可以自己搞一个“singularity单机呀”,
orca421搞一个,,,
orca503搞一个,,,
g09搞一个....
g16搞一个....
用哪一个, 直接运行哪一个....
最重要的,
singularity支持跨平台....
你在A机器编译的, 拿到B机器也工作呀, 而不是手, singularity软件可以在多个系统使用.
singularity目前原生支持Linux.
然后, 现在主流Linux均支持singularity.
由于是采用go编写的, 理论上支持所有Linux系统. 当然安装需要root.
部分新功能, 需要新版本内核支持.
所以centOS6.x, 更换一下内核, 也是支持的.
文字版,
请移步看
http://t.csdn.cn/YQROR
http://t.csdn.cn/M23Kl
视频演示,
请移步
https://www.bilibili.com/video/BV1VV411W7BY
这里提供的DUSHIN, 就是采用这个方案处理的,
https://gitee.com/hpc4you/linux
这里提到的软件,
https://pan.baidu.com/s/1r7PduYXqjn3kpS-ie0H8NQ?pwd=aknc
也是同样的方案哦.
如果你认为虚拟化会导致效率低下,
你可能是微软用多了.
再说, docker container或者singularity模式, 这玩意也不是虚拟化呀,
而是直接把username space直接挂到分派到的资源上呀.
另,
使用Linux平台做计算的小伙伴们,
有没有发现, 网站找到的Linux教程基本不靠谱呢?
因为他们忽略了, 首先你没有root权限, 其次, 你用的平台基本不能git clone, wget.
所以, 通过singularity, 在本机搞定, 再拿过去就行. 当然, 目标机器得有singularity, 这个你和管理沟通吧.
更新
现在流行看什么大佬/大V怎么说,
下面贴一个图片, 来自华为openEuler sig-HPC技术交流.
技术资料圈, 很少singulairty相关的技术分享, 原因很简单: 因为主要在HPC领域, 也就是科学计算领域使用,
来会抄袭的网络文化中, 很少涉及这个层面的.
图片中的podman, 是RedHat主推的技术, 有兴趣可以自己看手册或者查询RHEL的技术视频. 看英文原版吧, 很多中译以及搬运加字幕的版本, 很多地方都写错了.
|