关于深度学习服务器配置的一些问题(二)——硬盘挂载、IP配置、端口映射和SSH配置文件

本文内容

  • 硬件环境和系统配置
  • 硬盘挂载
  • 远程访问配置
    • 静态IP分配
      • 第一步,服务器不联网
      • 第二步,服务器联网
    • 其他
  • 端口映射
  • 关于SSH配置文件

本文中远程访问配置仅限于路由器在内网(校园网)中IP不变的情况,使用的路由器为TP-LINK系列

硬件环境和系统配置

服务器为Dell Precision 7920,操作系统Ubuntu 20.04 server,系统安装过程,换源,ssh基本配置,CUDA和驱动安装等内容见上一篇博客:《Dell Precision 7920 Ubuntu 20.04 server 关于深度学习环境配置的一些问题(一)》

硬盘挂载

在Linux下,未挂载的设备无法直接访问其中存储的文件。所谓挂载,指的是将设备(通常是硬盘等存储设备)挂接到已存在的目录上,可以简单理解成将该已存在的目录指向根目录下的/dev文件夹中的硬件设备,从而访问硬件设备中的存储内容。若该目录非空,则以前的内容将不可访问。在Windows中,系统挂载(分配盘符)的工作通常在装机时就已经完成,后续开机不再需要手动操作,而Linux默认情况下每次开机都需要手动挂载硬盘,相对而言比较麻烦。
下面的方法可以实现硬盘的自动挂载。

  • df命令(disk free)查看文件系统的整体磁盘使用量。使用df -h以人们较易阅读的GB, MB, KB 等格式显示使用量;

关于深度学习服务器配置的一些问题(二)——硬盘挂载、IP配置、端口映射和SSH配置文件_第1张图片
其中/dev/sda1/dev/sdb1是服务器上的两块硬盘,此时已挂载到/home/tom_cat/workdir/home/tom_cat/private目录下。

  • fdisk是磁盘分区命令,fdisk -l列出系统设备。
    关于深度学习服务器配置的一些问题(二)——硬盘挂载、IP配置、端口映射和SSH配置文件_第2张图片
    这里截取了一段,设备为/dev/sda,分区为/dev/sda1
  • 以上是基本信息查询,接下来执行自动挂载。通过命令sudo blkid /dev/sda1查询设备的UUID和磁盘格式(本文中的硬盘已事先格式化分区为NTFS);
    blkid
  • sudo vim /etc/fstab在文件末尾添加如下内容:
    fstab
    其中第二项是需要硬盘挂载到的目录,第三项是文件系统,除了NTFS另有ext2和ext4等等,根据硬盘情况调整。第四项是挂载选项,第五项是dump(备份)选项(用一个数字表示),第六项(接下来的数字)表示文件系统检查选项,见fstab文件的详细说明。简要地说,第四项没有特殊需求defaults即可,第五项选0,若文件系统无需在启动时扫描检查,则设置第六项字段为0,否则为2。
  • 保存退出重启查看效果。

更新:
如果需要将硬盘格式化为Linux支持的ext4类型,则应执行如下操作:

  1. 磁盘物理分区
    使用fdisk工具,执行sudo fdisk /dev/nvmeOn1,其中参数为设备名,磁盘分区命令参数此处不赘述。
    • d逐个删除已存在的分区;
    • n创建新分区,全部选项取默认值即可;
    • t选择分区格式为Linux filesystem一项(如果创建的新分区不为此项则修改为此,否则无需改动);
    • w写入,在写入操作前务必确保数据安全!
  2. 建立逻辑文件系统
    mkfs -t ext4 /dev/nvme0n1p1其中最后一个参数为需要创建文件系统的分区,而非设备名。

注: ext4类型的好处在于可以支持Ubuntu下的文件权限控制。在NTFS格式下,文件系统无法支持该功能,即在NTFS下如果设置了某个目录对某用户无权限,该用户实际上仍能访问此目录。

远程访问配置

在上一篇博客中我已经配置好在本地网络上访问服务器的基本设置,然而忽略了一点,即如果不给服务器分配静态的IP,每一次路由器重启服务器IP都会变,这给访问带来了极大的麻烦。
本文中远程访问配置仅限于路由器在内网(校园网)中IP不变的情况,使用的路由器为TP-LINK系列

静态IP分配

该部分介绍在路由器下如何给服务器配置一个静态的IP,防止其在路由器重启后IP改变从而需要调整用户客户端的很多设置(.ssh文件、IDE默认配置等)。

第一步,服务器不联网

  • 首先确定一个在局域网中没有被其他设备使用过的IP地址。进入TP-LINK管理界面192.168.1.1,软件版本为最新3.0.0,应用管理-IP与MAC绑定
    关于深度学习服务器配置的一些问题(二)——硬盘挂载、IP配置、端口映射和SSH配置文件_第3张图片
  • 选择地址池中一个未使用的IP作为服务器静态IP,这里假设192.168.1.150还未绑定任何设备,将其添加到绑定设置
    关于深度学习服务器配置的一些问题(二)——硬盘挂载、IP配置、端口映射和SSH配置文件_第4张图片
    填入主机名,服务器网卡的MAC地址和192.168.1.150。服务器网卡MAC地址通过ifconfig查看
    关于深度学习服务器配置的一些问题(二)——硬盘挂载、IP配置、端口映射和SSH配置文件_第5张图片
    配置完后路由器上显示cortex已经绑定到192.168.1.150上。
    关于深度学习服务器配置的一些问题(二)——硬盘挂载、IP配置、端口映射和SSH配置文件_第6张图片
  • 重启路由器。

第二步,服务器联网

  • ifconfig enp0s31f6 192.168.1.150可以手动设置服务器IP地址,子网掩码、网关默认即可。
  • 将此命令配置为开机启动,见Ubuntu 20.04 配置开机自启动脚本。打开rc.local配置文件内容如下:
    rc.local
    执行systemctl start rc-local systemctl enable rc-local,重启。
    该部分作为保险策略,也作为开机命令的学习笔记。

其他

  • 注意路由器设置好后一定要重启,作者配置时遇到同一MAC地址即使已绑定,在联网后路由器仍然分配了另一个IP地址给服务器的问题(主机仍在DHCP设备列表内,且IP与MAC映射表中对应同一MAC地址有两项记录),非常头疼,考虑可能是路由器配置没有更新,导致服务器联网时路由器未执行绑定的策略。

端口映射

本文中远程访问配置仅限于路由器在内网(校园网)中IP不变的情况,使用的路由器为TP-LINK系列
端口映射指的是将服务器的某端口映射到路由器的某端口上,从而在大局域网中通过访问路由器IP及对应端口即可实现等同于访问服务器及其端口的效果。
和前一节相似,在TP-LINK管理界面中选择虚拟服务器应用
关于深度学习服务器配置的一些问题(二)——硬盘挂载、IP配置、端口映射和SSH配置文件_第7张图片
IP地址设置为服务器在本地网络中的地址,这样就可以在校园网内通过ssh [email protected]在学校里的其他校园网接入点访问实验室服务器了,其中10.68.11.93是路由器在校园网中的IP。
重点: 外部端口指的是当远程客户端连接到路由器IP地址时选择的路由器上的端口号;而内部端口指的是对应路由器端口的服务器上的某端口。例如设置端口映射如下:
在这里插入图片描述
注意到SSH连接使用TCP协议,监听22端口。当我们ssh -p 1532 [email protected]时,意味着这样的过程:客户端SSH在客户端22端口连接到路由器上的1532号端口,通过端口映射,该访问被转接到服务器上的22端口,而服务器启动时已经开启了SSH服务,此时接到客户端的SSH连接请求,三次握手建立连接。

关于SSH配置文件

使用VSCode打开ssh配置文件,可以看到如下内容:
ssh
事实上这是有误导性的,Host字段实际上指的是一个假名,而HostName才是真正的目标IP地址,建议改为:

在这里插入图片描述
防止后续修改配置时发生混淆的情况。
Port指连接到的目标端口号,User指登录用户名。

你可能感兴趣的:(服务器,tcp/ip,ubuntu,linux)