通过 SCP 和 LXD 配置迁移 CUDA 环境至共享(笔记)
0 引言
在配置完cuda和cudnn后,接下来在这篇文章中,我们将介绍如何将配置好的 CUDA 环境从远程服务器迁移到本地,并通过 LXD 配置共享给其他用户。具体步骤包括通过 scp
下载 CUDA 环境文件夹、手动将文件迁移到指定目录、以及在目标服务器上修改 LXD 配置文件来完成映射。
1 通过 SCP 下载 CUDA 环境文件夹
首先,通过 scp
命令从远程服务器将 CUDA 环境文件夹下载到本地。假设你已经获得管理员权限,并且远程服务器的 IP 地址为 <YOUR_SERVER_IP>
,目标文件夹路径为 /usr/local/cuda-11.6_full
,你可以使用以下命令将文件夹下载到当前工作目录:
scp -r -C -P 24506 root@<YOUR_SERVER_IP>:/usr/local/cuda-11.6_full ./
-r
:递归复制整个目录。-C
:启用压缩,提高传输效率。-P 24506
:指定远程服务器的 SSH 端口号。root@<YOUR_SERVER_IP>
:远程服务器的管理员账号和 IP 地址。这里<YOUR_SERVER_IP>
应该替换为你的服务器的 IP 地址。/usr/local/cuda-11.6_full
:远程服务器上的 CUDA 环境目录路径。./
:当前目录,表示将文件夹下载到本地的当前目录。
此命令执行后,CUDA 11.6 环境文件夹将被复制到本地当前目录。
2 通过资源管理器移动 CUDA 文件
下载完成后,打开本地的资源文件管理器(例如:文件浏览器),访问存放 CUDA 环境文件夹的目录。将下载的 cuda-11.6_full
文件夹剪切并移动到你希望存储的目标文件夹中,例如服务器上的共享目录。
假设目标目录为 /mnt/nas/sever_shared/CUDA/
,可以将 cuda-11.6_full
文件夹剪切并粘贴到该位置。
3 修改 LXD 配置文件进行映射
接下来,使用 SSH 命令登录到目标服务器,假设服务器的 IP 地址是 <YOUR_SERVER_IP>
,端口号为 2222
。输入以下命令进行登录:
ssh s0@<YOUR_SERVER_IP> -p 2222
s0
:目标服务器的用户名。<YOUR_SERVER_IP>
:目标服务器的 IP 地址。-p 2222
:指定 SSH 连接的端口号。
登录成功后,你将进入目标服务器的命令行环境。
登录后,使用 lxc profile edit default
命令编辑 LXD 配置文件,修改 CUDA 环境映射配置。具体操作如下:
lxc profile edit default
该命令会打开默认的配置文件编辑器,通常是 vim
或 nano
。你需要在 devices
部分添加或者修改 CUDA 的映射,确保新的 cuda-11.6_full
目录被正确映射到容器中的 /usr/local/cuda-11.6
路径。
例如,修改后的配置文件部分可能如下所示:
devices:cuda116:path: /usr/local/cuda-11.6readonly: "true"source: /mnt/nas/sever_shared/CUDA/cuda-11.6_fulltype: disk
path
:容器内部的目标路径。readonly: "true"
:只读权限,确保其他用户只能访问不能修改该目录。source
:管理员指定的共享路径(即 CUDA 环境文件夹的路径)。type: disk
:表示这是一个磁盘设备映射。
保存并退出编辑器后,配置修改将立即生效。