NWPC高性能计算机环境介绍:系统登录
本文是 NWPC高性能计算机环境介绍 系列文章的一部分。
登录方式
HPC 使用 SSH 登录:
- 用户名+密码:默认的方式
- 用户名+秘钥:需要配置秘钥,可以实现无密码登录
登录工具
登录命令行需要准备 SSH 客户端,如果想使用图形软件,还需要 X11 服务。
Windows
推荐使用 XManager 和 MobaXterm 等带有 X11 服务的 SSH 登录软件,但这两个软件都是收费软件,使用前请三思。 也可以单独使用 SSH 命令行,例如 Putty、SecureCRT等,Windows 10 自带的 WSL 也提供 ssh 命令。 X11 服务开源软件可以使用 Xming,但我没有用过。
Linux
Linux 自带的终端就可以实现 SSH 登陆,X Windows System 和 GNOME、KDE 等桌面提供 X11 服务。 当然可以安装第三方命令行终端,例如 Terminator。
Mac
Mac 与 Linux 类似,自带的终端和第三方终端都可以实现 SSH 登陆。 X11 服务需要使用 XQuartz,就我个人使用经验来看,XQuartz 不太稳定。 我一般使用 Microsoft 远程桌面工具直接连接到工作电脑。
域名访问
CMA-PI 的两个子系统有不同的登陆域名:
pird.nmic.cn
:科研分区,子系统1piop.nmic.cn
:业务分区,子系统2
不同的科研用户默认分配给不同的子系统。数值预报业务系统的账户都分配在业务分区。
当用户使用域名登陆时,系统会根据登录节点的负载,自动分配到较空闲的一个。
子系统1,login_a01 ~ login_a10
子系统2,login_b01 ~ login_b10
访问指定节点
建议大家使用域名登陆 HPC,当然某些特殊情况下需要访问某个特定的节点。 例如,数值预报业务系统调度软件 ecFlow 运行在登录节点,启动或停止 ecFlow 进程需要登录到特定的 HPC 节点。
访问指定节点有下面两种方法。
登录后切换
使用域名登录后,使用 ssh 登录到某节点。
ssh user_name@login_a06
使用ip地址登录
直接使用 ip 地址登录 HPC,ip 地址由 ifconfig
命令获得。
ifconfig命令输出,第一个ip地址就是内网可以访问到的节点ip地址
shell环境
登陆缺省的 shell 环境是bash
。
SHELL 环境变量指示当前使用的 shell 环境
可以通过 chsh
命令修改 shell 环境
配置shell
使用账户名和密码登录获得的 shell 是 login shell。我们可以使用一系列文件对 shell 进行配置。
下面是 shell 配置文件的示意图,包括系统配置文件、用户个性设置文件和用户通用设置文件。
对于 login shell,配置文件的处理流程如下:
不需要登陆操作获取的bash界面是non-login shell,配置文件的处理流程如下:
其实我们往往不需要关心两种登陆方式的区别,只需要将所有的设置放到 ~/.bashrc
中,就能保证所有登陆都会设置相同的环境。
下面给出部分设置文件的示例。
~/.bash_profile
用户设置文件 ~/.bash_profile
比较简单,主要执行如下两项任务:
- 调用
~/.bashrc
- 设置环境变量
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export PATH=${PATH}:${HOME}/.local/bin:${HOME}/bin
~/.bashrc
用户设置文件 ~/.bashrc
是最主要的环境配置文件,执行如下任务:
- 调用
/etc/bashrc
- 设置用户环境,包括:
- 设置命令行提示符
- 设置
DISPLAY
- 加载软件包
- 设置环境变量
- …
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
if [ "$PS1" ]; then
export PS1='[\u@$(hostname -a|cut -d " " -f 2) \w]\$'
fi
# Check the Display and set
FROM_HOST=`who am i | sed -n 's/.*(\(.*\)).*/\1/p'`
tset -s -m 'network:?vt100' -m 'xterm:?xterm' 2> /dev/null
if [ X$DISPLAY = "X" ] ; then
DISPLAY=$FROM_HOST:0.0
export DISPLAY
fi
if [ x$(hostname | cut -c1-5) = "xlogin" ] ; then
module load compiler/intel/composer_xe_2017.2.174
module load mpi/intelmpi/2017.2.174
module load mathlib/git/2.9.5/gnu
module load mathlib/ncl_ncarg/6.4.0/gnu
fi
export MODULEPATH=/g3/wangdp/modules:$MODULEPATH
export PATH=/g3/wangdp/usr/local/bin:$PATH:/opt/gridview/slurm17/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}/opt/gridview/slurm17/lib
/etc/profile
系统配置文件 /etc/profile
由管理员配置,主要执行如下任务:
- 设置环境变量:
PATH
,USER
,LOGNAME
,HOSTNAME
等 - 设置umask:022,即默认文件权限
rwxr-xr-x
- 调用 /etc/profile.d/ 目录下的配置文件
/etc/profile.d/
目录是管理员配置的各个参数文件:
/etc/profile.d/下的配置文件
其中:
set-user-workdir.sh
:设置用户工作目录环境变量WORKDIR
perforce.sh
: 设置 perforce 环境modules.sh
:设置 modules 环境
参考
NWPC高性能计算机环境介绍 系列文章