nasp.ob.ac.cn -> nasp.fit

This commit is contained in:
Dict Xiong 2024-04-16 00:25:27 +08:00
parent 93cd851533
commit 8d8c915737
2 changed files with 19 additions and 19 deletions

View File

@ -1,9 +1,9 @@
# 集群注册登录说明 # 集群注册登录说明
集群登录账户通过[NASP Registry](https://git.nasp.ob.ac.cn/NASP/registry)仓库管理。 集群登录账户通过[NASP Registry](https://git.nasp.fit/NASP/registry)仓库管理。
## 使用方法 ## 使用方法
集群的跳板机(`nasp.ob.ac.cn:36022`)、重装后的实验机(`g1`-`g16`),均强制使用秘钥对的方法登录,不能通过密码登录。如果你没有现成的秘钥对,需要先创建一个。 集群的跳板机(`nasp.fit:36022`)、重装后的实验机(`g1`-`g16`),均强制使用秘钥对的方法登录,不能通过密码登录。如果你没有现成的秘钥对,需要先创建一个。
你需要把**公钥**上传到仓库的`/authorized_keys/<your_user_name>/`目录下。路径中的用户名将成为你在实验机上的用户名需要满足unix用户名标准以小写字母开头只能包含小写字母、数字、连字符和下划线。你可以用下面的命令测试你的用户名 你需要把**公钥**上传到仓库的`/authorized_keys/<your_user_name>/`目录下。路径中的用户名将成为你在实验机上的用户名需要满足unix用户名标准以小写字母开头只能包含小写字母、数字、连字符和下划线。你可以用下面的命令测试你的用户名
@ -25,19 +25,19 @@ check_username "a111"
`/authorized_keys/<your_user_name>/`目录下可以包含一个或多个文件,每个文件中可以包含一个或多个(由换行符分隔开的)公钥,可以按照你的喜好安置文件。 `/authorized_keys/<your_user_name>/`目录下可以包含一个或多个文件,每个文件中可以包含一个或多个(由换行符分隔开的)公钥,可以按照你的喜好安置文件。
[NASP Registry](https://git.nasp.ob.ac.cn/NASP/registry)仓库的主分支main受到保护用户无法直接向其推送更新。所以你需要 [NASP Registry](https://git.nasp.fit/NASP/registry)仓库的主分支main受到保护用户无法直接向其推送更新。所以你需要
- 如果你是新用户联系管理员把你加入NASP组织 - 如果你是新用户联系管理员把你加入NASP组织
- 克隆仓库到本地,创建一个新的分支:`git clone https://git.nasp.ob.ac.cn/NASP/registry && cd registry && git checkout -b <your_branch_name> ` - 克隆仓库到本地,创建一个新的分支:`git clone https://git.nasp.fit/NASP/registry && cd registry && git checkout -b <your_branch_name> `
- 根据上面的指导,添加你的公钥; - 根据上面的指导,添加你的公钥;
- 在修改完成之后,提交修改,推送新分支到远端:`git add -A && git commit -m "add my key" && git push -u origin <your_branch_name>` - 在修改完成之后,提交修改,推送新分支到远端:`git add -A && git commit -m "add my key" && git push -u origin <your_branch_name>`
- 在网站上创建[合并请求mr](https://git.nasp.ob.ac.cn/NASP/registry/compare/main...main),拉取从你的分支合并到主分支;可参考:[#41](https://git.nasp.ob.ac.cn/NASP/registry/pulls/41) - 在网站上创建[合并请求mr](https://git.nasp.fit/NASP/registry/compare/main...main),拉取从你的分支合并到主分支;可参考:[#41](https://git.nasp.fit/NASP/registry/pulls/41)
- 找到另一位在NASP组织内的同学让其批准你的合并请求如图![](attachments/6386bc2c5a9d3dc7dc0c9ee5a4b67ed.png) - 找到另一位在NASP组织内的同学让其批准你的合并请求如图![](attachments/6386bc2c5a9d3dc7dc0c9ee5a4b67ed.png)
- 随后,你可以进行合并操作(创建压缩提交),并删除你的分支。 - 随后,你可以进行合并操作(创建压缩提交),并删除你的分支。
至多五分钟后,你就可以登录跳板机。跳板机的地址是`nasp.ob.ac.cn`,用户名固定为`ssh`,端口号`36022` 至多五分钟后,你就可以登录跳板机。跳板机的地址是`nasp.fit`,用户名固定为`ssh`,端口号`36022`
```bash ```bash
ssh -p 36022 ssh@nasp.ob.ac.cn ssh -p 36022 ssh@nasp.fit
``` ```
随后,在跳板机上,你可以用你的用户名登录实验机(端口号`12022` 随后,在跳板机上,你可以用你的用户名登录实验机(端口号`12022`
@ -52,7 +52,7 @@ ssh -p 12022 <your_user_name>@g7
```bash ```bash
# the same for scp/sftp # the same for scp/sftp
ssh -p 12022 -o ProxyJump=ssh@nasp.ob.ac.cn:36022 <your_user_name>@g7 ssh -p 12022 -o ProxyJump=ssh@nasp.fit:36022 <your_user_name>@g7
``` ```
或者在`~/.ssh/config`里面配置: 或者在`~/.ssh/config`里面配置:
@ -62,7 +62,7 @@ Host g7
HostName g7 HostName g7
User <your_user_name> User <your_user_name>
Port 12022 Port 12022
ProxyJump ssh@nasp.ob.ac.cn:36022 ProxyJump ssh@nasp.fit:36022
``` ```
从而能够在vscode中远程连接。 从而能够在vscode中远程连接。
@ -73,9 +73,9 @@ Host g7
``` ```
# 检查到跳板机的连接性 # 检查到跳板机的连接性
ssh -v -i path/to/your/private_key -p 36022 ssh@nasp.ob.ac.cn ssh -v -i path/to/your/private_key -p 36022 ssh@nasp.fit
# 检查到实验机的连接性 # 检查到实验机的连接性
ssh -v -i path/to/your/private_key -p 12022 -o ProxyJump=ssh@nasp.ob.ac.cn:36022 <your_user_name>@g7 ssh -v -i path/to/your/private_key -p 12022 -o ProxyJump=ssh@nasp.fit:36022 <your_user_name>@g7
``` ```
如果你无法解决连接问题,请联系集群管理员协助。 如果你无法解决连接问题,请联系集群管理员协助。

View File

@ -6,7 +6,7 @@
本文档默认你已经能够登录实验机,参考:[registry](registry.md)。 本文档默认你已经能够登录实验机,参考:[registry](registry.md)。
## sudo权限 ## sudo权限
只有部分命令能够通过sudo免密运行定义在文件[nasp](https://git.nasp.ob.ac.cn/NASP/registry/src/branch/main/scripts/nasp)中,列出如下: 只有部分命令能够通过sudo免密运行定义在文件[nasp](https://git.nasp.fit/NASP/registry/src/branch/main/scripts/nasp)中,列出如下:
- `docker` - `docker`
- `reboot` - `reboot`
- `whoami` - `whoami`
@ -20,14 +20,14 @@
## 启动docker容器 ## 启动docker容器
实验机使用容器化管理。所有实验环境均在docker环境中裸机环境仅用于启动容器、配置防火墙等。 实验机使用容器化管理。所有实验环境均在docker环境中裸机环境仅用于启动容器、配置防火墙等。
裸机环境均配置了`dnew`命令([源码](https://git.nasp.ob.ac.cn/NASP/configurations/src/branch/dev/testbed/scripts/dnew)),方便用户交互式地启动容器。 裸机环境均配置了`dnew`命令([源码](https://git.nasp.fit/NASP/configurations/src/branch/dev/testbed/scripts/dnew)),方便用户交互式地启动容器。
``` ```
================== dnew =================== ================== dnew ===================
=== contact: xd21@mails.tsinghua.edu.cn === === contact: xd21@mails.tsinghua.edu.cn ===
Use GPU? [yN]: y # 按需选择,默认否 Use GPU? [yN]: y # 按需选择,默认否
Use RDMA? [yN]: y # 按需选择,默认否 Use RDMA? [yN]: y # 按需选择,默认否
Image name (default: git.nasp.ob.ac.cn/nasp/nasp-ubuntu): # 如果没有特殊要求,直接回车 Image name (default: git.nasp.fit/nasp/nasp-ubuntu): # 如果没有特殊要求,直接回车
Start up command (default: /etc/startup.sh): # 如果没有特殊要求,直接回车 Start up command (default: /etc/startup.sh): # 如果没有特殊要求,直接回车
Will run: Will run:
===== =====
@ -39,7 +39,7 @@ sudo docker run -d --net=host -v /home2:/home2 \
--runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=all \ --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=all \
--device=/dev/infiniband/rdma_cm --device=/dev/infiniband/issm0 \ --device=/dev/infiniband/rdma_cm --device=/dev/infiniband/issm0 \
--device=/dev/infiniband/umad0 --device=/dev/infiniband/uverbs0 \ --device=/dev/infiniband/umad0 --device=/dev/infiniband/uverbs0 \
-it git.nasp.ob.ac.cn/nasp/nasp-ubuntu /etc/startup.sh -it git.nasp.fit/nasp/nasp-ubuntu /etc/startup.sh
===== =====
Start the container? [yN]: # 检查上面的命令,选择是否执行 Start the container? [yN]: # 检查上面的命令,选择是否执行
``` ```
@ -62,7 +62,7 @@ Start the container? [yN]: # 检查上面的命令,选择是否执行
通过`dnew`脚本创建的容器会把物理机上`/home2`挂载到容器内的`/home2`,建议将所有的重要数据都放置在这里面。容器内除了`/home2`之外的文件,都可能会在容器销毁后丢失。 通过`dnew`脚本创建的容器会把物理机上`/home2`挂载到容器内的`/home2`,建议将所有的重要数据都放置在这里面。容器内除了`/home2`之外的文件,都可能会在容器销毁后丢失。
### 安装软件 ### 安装软件
默认的`git.nasp.ob.ac.cn/nasp/nasp-ubuntu`镜像是一个基于Ubuntu 20的、包含cuda和rdma支持的镜像。要安装软件使用`apt`,用法与物理机上无异。 默认的`git.nasp.fit/nasp/nasp-ubuntu`镜像是一个基于Ubuntu 20的、包含cuda和rdma支持的镜像。要安装软件使用`apt`,用法与物理机上无异。
``` ```
sudo apt update sudo apt update
@ -85,12 +85,12 @@ sudo apt install zsh
随后,你就能从跳板机直接访问容器内部了。如: 随后,你就能从跳板机直接访问容器内部了。如:
```bash ```bash
ssh -p <your_port> -o ProxyJump=ssh@nasp.ob.ac.cn:36022 root@g7 ssh -p <your_port> -o ProxyJump=ssh@nasp.fit:36022 root@g7
``` ```
> 这里使用了`root`用户,即你在容器内的用户名。如果你在容器内改用了别的用户,请相应修改。 > 这里使用了`root`用户,即你在容器内的用户名。如果你在容器内改用了别的用户,请相应修改。
## 自动开关机 ## 自动开关机
按照FIT楼的消防要求放置在4-103的服务器应当每晚关机。自动关机的流程是每晚的22:59启动一个[关机脚本](https://git.nasp.ob.ac.cn/NASP/configurations/src/branch/dev/testbed/scripts/schedule-poweroff.sh),该关机脚本的逻辑是:检查是否存在文件`/tmp/skip-poweroff`若存在则将其删除然后脚本直接退出若不存在则启动时长为一小时的自动关机。机器将在23:59自动关闭。 按照FIT楼的消防要求放置在4-103的服务器应当每晚关机。自动关机的流程是每晚的22:59启动一个[关机脚本](https://git.nasp.fit/NASP/configurations/src/branch/dev/testbed/scripts/schedule-poweroff.sh),该关机脚本的逻辑是:检查是否存在文件`/tmp/skip-poweroff`若存在则将其删除然后脚本直接退出若不存在则启动时长为一小时的自动关机。机器将在23:59自动关闭。
自动开机是通过Wake-on-lan实现的每天早上由g18分批向实验机发送唤醒包。相关配置文件可以在[这里](https://git.nasp.ob.ac.cn/NASP/configurations/src/branch/dev/g18/wakeonlan)找到。 自动开机是通过Wake-on-lan实现的每天早上由g18分批向实验机发送唤醒包。相关配置文件可以在[这里](https://git.nasp.fit/NASP/configurations/src/branch/dev/g18/wakeonlan)找到。