分布式存储介绍
为了同时满足存储大规模数据集和个人数据的需要,分布式存储将分为两个部分:高速存储和低速存储。其中高速存储为只读存储,主要存放公共大规模数据集,如需要往高速存储放入大规模数据集,可以在这里填写申请表单。低速存储为可读写存储,主要存放个人数据(如中间模型和训练日志等)。分布式存储中的高速存储和低速存储在文件系统中的挂载点请查看“附录4:集群配置参数”。
使用SSH上传下载数据
新建一个普通任务,设置GPU数量为0,CPU数量为1,内存用量为1024MB,将运行的指令设置为 sleep infinity
,并使用SSH拓展服务(参考“高级进阶技巧”中的“如何使用SSH 拓展功能”)。这个任务作业会无限期睡眠,并且不占用GPU,可以长期开启用来传输用户数据。
在得到SSH的登录IP和端口之后,在Windows上,可以使用WinSCP工具传输数据;在Linux上,可以使用scp命令传输数据。此外还可以使用一些工具通过SSH将远程目录映射到本地磁盘/目录,Windows上可以参考,Linux上可以参考这里。
示例
首先查看自己的公钥
如果在Windows下,首先,通过win+r打开powershell,输入cd .ssh
,然后cat ./id_rsa.pub
,在Linux下类似。
在Jobs Submit中开启SSH拓展功能
在如何使用拓展功能中Enable SSH,并输入自己的公钥:,即上面powershell中的输出。
Command中填写sleep infinity
且GPU count指定为0。
在SSH Info中查看SSH服务端信息并验证
任务处于Running状态后,在任务界面,点击SSH info,终端中会显示SSH的连接信息,如图所示,这项任务的容器在222.201.187.231服务器上运行,容器中开启了SSH服务,且SSH服务映射到了主机222.201.187.231的32391端口,用户名为root。
先登录一下,在powershell中输入ssh root@222.201.187.231 -p 32391
,若显示已经连上,则说明目前为止一切顺利。
上传文件
如图所示,我要将bus_driver_ab_detection-master文件夹上传到容器中。
根据之前的信息,结合scp命令,其中-P指明端口,-r表示递归传输文件夹。传输到容器中的/root目录下。
登录上容器,检查发现文件确实已经存在。
注意,/root目录属于容器中,如果容器被停止,则相关数据会丢失,如果想要持久化存储,请选择直接上传到分布式存储目录/mnt/cephfs/home/your_username中,或者运行以下命令将数据复制到持久化存储的cephfs上:cp bus_driver_ab_detection-master /mnt/cephfs/home/your_username -r