云计算百科
云计算领域专业知识百科平台

导师让你给实验室搭服务器?不会?我教你

        深度学习越来越流行,很多导师即使之前不做这个方面,后面可能也会开始涉及深度学习,可能哪天心血来潮就买了一台服务器,对你说:来,你把咱实验室的服务器给搭起来,方便你们以后跑项目。你一脸懵逼,服务器是啥?怎么搭?我也没用过啊。

        服务器就相当于一台性能很好的电脑,而且带有显卡,深度学习的项目就是靠着显卡训练的。而且这台服务器还可以提供给多个人使用,不是某一个人的电脑。那么为了方便多人使用和管理,一般服务器都是装的Linux系统,并且给每一个人创建用户,大家通过远程连接,在自己的电脑上就可以实现控制这台服务器进行训练,而且相互不影响。

        那么以下就是怎么给服务器装系统,配置环境,启动远程控制。

一、制作U盘启动盘

工具:

  • 一个32G以上的U盘
  • Rufuse镜像烧录软件下载:https://cn.ultraiso.net/xiazai.htmlRufus – 轻松创建 USB 启动盘https://cn.ultraiso.net/xiazai.html
  • Ubuntu系统镜像:https://ubuntu.com/download/alternative-downloads(官网下载的是种子需要再用迅雷下载成iso系统镜像文件),我这里安装的是Ubuntu 22.04.5
  • 制作过程:(在其他windows电脑上制作就行)

    1.打开Rufuse,设备选择准备好的U盘,引导类型选择ISO镜像文件,其他参数如图,点击开始

    2.选择ISO,点击OK

    3.选择是,选择确定,等待制作完成即可。(使用Rufuse会自动格式化U盘,所以比较方便不需要自己去格式化)

    二、使用U盘给服务器安装系统

    插入U盘到需要重装的电脑上,启动电脑,按F1(或者其他),进入BIOS模式,选择U盘的Ubuntu系统,进入,根据引导安装。

    参考视频:U盘安装服务器Ubuntu18.04系统_哔哩哔哩_bilibili

    参考文章:Ubuntu 安装教程_erase disk and install ubuntu-CSDN博客

    安装的时候因为准备整机用于服务器,所以我直接清除了整个磁盘并安装,如果想要安装双系统的需要注意下,然后有的博主也选择something else自定义分盘(小白不懂,感觉后面有坑)。

     更换下载源,更新软件

    【Ubuntu】超详细安装Ubuntu系统_ubuntu安装-CSDN博客

    三、安装显卡相关

    包括了显卡驱动、cuda、cudnn。

    显卡驱动

    1.选择软件和更新,选择附加驱动,选择第一个驱动,点击应用更改,输入密码,等待更新完毕,打开终端输入

    sudo apt-get install -f

    重启即可。

    cuda

    2.查看cuda版本,终端输入nvidia-smi,右上角CUDA Version就是cuda的版本12.4,同时可以查看显卡信息,这里是2张4090的显卡。

    3.进入cuda官网,下载对应版本的cuda,我的cuda版本是12.4,所以就下载对应12.4的cuda,记住下载的cuda只能比你电脑的低,不能高。

    版本选择好后,还需要选择对应的操作系统等,操作系统选择Linux,架构选择x86_64,平台选择Ubuntu,我电脑装的是Ubuntu22.04,因此版本选择20.04,安装方式选择runfile(local),然后下面会根据前面的选择生成安装命令,如图

     

    4.终端按顺序执行两条命令(终端粘贴是ctrl+shift+v):

    第一条命令下载cuda_12.4.0_550.54.14_linux.run文件,第二条命令安装CUDA。

    wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run
    sudo sh cuda_12.4.0_550.54.14_linux.run

    上下按键选择continue,回车确认

    输入accept,回车

    显卡驱动已经装了,点击空格去掉显卡驱动(driver),选择install回车安装

    安装成功

    如果第二条命令没反应则先安装cuda所需依赖库,使用如下命令后再执行第二条

    sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

    5.添加CUDA环境变量

    CUDA安装完成后,需要配置变量环境才能正常使用。首先在终端输入

    sudo gedit ~/.bashrc

    打开.bashrc文件,在文件末尾添加如下命令

    export PATH=$PATH:/usr/local/cuda/bin
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
    export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64

    保存后终端输入source ~/.bashrc使之生效,这时,我们就可以在终端输入nvcc -V查看CUDA的安装信息。

    cudnn

    6.进入cudnn官网,下载对应版本的cudnn,我的cuda是12.4,所以下载第一个,for CUDA 12.x,并选择对应Linux版本,

    下载后使用终端打开文件所在文件夹,解压并进入该文件:

    tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz
    cd cudnn-linux-x86_64-8.9.7.29_cuda12-archive

    复制cudnn终以下文件到cuda对应的文件夹中:

    sudo cp ./include/cudnn*.h /usr/local/cuda/include

    sudo cp -p ./lib/libcudnn* /usr/local/cuda/lib64

    授予权限

    sudo chmod a+r /usr/local/cuda-12.4/include/cudnn.h /usr/local/cuda-12.4/lib64/libcudnn*

    查看信息(版本号换成自己的)

    cat /usr/local/cuda-12.4/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

    至此完成显卡配置相关安装。

    四、Anaconda安装

    1.进入naconda官网,点击download直接下载

    2.下载完成后,打开文件位置终端,输入以下命令安装,一直按空格和yes,最后出现‘Thank you for installing Anaconda3!’表示安装成功。此时打开一个新的终端会直接进入(base)环境。

    bash Anaconda3-2024.10-1-Linux-x86_64.sh

    如果安装完没有显示(base),请参考安装了anaconda之后为什么不显示(base)_anaconda prompt没有base-CSDN博客

    (这里有一个坑,默认安装在用户目录下的anaconda3,安装后的Anaconda3只能在你当前的用户下使用,换了别的用户就不能用了,为了所有用户都能使用,避免重复安装anaconda3,修改到一下安装目录:)

    3.设置环境变量

    sudo vim /etc/profile

    在/etc/profile文件末尾添加下面2行命令,按Esc,输入:wq保存退出

    export ANACONDA_HOME=/usr/local/anaconda3
    export PATH=$ANACONDA_HOME/bin:$PATH

    刷新

    source /etc/profile

    4.授权所有用户使用

    vim /etc/skel/.bashrc

    在文件最后添加以下代码:

    # >>> conda initialize >>>
    # !! Contents within this block are managed by 'conda init' !!
    __conda_setup="$('/usr/local/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
    if [ $? -eq 0 ]; then
    eval "$__conda_setup"
    else
    if [ -f "/usr/local/anaconda3/etc/profile.d/conda.sh" ]; then
    . "/usr/local/anaconda3/etc/profile.d/conda.sh"
    else
    export PATH="/usr/local/anaconda3/bin:$PATH"
    fi
    fi
    unset __conda_setup
    # <<< conda initialize <<<

    五、Anaconda的简单使用

    1.创建虚拟环境

    conda create -n env_name python==3.8

    这表示创建python版本为3.8、名字为env_name的虚拟环境。

           创建后,env_name文件可以在Anaconda安装目录envs文件下找到。在不指定python版本时,自动创建基于最新python版本的虚拟环境。

    2.查看所有虚拟环境列表

    conda env list

    3.激活虚拟环境

    conda activate env_name

    4.退出虚拟环境

    conda deactivate

    5.删除虚拟环境

    #删除虚拟环境及其中所安装的包
    conda remove –name env_name –all

    #只删除虚拟环境中的某个或者某些包
    conda remove –name env_name package_name

    6.导出虚拟环境

            很多的软件依赖特定的环境,我们可以导出环境,这样方便自己在需要时恢复环境,也可以提供给别人用于创建完全相同的环境。

    #获得环境中的所有配置
    conda env export –name myenv > myenv.yml
    #重新还原环境
    conda env create -f myenv.yml

    7.依赖包管理

    #查看当前环境安装的依赖包
    conda list

    #在当前虚拟环境安装包
    conda install numpy
    conda install numpy=0.20.3
    conda update numpy

    #卸载包
    conda uninstall package_name

    8.换源(中科大源)

    conda config –add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
    conda config –add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
    conda config –add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
    conda config –add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
    conda config –add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
    conda config –add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/

    conda config –set show_channel_urls yes

    9.打开终端是否主动激活anaconda环境

    conda config –set auto_activate_base false #修改为true或false

    六、配置SSH

    1.升级apt-get

    sudo apt-get update # 更新源
    sudo apt-get upgrade# 更新已安装包

    2.安装ssh服务器、ssh客户端

    sudo apt install openssh-server# 安装ssh服务器
    sudo apt install openssh-client# 安装ssh客户机

    3.下载vim

    sudo apt-get remove vim-common# 卸载vim-common版本
    sudo apt-get install vim # 下载最新版本的vim

    4.配置ssh

    sudo vi /etc/ssh/ssh_config

    点击Insert键,去掉# 去掉PasswordAuthentication yes前面的"#"号

    同时把端口打开,去掉# Port 22前面的#号,端口号22

    最后,点击Esc,输入:wq退出

    5.配置sshd

    sudo vi /etc/ssh/sshd_config

    在PermitRootLogin prohibit-password这行行首加上"#" 在此行下面添加新一行

    PermitRootLogin yes

    同时把端口打开,去掉# Port 22前面的#号,端口号22

    最后,点击Esc,输入:wq退出

    6.开启防火墙,并让防火墙允许ssh服务通过防火墙

    sudo ufw enable
    sudo ufw allow ssh
    sudo ufw allow 22/tcp

    七、SSH的简单使用

    1.启动SSH

    /etc/init.d/ssh start

    #或者
    sudo service ssh start

    2.重启SSH

    sudo systemctl restart ssh
    #或者
    sudo systemctl enable –now ssh

    3.关闭SSH

    sudo systemctl disable –now ssh

    4.开启SSH端口

    sudo ufw allow ssh

    开启后可以从任何远程计算机通过SSH连接到Ubuntu系统

    连接指令:

    #ssh linux用户名@linuxIP地址
    ssh user@192.168.00.0

    5.查看SSH是否在运行,亮绿灯表示运行

    sudo systemctl status ssh

    6.允许SHH开启自启动

    sudo systemctl enable ssh

    八、路由器端口转发

    1.首先查看电脑的ip地址,使用以下命令查看网卡信息,inet后面的192.168.0.00就是你服务器的ip地址

    sudo apt install net_tools#先安装最新版本的net_tools

    ifconfig

    2.使用其他电脑打开cmd,尝试ping 服务器ip 地址,发现连接超时ping不通,按理来说校园网就是一个局域网,是可以直接ping通并且远程连接的,后来发现,这个服务器和其他几台服务器使用一个路由器连接的,相当于被路由器阻拦了,没办法通过校园网直接连接。

    ping 192.168.0.0

    3.路由器端口转发,查看路由器的管理IP,一般都贴在路由器上,在服务器上浏览器上直接打开这个ip地址就可以进入路由器后台,我们需要做的就是在路由器后台添加一个端口转发,把路由器这个局域网下服务器的端口通过路由器转发到路由器外(校园网)的局域网下,那么其他在校园网下的电脑就可以远程连接了。

    在路由器后台找到端口映射(端口转发),不同路由器位置可能不一样,我这是荣耀的路由器,在NAT服务下,这里服务名随便起,设备就选择服务器,主机IP就是服务器的IP,内部端口就是你服务器设置SSH端口22,外部端口我看有人说1-1000是保留端口最好别写,推荐写10000以上的端口,这个外部端口就是其他电脑连接这台服务器的端口了,例如我这里设置的是22222。

    4.成功连接:配置完毕后点击保存即可(有的路由器可能需要重启),然后查看路由器的IP地址,点击路由器信息,就可以看到IPv4下有一个WAN IP(10.60.166.55),这个IP地址就是已经远程连接的IP地址的,而不是用服务器的IP地址连接,然后端口也是路由器的外部端口(22222),路由器会自动转发。

    ssh 用户名@路由器IP地址 -p 外部端口号

    ssh npu225@10.60.166.55 -p 22222

    九、服务器远程使用

            实验室的服务器很多人使用,所有一般来说,我们为每一个人都创建一个用户,每个用户在/home目录下都有自己的一个文件夹,大家登录的时候登录自己的账号,然后把文件放在自己的文件夹下,这样就不会混乱了。

    1.激活root用户:root用户具有操作系统的所有权限,终端输入一下命令,给root设置密码

    sudo passwd root

    2.切换root用户:命令行前面会变成root@npu225-07,root表示你现在登录的是root账号

    su root

    3.创建新用户

    useradd -m xiaoming #创建名为xiaoming的用户
    passwd xiaoming #给用户xiaoming设置秘密

    4.退出root用户

    exit

    5.远程连接:

            至于vscode,pycharm如何远程连接服务器网上很多视频,或者用Xterminal,Xshell等其他工具都可以,只要记住连接的服务器IP地址、端口号、用户名、密码就可以远程连接了。

    ssh xiaoming@10.60.166.55 -p 22222

    参考链接:

    0启动u盘制作与ubuntu系统安装_哔哩哔哩_bilibili

    服务器Ubuntu18.04系统盘(U盘启动)制作_哔哩哔哩_bilibili

    使用rufus制作Ubuntu安装U盘_哔哩哔哩_bilibiliUbuntu20.04配置深度学习环境(全网最细最全)-CSDN博客使用rufus制作Ubuntu安装U盘_哔哩哔哩_bilibili

    Ubuntu 22.04.5 LTS深度学习环境配置个人总结(2024.9.27)_ubuntu22.04.5-CSDN博客

    Ubuntu: 配置ssh,保姆级教程_ubuntu配置ssh-CSDN博客

    路由器端口映射(虚拟服务器)+ssh配置_端口映射远程ssh 路由器-CSDN博客

    什么是端口转发?路由器如何正确的设置端口转发和范围转发?(外网访问必备设置)_路由器端口转发-CSDN博客

    路由器端口转发&远程桌面控制:一电脑连接不同局域网的另一电脑-CSDN博客

    linux安装anaconda并授权给所有用户使用_anaconda 权限-CSDN博客

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 导师让你给实验室搭服务器?不会?我教你
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!