公有云服务器使用说明(Penguin)

服务器资源:

  • penguin: 计算服务器(81.xx.xx.124):AMD EPYC™ Milan(2.55GHz/3.5GHz) (64 threads), 128GB RAM, 2TB HDD;256TB 对象存储COS; Ubuntu 18.04 OS

使用说明

  1. 服务器购买自腾讯云,公网IP。
  2. 此台服务器没有显卡,没有显卡,没有显卡。
  3. 用户私有数据存放在/workspace目录。例如对于用户zyx,私有目录为/workspace/zyx
  4. 大体量数据可存储在对象存储COS,路径在/data/
  5. 请使用ssh方式连接服务器,本地客户端推荐使用tabbywinscp工具。有使用GUI需求时可联系为师。
  6. 查看系统CPU运行状态用命令htop。并行计算时,线程数不要超过逻辑CPU核数(64 threads),同时警惕内存溢出。
  7. 跑任务,或者基于vscode/jupyter debug,请使用tmux管理会话。具体参考这里
  8. python编程请用户使用各自的conda虚拟环境进行管理,装包切勿都装在base环境。具体参考这里
  9. 对于pipeline编写和调试(尤其深度学习),建议在服务器docker容器内操作。参考Jupyter远程调试docker容器具体VScode远程调试docker容器
  10. 神经影像分析基础镜像mindsgo-sz-docker.pkg.coding.net/neuroimage_analysis/base/msg_baseimage_cuda11:deepFS,内置python3.8 + cuda11.0.221 + cudnn8.0.3 + pytorch1.7.0 + nibabel + scikit-learn + nilearn,同时集成了ANTSFSL6.0.4MRtrix3.0.2c3dfreesurfer7.3.2等常用软件。
# 调用命令示例:
docker run -it --rm --name deepFS \
-v <localpath>:/dataio \
mindsgo-sz-docker.pkg.coding.net/neuroimage_analysis/base/msg_baseimage_cuda11:deepFS

penguin已安装软件:

  • tmux
  • MRtrix3
  • docker
  • conda

penguin如何启用jupyter编程:

  1. 创建自己的conda环境
# 以zyx为例
/opt/miniconda3/bin/conda init bash
### 根据提示,可能需要reopen一个新的终端生效配置,再执行后续命令
conda create -n zyx python=3.8 
  1. 激活zyx环境
conda activate zyx #若提示权限问题,可使用chmod命令来更改权限
  1. 将当前conda环境添加进jupyter kernel
pip install ipykernel -i https://pypi.tuna.tsinghua.edu.cn/simple 
python -m ipykernel install  --name zyx
  1. 以上实现了jupyter kernel的环境添加,只需要操作一次即可。后续每次编程只需要启动jupyter会话即可。
  2. 验证获取服务器的jupyter可用端口:
jupyter notebook --config /root/.jupyter/jupyter_notebook_config.py --allow-root

根据提示获知可用端口,如8888,然后ctrl+C退出。鉴于服务器是公网IP,需要使用端口转发,建议打开windows自带的powershell,新建端口转发的ssh通道。为保证会话进程在后台始终活跃,建议使用tmux进程管理jupyter后台:

# 以下在windows powershell中执行,以zyx用户为例
# 8000是本地端口,8888是远程jupyter端口(根据上一步获取的实际可用端口做修改)
# remote_server_ip改成服务器真实IP

ssh -L  8000:localhost:8888 zyx@remote_server_ip

# 新建tmux会话,以zyx用户为例
tmux new -s jupyter_zyx
  1. 进入编程根目录(自行指定)
cd /data/zyx
  1. 启动jupyter会话
jupyter notebook --config /root/.jupyter/jupyter_notebook_config.py --allow-root

此时会生成IP,如:http://127.0.0.1:8888/tree?token=5d3dfa55f08fa4e4c2f4a7f217fe0f64c135c73f7bd4e6ea 把其中端口8888替换成本地端口即可(8000),本地浏览器键入IP实现访问。

  1. 如果访问不了,需要换新的本地端口重新尝试,如8001。如果可以正常访问,后续可以通过tmux会话管理jupyter后台,如重新切入到已有tmux 会话:
tmux a -t jupyter_zyx

只要jupyter后台持续活跃,理论上就可以网页访问jupyter。

  1. 新建conda环境(如zyx)对应的ipykernel,即可使用。
    zyx.png
叶辰飞
叶辰飞
脑网络编织者

用影像解析人脑的秘密