服务器教程(二) | 学院服务器使用教程
唠唠闲话
最近申请学院服务器账号,方便处理一些耗时的计算。院服务器和个人服务器有两点不同,一是账号没有 sudo 权限,二是访问需开启校园网 VPN。我对服务器的认识还处在新手阶段,所以写篇博客,一边记录,一边学习。本篇内容:
相关链接
基本设置
连接校园网
Windows 系统
-
点这里下载客户端(4.9版本),解压并按提示安装
-
打开应用程序
-
输入站点域名
vpn-ct.ecnu.edu.cn
或vpn-cn.ecnu.edu.cn
, 并点击 connect 连接 vpn
注:实测cn.
速度比ct.
要快 -
在弹出的验证框内,输入您的公共数据库账号和密码
-
稍等片刻,vpn 就连接完成了
Ubuntu 系统
-
安装
openconnect
1
sudo apt install openconnect
-
使用
openconnect
连接系统,在界面中输入公共数据库账号和密码1
sudo openconnect vpn-cn.ecnu.edu.cn
连接服务器
具体参考这篇:『服务器教程(一) | 服务器连接与文件交互』,其中 Filezilla 的访问方式微调。
- Windows 系统:使用 Xshell 传输文件,使用 Xftp 或 putty 执行命令。
- Ubuntu 系统:使用 Putty 执行命令,使用 Filezilla 传输文件,其中 Filezilla 的主机
Host
要填ftp.lflab.cn
。
修改密码
-
初次登录,在终端输入
change_password
修改密码
-
顺利的话这几处
changed
参数非0
ssh 免密登录
参照这篇『服务器教程(三) | 免密登录以及远程工具』。
-
生成密钥
1
ssh-keygen -t rsa -C "youxiang@qq.com" -f <rsa密钥名称>
-
传送私钥到远程主机,需输入密码
1
ssh-copy-id -i <rsa私钥位置> <用户名>@<主机地址>
-
修改
~/.ssh
目录下的config
,例如我的修改内容:
-
测试连接
1
ssh <用户名>@<主机地址>
服务器简介
参考服务器的 README 文档。
简介
目前 LFLab 下存在多台服务器, 其中统一管理的服务器为:
mathlf1
: 由黎芳购买的 GPU 服务器,作为计算节点使用mathai1
,mathai2
,mathai3
: 由数学科学学院购买的GPU服务器, 作为计算节点和教学使用mathxy1
: 由张向韵购买的 GPU 服务器, 作为计算节点使用storage
: 由黎芳购买的轻量级低速NAS存储服务器, 非计算节点
目录结构
新用户的目录结构如下:
1 | zhwang@mathlf1:~$ tree . |
其中:
/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
下:Anaconda
与MATLAB
属于此类情况 - 代码训练所需的数据集一般也放在
local
或者ssd_cache
下 - 当磁盘 IO 成为网络训练的性能瓶颈时, 将数据存放在固态硬盘上可以带来一定的性能提升
注意事项:
- 使用
mathai1
,mathai2
和mathai3
访问时,local
文件相互独立。 - 若您不遵守以上规则, 则很可能因为占用大量带宽及 IO 而导致其他人无法正常使用服务器, 此时管理员会介入并清除这些不正常的行为。
- 使用不同服务器访问的都是在
storage
上的用户文件,区别在于服务器性能。
远程图形界面
Windows 端
Windows 端访问远程桌面,使用自带工具:
-
Win+R
调出运行命令,输入mstsc
打开 Windows 自带的远程桌面工具,输入公网地址
-
连接成功进入登录界面
-
输入账户密码,登录远程桌面
注:如果觉得访问卡顿,把第一步的配置调低(再补充),或者可能是校外 vpn 访问的限速问题。
Ubuntu 端
Ubuntu 端访问图形界面,使用 ssh -X
,比如
-
使用
ssh -X
登录服务器1
ssh -X zhwang@ai1.ecnu
-
命令行运行带图形界面的软件,会自动调出图形界面,比如
软件安装
由于没有 sudo
权限,软件不能直接用 apt install
安装。可以用 apt source
代替,参考源码安装-CSDN。
下边介绍 Mathematica
,GAP
和 SageMath
的安装,其中:
SageMath
解压即可使用Mathematica
通过运行.sh
文件安装GAP
要用源码安装
特别注意:
- 软件必须安装在
~/local/
目录下,以获得更好运行性能; - 使用
mathai1
,mathai2
和mathai3
访问,~/local/
内容是不一样(所以软件需要交互时,应选择同一个服务器安装)
Mathematica
-
用
wget
下载安装包1
wget -c https://wdm.undo.icu/wyd/Mathematica/12.1.0.0/MMA_12.1.0_Linux_zh_CN.sh
-
进入文件所在目录,打开终端,赋予执行权限,然后安装
1
2chmod a+x MMA_12.1.0_Linux_zh_CN.sh
./MMA_12.1.0_Linux_zh_CN.sh -
选择本地路径进行安装
-
安装后打开软件,需要激活,方法就不介绍了。
SageMath
参考官方文档。
-
在官网下载安装包,或者命令行下载
1
wget -c https://mirrors.aliyun.com/sagemath/linux/64bit/sage-9.4-Ubuntu_20.04-x86_64.tar.bz2
-
解压文件到
~/local/
目录下1
tar -xvf sage-9.4-Ubuntu_20.04-x86_64.tar.bz2 -C ~/local/
文件有 11.6 G,解压时间需等待较长时间
-
将 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
-
修改 Sagemath 的配置文件
1
2cd <SageMath 安装路径>/local/share/jupyter/kernels/sagemath
vi kernel.json末尾追加
"env":{"SAGE_ROOT":"/path/to/sage"}
,比如
-
运行 jupyter ,已添加 SageMath
关于 jupyter
的设置,参考这里。
GAP
-
在官网下载安装包
或者命令行下载1
wget -P ~/Downloads/ -c https://github.com/gap-system/gap/releases/download/v4.11.1/gap-4.11.1.tar.gz
-
下载后,解压到安装目录
1
tar -xvf ~/Downloads/gap-4.11.1.tar.gz ~/local/gap
-
进入目录,使用
./configure
生成makefile
文件1
./configure
运行结束后,目录下新增了许多文件
-
使用
make install
安装1
make -j && make install # -j 使用并行加速
-
在该目录下,输入
./gap
运行软件