唠唠闲话

最近申请学院服务器账号,方便处理一些耗时的计算。院服务器和个人服务器有两点不同,一是账号没有 sudo 权限,二是访问需开启校园网 VPN。我对服务器的认识还处在新手阶段,所以写篇博客,一边记录,一边学习。本篇内容:

相关链接

  1. 校内 VPN 的设置(学校官网)
  2. 服务器教程(院服务器官网)
  3. README.md(服务器文档)

基本设置

连接校园网

Windows 系统

  1. 这里下载客户端(4.9版本),解压并按提示安装

  2. 打开应用程序
    20211208162920

  3. 输入站点域名 vpn-ct.ecnu.edu.cnvpn-cn.ecnu.edu.cn, 并点击 connect 连接 vpn
    20211208163047
    注:实测 cn. 速度比 ct. 要快

  4. 在弹出的验证框内,输入您的公共数据库账号和密码
    20211208163109

  5. 稍等片刻,vpn 就连接完成了

Ubuntu 系统

  1. 安装 openconnect

    1
    sudo apt install openconnect
  2. 使用 openconnect 连接系统,在界面中输入公共数据库账号和密码

    1
    sudo openconnect vpn-cn.ecnu.edu.cn

连接服务器

具体参考这篇:『服务器教程(一) | 服务器连接与文件交互』,其中 Filezilla 的访问方式微调。

  1. Windows 系统:使用 Xshell 传输文件,使用 Xftp 或 putty 执行命令。
  2. Ubuntu 系统:使用 Putty 执行命令,使用 Filezilla 传输文件,其中 Filezilla 的主机 Host 要填 ftp.lflab.cn
    20211114134332

修改密码

  1. 初次登录,在终端输入 change_password 修改密码
    搜狗截图20211114112705

  2. 顺利的话这几处 changed 参数非0
    搜狗截图20211114112728

ssh 免密登录

参照这篇『服务器教程(三) | 免密登录以及远程工具』。

  1. 生成密钥

    1
    ssh-keygen -t rsa -C "youxiang@qq.com" -f <rsa密钥名称>
  2. 传送私钥到远程主机,需输入密码

    1
    ssh-copy-id -i <rsa私钥位置> <用户名>@<主机地址>
  3. 修改 ~/.ssh 目录下的 config,例如我的修改内容:
    深度截图_选择区域_20211114130257

  4. 测试连接

    1
    ssh <用户名>@<主机地址>

服务器简介

参考服务器的 README 文档。

简介

目前 LFLab 下存在多台服务器, 其中统一管理的服务器为:

  • mathlf1: 由黎芳购买的 GPU 服务器,作为计算节点使用
  • mathai1, mathai2, mathai3: 由数学科学学院购买的GPU服务器, 作为计算节点和教学使用
  • mathxy1: 由张向韵购买的 GPU 服务器, 作为计算节点使用
  • storage: 由黎芳购买的轻量级低速NAS存储服务器, 非计算节点

目录结构

新用户的目录结构如下:

1
2
3
4
5
6
7
8
zhwang@mathlf1:~$ tree .
/home/zhwang
├── Desktop # 远程桌面连接时的桌面内容
├── Documents
├── Downloads # 默认的下载地址
├── local -> /mnt/local/home/zhwang
├── share -> /mnt/share
└── ssd_cache -> /mnt/cache/home/zhwang

其中:

  • /home/zhwang 下的所有数据存储在NAS服务器 storage
  • /home/zhwang/local 下的所有数据存储在本地的机械硬盘上
  • /home/zhwang/ssd_cache 下的所有数据存储在本地的固态硬盘上(如果有的话)

由于固态硬盘磁盘空间比较小, ssd_cache 下可能会有一些比较积极的清理策略, 因此存放在其中的数据是不保障的。

下表简单的总结了它们的特性:

读写速度 小文件读写 容量 是否共享
/home/zhwang 慢速 极差
local 中速 一般
ssd_cache 快速 较好

通过 pydf | grep -v /dev/loop 查看当前的磁盘剩余容量, 以及通过iostat -h 查看磁盘当前负载

这种目录结构意味着需遵循以下规则才能够拿到很好的计算性能:

  • 必须将大型软件安装在local下: AnacondaMATLAB 属于此类情况
  • 代码训练所需的数据集一般也放在local或者ssd_cache
  • 当磁盘 IO 成为网络训练的性能瓶颈时, 将数据存放在固态硬盘上可以带来一定的性能提升

注意事项:

  • 使用 mathai1mathai2mathai3 访问时,local 文件相互独立。
  • 若您不遵守以上规则, 则很可能因为占用大量带宽及 IO 而导致其他人无法正常使用服务器, 此时管理员会介入并清除这些不正常的行为。
  • 使用不同服务器访问的都是在 storage 上的用户文件,区别在于服务器性能。

远程图形界面

Windows 端

Windows 端访问远程桌面,使用自带工具:

  1. Win+R 调出运行命令,输入 mstsc 打开 Windows 自带的远程桌面工具,输入公网地址
    20211203114028

  2. 连接成功进入登录界面
    20211203111529

  3. 输入账户密码,登录远程桌面

注:如果觉得访问卡顿,把第一步的配置调低(再补充),或者可能是校外 vpn 访问的限速问题。

Ubuntu 端

Ubuntu 端访问图形界面,使用 ssh -X,比如

  1. 使用 ssh -X 登录服务器

    1
    ssh -X zhwang@ai1.ecnu
  2. 命令行运行带图形界面的软件,会自动调出图形界面,比如
    20211208113254

软件安装

由于没有 sudo 权限,软件不能直接用 apt install 安装。可以用 apt source 代替,参考源码安装-CSDN

下边介绍 MathematicaGAPSageMath 的安装,其中:

  • SageMath 解压即可使用
  • Mathematica 通过运行 .sh 文件安装
  • GAP 要用源码安装

特别注意

  • 软件必须安装在 ~/local/ 目录下,以获得更好运行性能;
  • 使用 mathai1mathai2mathai3 访问,~/local/ 内容是不一样(所以软件需要交互时,应选择同一个服务器安装)

Mathematica

  1. wget 下载安装包

    1
    wget -c https://wdm.undo.icu/wyd/Mathematica/12.1.0.0/MMA_12.1.0_Linux_zh_CN.sh
  2. 进入文件所在目录,打开终端,赋予执行权限,然后安装

    1
    2
    chmod a+x MMA_12.1.0_Linux_zh_CN.sh
    ./MMA_12.1.0_Linux_zh_CN.sh
  3. 选择本地路径进行安装
    20231128205101

  4. 安装后打开软件,需要激活,方法就不介绍了。

SageMath

参考官方文档

  1. 官网下载安装包,或者命令行下载

    1
    wget -c https://mirrors.aliyun.com/sagemath/linux/64bit/sage-9.4-Ubuntu_20.04-x86_64.tar.bz2
  2. 解压文件到 ~/local/ 目录下

    1
    tar -xvf sage-9.4-Ubuntu_20.04-x86_64.tar.bz2 -C ~/local/

    文件有 11.6 G,解压时间需等待较长时间

  3. 将 sage 的 kernal 添加到 jupyter 中,参考 SE

    1
    sudo jupyter kernelspec install <SageMath 安装路径>/local/share/jupyter/kernels/sagemath

    没有 sudo 权限的情况,使用 --user 参数

    1
    jupyter kernelspec install --user <SageMath 安装路径>/local/share/jupyter/kernels/sagemath
  4. 修改 Sagemath 的配置文件

    1
    2
    cd <SageMath 安装路径>/local/share/jupyter/kernels/sagemath
    vi kernel.json

    末尾追加 "env":{"SAGE_ROOT":"/path/to/sage"},比如
    深度截图_选择区域_20211211094744

  5. 运行 jupyter ,已添加 SageMath
    深度截图_选择区域_20211211094150

关于 jupyter 的设置,参考这里

GAP

  1. 官网下载安装包
    深度截图_选择区域_20211208142756
    或者命令行下载

    1
    wget -P ~/Downloads/ -c https://github.com/gap-system/gap/releases/download/v4.11.1/gap-4.11.1.tar.gz
  2. 下载后,解压到安装目录

    1
    tar -xvf ~/Downloads/gap-4.11.1.tar.gz ~/local/gap
  3. 进入目录,使用 ./configure 生成 makefile 文件

    1
    ./configure

    运行结束后,目录下新增了许多文件
    深度截图_选择区域_20211208165034

  4. 使用 make install 安装

    1
    make -j && make install # -j 使用并行加速
  5. 在该目录下,输入 ./gap 运行软件
    深度截图_选择区域_20211208165254