Skip to content
Snippets Groups Projects
Commit 81ecb00e authored by Jingyi Xie's avatar Jingyi Xie
Browse files

Update 集群目录挂载至本地指南.md

parent 5174e018
No related branches found
No related tags found
No related merge requests found
......@@ -2,41 +2,56 @@
## sshfs 是什么
sshfs 可以将远程服务器的某个目录挂载至本地,从而你可以像操纵本地文件一样操纵远程服务器的文件。比如远程服务器上有目录 `/ghome/xiejy/`,目录结构为
sshfs 可以将远程服务器的某个目录挂载至本地,从而你可以像操纵本地文件一样操纵远程服务器的文件。比如远程服务器上有目录 `/ghome/remote_user/`,目录结构为
```
/ghome/xiejy/
/ghome/remote_user/
├── a.txt
└── some_directory
└── b.txt
```
使用 sshfs,你可以将该远程目录挂载到某个**本地目录**(比如 `/home/hsfzxjy/remote/`),使得该目录呈现出相同的结构:
使用 sshfs,你可以将该远程目录挂载到某个**本地目录**(比如 `/home/local_user/remote/`),使得该目录呈现出相同的结构:
```
/home/hsfzxjy/remote/
/home/local_user/remote/
├── a.txt
└── some_directory
└── b.txt
```
你可以在**本地**用 VSCode 打开 `/home/hsfzxjy/remote` 进行开发,从而无需占用 gwork 上的计算资源。在此目录下的所有修改都会实时反映到服务器端。
你可以在**本地**用 VSCode 打开 `/home/local_user/remote` 进行代码编辑,从而无需占用 gwork 上的计算资源。在此目录下的所有修改都会实时反映到服务器端。
## 如何挂载
### 本地机器为 Linux 的情形
以下假设你的集群用户名是 `xiejy`,你的本地用户名是 `hsfzxjy`,本地的 HOME 目录为 `/home/hsfzxjy`。你想把远程目录 `/ghome/xiejy/`挂载到本地的 `/home/hsfzxjy/remote`。请自行将其替换为你想要的字符串。
以下假设你的集群用户名是 `remote_user`,你的本地用户名是 `local_user`,本地的 HOME 目录为 `/home/local_user`。你想把远程目录 `/ghome/remote_user/`挂载到本地的 `/home/local_user/remote`。请自行将其替换为你想要的字符串。
**1. 安装 sshfs** 以 Ubuntu 为例,在本地执行 `sudo apt install sshfs`
**2. 确保本地挂载点存在** 在本地执行 `mkdir /home/hsfzxjy/remote/`
**2. 确保本地挂载点存在** 在本地执行 `mkdir /home/local_user/remote/`
**3. 确保可以无密码登录 gwork** 你可以通过 `ssh -p39099 xiejy@202.38.69.241` 测试是否能无密码登录,如果不能,执行以下步骤。
**3. 确保可以无密码登录 gwork** 你可以通过 `ssh -p39099 remote_user@202.38.69.241` 测试是否能无密码登录,如果不能,执行以下步骤。
3.1 在本地,如果 `/home/hsfzxjy/.ssh/id_rsa.pub` 存在,跳至 3.2。否则在本地执行 `ssh-keygen`,所有提示都按回车就可以。
3.1 在本地,如果 `/home/local_user/.ssh/id_rsa.pub` 存在,跳至 3.2。否则在本地执行 `ssh-keygen`,所有提示都按回车就可以。
3.2 在本地,执行 `ssh-copy-id -i ~/.ssh/id_rsa -p39099 xiejy@202.38.69.241`
3.2 在本地,执行 `ssh-copy-id -i ~/.ssh/id_rsa -p39099 remote_user@202.38.69.241`
**4. 挂载 sshfs** 在本地执行 `sudo sshfs -o IdentityFile=/home/hsfzxjy/.ssh/id_rsa -o allow_other -p39099 xiejy@202.38.69.241:/ghome/xiejy /home/hsfzxjy/remote`
**4. 挂载 sshfs** 在本地执行 `sudo sshfs -o IdentityFile=/home/local_user/.ssh/id_rsa -o allow_other -p39099 remote_user@202.38.69.241:/ghome/remote_user /home/local_user/remote`
注:挂载点在本地机器重启后会失效,届时需要按照第四条重新挂载。
### 本地机器为 Windows 的情形
参考 https://stackoverflow.com/questions/67182778/mounting-linux-fs-in-windows-10-using-sshfs
**1. 安装 WinFsp** https://github.com/winfsp/winfsp/releases/tag/v1.9
**2. 安装 sshfs-win** https://github.com/winfsp/sshfs-win/releases/tag/v3.5.20357
**3. 打开 Windows 资源管理器** 地址栏输入 `\\sshfs.r\remote_user@202.38.69.241!39099\ghome\remote_user`,输入集群的密码,即可访问服务器上 `/ghome/remote_user` 中的内容。
## 注意事项
1. 不要向挂载点拷贝大文件。大文件的上传请经由 gproc 节点传输。
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment