再请教2个集群问题
-
没试过,所以先请教有经验的前辈:
- “com” 或 “org” 发行的Docker版OF上,能再编译第三方应用吗?
- 理论上,自己也能在 Docker 上(先)装 linux, 再编译OF,和第三方应用吧?
Docker 是轻量的,所以想请教是否可行。。。不然集群上装OF后,再在OF基础上编译第三方应用很麻烦。。。(特别有故障时,数据丢了就要重装)
谢谢
-
如果怕丢失远程数据,最好的方法就是:
给自己的本地 linux 搞个公网IP。这样你用的集群就可以通过这个IP找到你的机器。
然后可以把自己本地的 linux 某分区挂载到集群上的一个位置(比如家目录)
这样相当于数据一直在本地,只是用集群的算力。读写都是自动走网络,在网络硬盘里。
只是公网IP比较难搞。如果自己的机器和集群在同一个校园网下也好搞。
docker 用来快速布置环境并跑起来挺好的。能快速复现别人的镜像。用来开发,应该麻烦的细节挺多的。权限、环境什么的
ssh -X username@IP
也可以开图形界面,就是断了就没了。也可以考虑用 vnc。vnc用起来怎么也就麻烦一下子,docker估计麻烦的更多一些。 -
@bestucan
谢谢老师详细和耐心的解释“丢失”原因:
集群”工作区“有时限,当然可延。。。但我想有重要数据再延。。。所以目前,到时限,就删“工作区”,再重建这就要删去编译好的OF和第三方应用后,再重来。。。
因 Docker ”轻量“,所以才想问这两问题:
-
- “com” 或 “org” 发行的Docker版OF上,能再编译第三方应用吗?
-
- 理论上,自己也能在 Docker 上(先)装 linux, 再编译OF,和第三方应用吧?
还有, ssh X 用过,有点慢。。。其实 GUI 也意义不大了
再次感谢老师
-
-
-
docker可以理解为一个“沙盒”,是运行在操作系统上的,所以里面不能再放一个操作系统,但是你想要在docker开发OF应该是可以实现的。我没怎么用过docker,
https://www.cfdengine.com/blog/how-to-install-openfoam-anywhere-with-docker/
https://github.com/jakobhaervig/openfoam-dockerfiles
如果翻墙用google,如果没翻墙用bing国际版,应该有不少经验贴
集群通过ssh用,都是cmd lines。。。没法用虚拟机。。。所以才请教 Docker 的可行性
还有, ssh X 用过,有点慢。。。其实 GUI 也意义不大了
我提 ssh X 和 vnc是因为我以为你考虑虚拟机。不过虚拟机吃性能,docker本来就是用来补虚拟机的短板的
-
@bestucan
谢谢老师的耐心和指点
还有个不是办法的办法: zip 集群上OF和三方,存起来,就用不再重装了。Docker 是纯探讨, PC(win) 上简单用过,及阅读过手册。。。
好像手册说,Docker 能装 linux, Docker 版 linux 才十几或几十M,很诱人,所以来咨询。。。也可能记错,但绝无冒犯老师之意。。。如可以,理论上,装完 linux 就能再装OF。。。。当然,也可能很麻烦
还有,Docker Hub 上现成的 OF,不知能不能再装“三方”再次真诚感谢老师的耐心和指点,谢谢老师
-
@cccrrryyy
是”模拟区“,也存OF结果。。。到期可“删”或“延”。。。重装一次 OF+“三方” 挺麻烦。。。在此再次感谢:
“@李东岳@bestucan@cccrrryyy” 三位老师谢谢
-
mingw ,在win下面用 linux 工具链的一个软件,类似于特制版docker。
blueCFD,让 openfoam 直接跑在 win 上。有点像把mingw和OF捆绑包装的解决方案。
这俩都是通过在 win 上实现 linux 的 api 来跑 linux 的程序。和 linux 上的 wine 一样(通过实现 win 上的 api ,跑 win 的程序)。
但是这种解决方案都有不完整的地方,因为他们不是系统,而是模拟其他系统对“系统调用”的“应答”
好像手册说,Docker 能装 linux, Docker 版 linux 才十几或几十M,很诱人,所以来咨询。。。也可能记错,但绝无冒犯老师之意。。。
没什么冒犯的,我也不熟悉,你要是找到我不知道的,还能开阔我的眼界
如可以,理论上,装完 linux 就能再装OF。。。。当然,也可能很麻烦
和 mingw 、blueCFD 的解决方案应该差不多,只是这两个用起来问题多还麻烦。尤其mingw,特别古老的软件,一直没有替代品,直到 win 10 商店的 Windows Subsystem for Linux 出现。这个东西还分两代,第二代才是系统,第一代也是个用 win 实现 linux 的 api 调用,和mingw差不多。docker 能做的话,当然会更方便。
docker 里装 linux 这个。你可以试试一个安卓应用 termux,不用root,就可以在安卓开终端,github上还有基于 termux 的 debian 系统。其实,基系统还是 termux 里的 BSD,实际上和 docker 差不多。
所以,这些算不算安个系统,看怎么定义“系统”了
-
@cccrrryyy 容器是个好东西,不过从实务角度讲,排队机制比竞价机制更适合hpc应用,这样,容器似乎仅剩部署方便这个优势了,无法发挥硬件池化和弹性计算的优势
-
@bestucan @cccrrryyy :
感谢两位老师,纯干货,够我这“水货”消化一年的确实懒了,没先试下。。。我是集群初级用户,比方说,高级用户一秒出结果,初级要一天。。。。因此初级”工作区“时限更长。。。 所以没试 Docker 这个 "Plan B"
@heike256
老师说的太高深了再次感谢各位老师
-
@cccrrryyy
正好顺便再请教老师一小问题:Singularity 装 linux 后, 应也能进入 Singularity 内的 linux terminal, 如您 "ls" 会出现什么?
我就是想知道 Singularity 内部的文件路径是什么样?在此,也顺便在对 @bestucan 老师说声谢谢
4/19