将闲置笔记本配置成远程GPU服务器,并通过IPv6连接

下载Centos7并安装

前往阿里云镜像下载centos7镜像,并制作启动盘安装

配置Centos7

1、换源

以Centos7为例

1
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
1
yum makecache

2、基本配置

首先将centos设置成合盖不休眠,方便随时远程访问

1
vim  /etc/systemd/logind.conf

把HandleLidSwitch前面的#去掉并将后面的suspend修改为lock

退出vim后执行该配置

1
systemctl restart systemd-logind

3、设置IPv6 DDNS

这里采用的是Newfuture的ddns组件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
wget https://github.com/NewFuture/DDNS/archive/refs/tags/v2.10.3.tar.gz
tar -zxvf v2.10.3.tar.gz
cd DDNS-2.10.3
python3 run.py -c config.json #会报错,并在当前文件夹下生成config.json 模板,对其进行配置
# 如果没有按照python的话,会运行不了,请使用 apt install python3 来安装
vim config.json
#这里采用的是阿里云解析服务器,大致情况如下
{
"$schema": "https://ddns.newfuture.cc/schema/v2.8.json",
"debug": false,
"dns": "alidns", # 这里要修改为你的域名所在的平台对应名称
"id": "AccessKey ID", #在阿里云控制台申请获得
"index6": "default",
"ipv6": [
"www.你的域名.com",
"ipv6.你的域名.com",
"你的域名.com"
],
"proxy": null,
"token": "AccessKey Secret", #在阿里云控制台申请获得
"ttl": null
}

# 模板里面还有 index4 ipv4,因为我解析到固定的服务器ip了,所以删掉了相关的配置,避免被修改
# 运行下列命令,使得配置生效
python3 run.py -c config.json

定时监测IPv6并更新

1
2
3
4
5
./systemd.sh install
vim /lib/systemd/system/ddns.timer
# 将其中 OnUnitActiveSec=5m 修改为你希望的数值。这里是5分钟, 可以改为24h之类
# 卸载定时刷新配置
./systemd.sh uninstall

安装Anaconda和CUDA

从清华源下载anaconda

1
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.11-Linux-x86_64.sh

安装

1
sh Anaconda3-2021.11-Linux-x86_64.sh

激活Anaconda

1
2
3
sudo vim /etc/profile
PATH=/root/anaconda3/bin:$PATH
source /etc/profile

安装Nvidia驱动

1
yum install kernel-devel #安装基础环境依赖

去Nvidia官网下载驱动

https://www.nvidia.cn/Download/index.aspx?lang=cn

找到下载链接用wget下载

1
wget http://cn.download.nvidia.com/tesla/450.51.06/NVIDIA-Linux-x86_64-450.51.06.run

屏蔽默认的nouveau

1
2
su root  # 切换到root用户
vim /lib/modprobe.d/dist-blacklist.conf

将nvidiafb注释

1
# blacklist nvidiafb 

并添加以下语句

1
2
blacklist nouveau
options nouveau modeset=0

重建initramfs image

1
2
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut /boot/initramfs-$(uname -r).img $(uname -r)

修改运行模式为文本模式,并重启

1
2
systemctl set-default multi-user.target
reboot

进入驱动下载目录

1
chmod +x NVIDIA-Linux-x86_64-450.51.06.run 

安装驱动(注:①kernel-source-path地址需改为自己的地址;②一路ok+accpet即可)

1
./NVIDIA-Linux-x86_64-450.51.06.run --kernel-source-path=/usr/src/kernels/3.10.0-1127.19.1.el7.x86_64/

安装好后可查看驱动版本号

1
nvidia-smi

使用conda安装cuda toolkit

1
conda install -c anaconda cudatoolkit

小结

到此应该就可以ssh远程连接centos并使用CUDA加速的Pytorch