基于 EXSi 的服务器配置文档

我就是给服务器捏脚的小妹

March 23, 2023 via CLOUDUH

基于 EXSi 的服务器配置文档

Abstract

基于 VMware EXSi 的服务器配置文档,包含服务器的硬件配置、网络配置、软件配置等。并在 EXSi 上安装了 Windows Server 2022、Ubuntu 20.04 操作系统。该系统的基本参数如表格所示:

类型 型号 数量 备注
CPU Intel Xeon Platinum 8380 2.30GHz 40C80T 2 共计 80C160T
GPU NAVIDA Tesla A100 80GB 2 双 PCIe 通道
内存 Samsung DDR4 RECC 32G 3200Mhz 16 共计 512GB
主板 Supermicro X12DAi-N6 1  
存储 LSI 9364 8I 2G 1 PCIe
存储 Samsung 980 Pro 2TB 1 SSD
存储 致态 TiPlus5000 2TB 1 SSD
存储 Western Digital HUS728T8TALE6L4 8TB 1 SATA3
系统 VMware ESXi 7.0.3    
电源 XX 2000W 电源 2  
电源 华为 UPS2000-G-3KRTS 3kVA 2kW 1  
网络 TP-Link TL-WDR1208L   主路由器
网络 TP-Link TL-XDR3020   无线 AP

1 网络设置

1.1 网络拓扑

整个 207 的网络拓扑如图所示,其中包含 AC、AP、功率设备。

  • AC 多拨主路由器:TP-Link TL-WAR1208
  • AP 路由器:TP-Link TL-XDR3020
  • 服务器:苏泰
  • 网络存储器:黑群晖

将 AP 路由器通过网线连接 AC 路由器之后,在 AP 路由器的管理界面,将其 AP 有线中继的功能打开,并在 AC 路由器的管理页面,将 AP 路由器的 IP 地址固定下来。

对于各类设备的网段设置,按照一下列表做约定:

类型 网段 / IP 地址
主 AC 路由器 192.168.1.1
AP 路由器 192.168.1.2
DHCP 服务器 192.168.100.100 ~ 192.168.100.200
EXSi 服务器 192.168.2.1
Windows Server 192.168.3.1
Ubuntu 192.168.4.1
光伏模拟器 192.168.10.1 ~ 192.168.10.100
程控电子负载 192.168.11.1 ~ 192.168.11.100
其他设备 192.168.1X.1 ~ 192.168.1X.100

1.2 私有 IP 申请

注意校内私有 IP 无法在公网和新校区校园网进行访问,也无法在此 IP 内向公网和新校区校园网发起请求。简单来说,此 IP 仅限于老校区校园网的访问。

信网中心的客服电话:022-27404455 信网中心的老师座机:022-59092118

  • 信网中心领取校园网内部 IP 地址服务申请登记表
  • 填写申请信息,主要申请人(安全责任人)必须为教职工。
  • 找吴润华老师报备一下,填写主管领导
  • 找赵超老师加盖学院公章
  • 准备好登记表、申请老师的身份证原件、一张有钱的银行卡
  • 前往老校区信网中心

人工智能研究院的校园网总机不在本楼,在分配私有 IP 时,选择的总机为第 11 教学楼(这是花了很大功夫才问到的)

1.3 路由配置

前文提到,由于此 IP 仅限于老校区校园网的访问,因此在使用该设备进行一些操作的时候(比如查资料),可能会存在一些困难。因此,在建设网络时,采用了多 WAN 口拨号的形式,并采用路由器的负载均衡功能,即能够保证该设备能够通过私有 IP 进行校内固定访问,也能够通过 PPPoE 拨号实现对于外网的访问。

路由器型号:TP-Link TL-WAR1208L,配备 1Gbps 4 个 WAN 和 5 个 LAN,WAN 端口类型可以随意配置,理论上,可以通过设置 1 个 WAN 固定 IP 访问,另外 3 个 WAN 通过 PPPoE 拨号获取动态 IP。

设置静态 IP 的参数,这些参数都是向信网中心申请时给分配的。

  • IP 地址: 172.xx.xx.x
  • 网关:172.xx.xx.x
  • 子网掩码:255.255.255.0
  • 首选 DNS 服务器:202.xxx.xx.x
  • 备选 DNS 服务器:202.xxx.xx.x

设置 PPPoE 拨号,向校园网 DHCP 服务器申请 IP。

  • 账号:学号
  • 密码:校园网拨号的密码(注意与统一认证平台不同)

由于多 WAN 口,因此路由器的转发规则是随机的(或者是按照负载均衡进行平均的),因此需要设置策略路由的方式来对不同的 WAN 口进行不同的访问策略。TP 官网的教程:[TL-ER7520G] 策略路由(选路)功能设置指导 - TP-LINK商用网络

对于私有 IP 地址的 WAN 1,需要设置所有的 LAN 口设备转发给校园网的 B 类网段。

  • 源地址:LAN口所有地址
  • 目的地址:172.0.0.0 ~ 172.255.255.255
  • 生效接口:WAN 1

对于 PPPoE 拨号的 WAN 2,设置全部即可。

  • 源地址:LAN口所有地址
  • 目的地址:所有
  • 生效接口:WAN 2

1.4 端口转发

由于路由器下挂载许多设备,由于 DHCP 服务器的存在,每个设备的 IP 是会随时变换的。远程访问某个设备的主要方式是通过访问主 IP 的某个端口实现的,通过路由器端口转发,实现对于某个设备的访问(比如 SSH)

注意分配多网段时一定要注意修改子网掩码为 255.255.0.0

在客户端列表,添加已经被 DHCP 服务器的设备,然后在静态地址分配中,修改其 IP 地址,一定要保证修改的 IP 地址在子网掩码的范围内。

可以简单理解,子网掩码就是可定义的范围,比如 255.255.255.0 的 C 类网络中,只能分配 192.168.0.0 ~ 192.168.0.255 共计 256 个 IP 地址;255.255.0.0 的 C 类网络中,只能分配 192.168.0.0 ~ 192.168.255.255 共计 65536 个 IP 地址。

由于 DHCP 的租期问题,更改好静态设备之后,其 IP 不会立马变换过来,最直接的方式就是重启路由器来实现,然后设置端口转发。端口转发设置时,只要对应好内网的 IP 地址和端口,以及外部的端口。

注意不要和常用端口 HTTP-80 / HTTPS-443 等重合,以及不要把常用端口暴露在公网,比如把 SSH-22 端口暴露在网络中,这样很容易被攻击。

1.5 DNS 解析设置*

此设置是可选的,需要申请域名并且绑定 IP

申请和拨号的 IP 都是 B 类网段,记忆比较复杂,为了方便大多数的同学进行访问,可以通过 DNS 云解析的方式,将此 IP 绑定到某个域名上去。通过访问设定好的域名,并且加上端口号,即可实现对于服务器和存储器的访问。

注意,将 IP 绑定到域名并不意味着上公网,只是将 IP 与该域名进行绑定,不在校园网网段中的客户端仍然无法访问。通过域名访问该服务器的基本流程的概述:(1) 客户端访问域名。(2) 客户端询问校园网 DNS 服务器:此域名的 IP 是多少?(3) 校园网 DNS 服务器并不知情,于是问更高级的根 DNS 服务器。(4) 根 DNS 服务器应答:此域名的 IP 为 172.X.X.X(5) 客户端访问 172.X.X.X,最终实现连接。

在阿里云的云解析 DNS 中对选定的域名进行设置,例如域名为 xxxcta.top,绑定的 IP 地址为 172.xx.xx.x

  • 主机记录:域名的前缀,如果设置成 AAA,则访问地址为:AAA.xxxcta.top
  • 记录类型:对于固定 IP,选择 A 即可。
  • 记录值:即绑定的 IP,注意不可以携带端口。
  • TTL:默认 10 分钟即可。

如何直接通过域名访问某个端口的解决方案:【问题】域名如何绑定IP端口(亲测)_域名如何绑定端口_古月大仙1988的博客-CSDN博客

2 安装 EXSi 系统

注意,在安装 EXSi 之前,务必保证网络条件已经设置成功。因为后续所有的管理操作基本都是通过 WEB 管理页面进行操作的。

服务器有两个网口,MAC 地址不同,正常使用时,连接上面的网口(系统上是 1 或者 2),下面的网口是主板的管理网口(系统序号为 0 或 1)

主板管理界面也是通过 IP 访问的,初始密码在主板中间。

账户名和密码已经修改,一般没特殊需要不用进去。

2.1 镜像启动

点击 F11,进入启动菜单

选择第三个 UEFI: VendorCoProductCode

进入安装系统

2.2 安装 EXSi

跟着页面一步一步来即可。

选择好安装的硬盘

设置好密码,注意这里的密码必须要包含特殊字符和大小写

等待安装完成。

安装完成之后,是这样的:

可以通过 F2 进入管理菜单,对于服务器的 IP 进行管理,如果 IP 能够正常访问的话,就没必要修改了。

2.3 配置 EXSi

配置 EXSi 之前,一定要记得给服务器分配一个固定 IP,方便以后访问

通过个人电脑的浏览器访问服务器的 IP 地址:

输入账户名和密码,就是之前设置的那个,然后进入管理页面

2.4 配置阵列卡

狗日的,RNM,退钱

服务器通过 RAID 阵列卡走 PCIE 读取硬盘,机柜里硬盘笼和 RAID 阵列卡有两个线,目前缺一根,已经让供应商补发了。

2.4.1 建立数据存储池

2.4.2 给虚拟机添加硬盘

  • 磁盘置备选择:厚置备,置零(不可以选择其他的
  • 磁盘模式选择:独立-持久
  • 共享选择:多写入器共享(不同的虚拟机可以同时添加这一块盘,做到数据互通)

选择存储容量

等待置备完成(很慢)

3 安装 Windows Server

安装 Windows Server 2022 而不是 Windows 10 的主要原因是,Server 支持多用户同时访问,但是普通 Windows 系统不能同时共存。Windows Server 主要有以下几个版本:

  • Windows Server 2022 Standard
  • Windows Server 2022 Standard(带桌面体体验)
  • Windows Server 2022 Data Center
  • Windows Server 2022 Data Center(带桌面体体验)

Standard 与 DataCenter 别无二致,带桌面体验意味着拥有与 Windows 10 一样的 UI 操作界面。

3.1 创建虚拟机

系统镜像的下载地址:MSDN, 我告诉你 - 做一个安静的工具站,这个网站需要配合种子下载器进行下载,当然我也放了一份在 NAS 里面,常用软件里面找就可以了。

在虚拟机界面创建虚拟机,镜像文件是需要自己准备的。

这里不是代表可以直接安装,他只是让你选择你要安装的系统类型,以便 EXSi 能够做出相应的配置。

在资源分配的时候,CD/DVD 记得选择传到系统中的镜像文件。

然后在虚拟机选项中,将引导方式固件选择为 EFI

关于资源分配的问题,这个视频做了很详细的讲解:[10分钟做全网最强的ESXI速通视频](https://www.youtube.com/watch?v=nVzitN-uA54

  • CPU 内核数:给他分配的内核数量,最大内核数量为服务器的 CPU 最大线程。
  • CPU 插槽:虚拟化的 CPU 数量,选择 2 最好,多插槽可能不适配。
  • 每个插槽的内核数量:CPU 内核数 / CPU 插槽
  • 热插拔:可以在虚拟机运行的时候,手动添加 CPU 内核。
  • 预留:EXSi 分配资源最小频率(总共 180GHz),不会被其他抢走。
  • 限制:EXSi 分配资源最大频率,任务再多也不会超过这个限制。
  • 份额:优先级,在多虚拟机抢资源的时候管用。
  • 硬件虚拟化:关着,否则不能直通显卡。
  • IOMMU:开着,在核心超过128的时候,必须开启。

CPU 内核数量可以等于总体的数量,因此CPU是可以超频的。

硬件虚拟化相当于告诉系统我此时此刻就是一个虚拟机,这样的情况下,是不能显卡直通的。

  • E1000e:一个虚拟出来的物理网卡,在 Windows 上就是一个物理网卡。
  • SR-IOV:网卡直通技术,I210 是支持的。
  • VMXNET 3:直接摊牌了,我就是 VM 的虚拟网卡。

最后整体的配置如图片所示:

3.2 Windows 激活

安装步骤与 Windows 10 的安装没什么区别,注意选择带图形界面的版本。

将以下代码复制到记事本中,保存成 cmd 后缀,然后运行,即可完成激活。

slmgr /upk
slmgr /ipk WX4NM-KYWYW-QJJR4-XV3QB-6VM33
slmgr /skms kms.03k.org
slmgr /ato

激活码和 KMS 服务器要是不对,就对应版本找一下,肯定没问题。

3.2 显卡驱动安装

在参数中配置添加两个键值,这样的操作是为保证添加显卡后能够正常启动。

pciPassthru.use64bitMMIO = TRUE
pciPassthru.64bitMMIOSizeGB = 640

理论上,第二个值是总显存的 2 倍数,但是我们实测是 4 倍,原因未知,但是能用。

在虚拟机配置中安装 PCI 设备,两张显卡可以同时上。

驱动下载:[Data Center Driver for Windows 474.14 Windows Server 2022 NVIDIA](https://www.nvidia.cn/download/driverResults.aspx/197853/cn/)

然后进行安装就可以了,一路精简安装。

之前安装遇到的问题,不要使用 RDP 进行显卡驱动的安装,因为可能会面临显示冲突的问题,导致无法继续安装。建议直接在 Vsphere中进行安装

3.4 创建用户

计算机管理——本地用户和组——用户,创建用户。

本地安全策略——安全设置——账户策略——密码策略,可以关闭密码必须符合复杂性要求

对已经存在的用户设置管理员。

3.4 远程桌面

开启远程访问功能,控制面板——系统和安全——系统——远程设置——远程——远程桌面——允许远程连接到此计算机。

随后,添加可以远程访问的用户。

开启远程之后,目前只能同时连接两个用户,需要进一步设置授权才能继续使用:

参考这篇文章:Windows Server 远程桌面服务配置和授权激活

打开服务器管理器,添加角色和功能

完成之后,还要添加授权

右键选择激活服务器,打开服务器激活向导:

连接方法选择Web浏览器:

根据提示打开远程桌面授权网站,选择启用许可证服务器:

将许可 ID 复制到向导中去,即可激活许可证服务器。

然后,开始许可证安装向导

选择每用户访问许可,协议号码可以填写,数量可以填写任意:

6565792
4954438
6879321
5296992

然后完成激活。

还需要在本地组策略中,设置最大可同时登陆的人数

打开本地组策略,在运行中输入 gpedit.msc,依次选择计算机配置-管理模板-Windows组件-远程桌面服务-远程桌面会话主机-连接

RDP 的端口号为 3389,要在路由器的配置中进行设置端口转发。

3.5 设置文件夹权限

对于一些特殊的文件夹,需要对全体用户设置权限,否则很多软件没有办法使用,目前已知的有:

  • Anaconda 的环境文件夹
  • Matlab 的 ToolBox / Example / Help 文件夹
  • 公用的其他盘符

右击需要更改的文件夹,在安全中,添加普通用户的权限即可。

4 安装 Ubuntu

Ubuntu 安装的核心点,一定要使用 EFI 引导启动。

4.1 虚拟机配置

配置还是和 Windows 大同小异

务必保证引导方式是 EFI,这样才能成功在安装 Ubuntu 中时安装 EFI 引导分区,实现系统的真正启动,和后续的显卡直通。

4.2 Ubuntu 安装

根据下面的表格进行分区:

设备 大小
EFI 2048 MB
swap 81920 MB
/ 102400 MB
/home 剩下的

然后安装一些必要的组件,比如 SSH 和 Vim。

sudo apt install openssh-server
sudo service sshd start
sudo apt-get install vim

4.3 安装显卡驱动

务必修改这两个参数:

pciPassthru.use64bitMMIO = TRUE
pciPassthru.64bitMMIOSizeGB = 640

Ubuntu18-22.04安装和干净卸载nvidia显卡驱动

4.3.1 安装一些基本的软件

sudo apt-get update
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install make
sudo apt-get install cmake

4.3.2 下载显卡驱动,并保存在英文路径下

适合本服务器的驱动的下载网址:[Data Center Driver for Linux x64 460.106.00 Linux 64-bit NVIDIA](https://www.nvidia.cn/download/driverResults.aspx/182489/cn/)

显卡驱动保存在 ~/nvidia 目录下

4.3.3 卸载原有驱动

sudo apt-get remove --purge nvidia*

4.3.3 禁用 nouveau

nouveau 是通用的驱动程序

sudo vim /etc/modprobe.d/blacklist.conf

在打开的 blacklist.conf 末尾添加如下,保存文本关闭

blacklist nouveau
options nouveau modeset=0

在终端输入如下更新,更新结束后重启电脑

sudo update-initramfs -u

重启后在终端输入如下,没有任何输出表示屏蔽成功

lsmod | grep nouveau

4.3.5 安装 lightdm

sudo apt-get install lightdm

选择 lightdm

4.3.6 停止当前的显示服务器

sudo telinit 3

4.3.7 禁用 X-window 服务

sudo /etc/init.d/lightdm stop

4.3.8 安装驱动

cd 命令进入到你存放驱动的目录,给驱动赋予可执行权限,才可以安装

cd nvidia/
sudo chmod 777 NVIDIA-Linux-x86_64-460.106.00.run
sudo ./NVIDIA-Linux-x86_64-460.106.00.run

选择 continue installation:

选择不安装 32 位:

安装完成:

如果出现其他的选项,则可能安装出现了问题。

4.3.9 重启 X-window 服务

sudo service lightdm start

4.3.10 检查驱动是否安装成功

nvidia-smi

4.4 安装CUDA

参考 Ubuntu 20.04安装CUDA & CUDNN

4.4.1 下载 cuda 文件

cuda文件已经下载在 ~/nvidia 目录下

4.4.2 运行安装

sudo sh cuda_11.4.3_470.82.01_linux.run

安装时注意去掉安装驱动!

4.4.3 修改环境变量

sudo vim ~/.bashrc
	# 在文件中写入
export PATH=$PATH:/usr/local/cuda-11.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.4/lib64:/usr/lib/x86_64-linux-gnu

更新 bash 配置文件

source ~/.bashrc

4.4.5 检查是否安装成功

nvcc -V

这里有个问题,如果输入nvcc -V 后提示:Command ‘nvcc’ not found, but can be installed with: sudo apt install nvidia-cuda-toolkit

千万不要 install,正确的解决方法是:

sudo vim ~/.bashrc
export LD_LIBRARY_PATH=/usr/local/cuda/lib
export PATH=$PATH:/usr/local/cuda/bin

然后更新 bash 配置文件

source ~/.bashrc