H20*8卡服务器装机指南

安装系统时的分区

bash 复制代码
挂载点       文件系统   大小
/boot/efi   FAT32     512MB
/boot       ext4      2GB
swap        swaparea  32GB
/           ext4      剩余

1. 网络配置

1.1 查看ip地址

bash 复制代码
ip addr

输出如下,打马赛克的地方是地址,比如192.xxx.xx.xxx

1.2 查看网关, 若有static建议删除

bash 复制代码
ip route show

显示如下

bash 复制代码
sudo ip route del default via 192.xxx.xx.x dev ens10f1 proto static

不删除的话,会出现能ping通,但是ssh不上服务器的情况

1.3 配置地址

bash 复制代码
sudo nano /etc/netplan/01-network-manager-all.yaml

文件内容如下

bash 复制代码
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    ens10f1:
      dhcp4: no
      addresses:
        - 192.xxx.xx.xxx/24 # 静态ip地址
      routes:
        - to: default
          via: 192.xxx.xx.x # 网关地址
      nameservers:
        addresses: [114.114.114.114, 8.8.8.8, 223.5.5.5]

1.4 地址生效

bash 复制代码
sudo netplan generate
sudo netplan apply

1.5 重启网络服务

bash 复制代码
sudo systemctl restart NetworkManager
sudo systemctl enable NetworkManager

1.6 测试网络和网关

bash 复制代码
ping -c 4 8.8.8.8
ping 192.xxx.xx.x # 网关地址

2. 硬盘挂载

2.1查看所有磁盘

bash 复制代码
sudo lsblk -f
# 或
sudo fdisk -l

2.2 格式化磁盘

bash 复制代码
sudo mkfs.ext4 /dev/sdb

2.3 创建挂载点

bash 复制代码
sudo mkdir -p /data1

2.4 挂载磁盘到/opt

bash 复制代码
sudo mount /dev/sdb /data1

2.5 设置开机自动挂载(永久生效)

bash 复制代码
# 查看磁盘UUID(用于fstab,避免设备名变化导致挂载失败)
sudo blkid /dev/sdb
# 复制UUID(如UUID="xxxx-xxxx")
# 编辑fstab文件
sudo nano /etc/fstab
# 在文件末尾添加一行(替换为你的 UUID)
UUID=你的磁盘UUID /data1 ext4 defaults 0 2

2.6 重新挂载所有fstab中的设备,验证配置正确

bash 复制代码
sudo mount -a

2.7 查看挂载状态

bash 复制代码
df -h

3. 安装驱动

3.1. 更新软件源(确保源正常,避免安装失败)

bash 复制代码
sudo apt update && sudo apt upgrade -y

3.2. 安装驱动必备依赖(头文件、编译工具、DKMS等)

bash 复制代码
sudo apt install build-essential linux-headers-$(uname -r) dkms make gcc -y

3.3. 安装服务器版工具(适配数据中心GPU)

bash 复制代码
sudo apt install ubuntu-server linux-modules-extra-$(uname -r) -y

3.4.禁用 Nouveau 开源驱动

3.4.1. 创建禁用配置文件

bash 复制代码
sudo bash -c "echo 'blacklist nouveau' > /etc/modprobe.d/blacklist-nouveau.conf"
sudo bash -c "echo 'options nouveau modeset=0' >> /etc/modprobe.d/blacklist-nouveau.conf"

3.4.2. 更新initramfs生效

bash 复制代码
sudo update-initramfs -u

3.4.3. 重启系统(必须重启,否则禁用不生效)

bash 复制代码
sudo reboot

3.4.4 验证,没有输出就是成功

bash 复制代码
lsmod | grep nouveau

3.5 安装驱动

bash 复制代码
# 查看可安装的驱动版本
ubuntu-drivers devices
# 安装指定版本(以550为例,替换为你需要的版本)
sudo apt install -y nvidia-driver-570
# 或者自动检测并安装推荐驱动
sudo ubuntu-drivers autoinstall
sudo reboot
# 验证,输出显卡信息即可
nvidia-smi

3.6 多GPU服务机需要安装fabricmanager

3.6.1 查看驱动具体版本号

bash 复制代码
cat /proc/driver/nvidia/version

3.6.2 安装

fabricmanager不同版本

bash 复制代码
# 安装基础依赖
sudo apt update
sudo apt install -y gcc g++ make dkms linux-headers-$(uname -r)
# 从NVIDIA 官网下载一个密钥文件(安全证书)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
# 添加NVIDIA-CUDA官方源
echo "deb [signed-by=/usr/share/keyrings/cuda-archive-keyring.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /" | sudo tee /etc/apt/sources.list.d/cuda.list
sudo apt update
# 安装FabricManager(GPU 互联服务),找到驱动的对应版本
wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2204/x86_64/cuda-drivers-fabricmanager-570_570.211.01-1_amd64.deb
sudo apt install -y ./cuda-drivers-fabricmanager-570_570.211.01-1_amd64.deb
nvidia-smi
sudo reboot
# 设置开机自启动
sudo systemctl status nvidia-fabricmanager
sudo systemctl start nvidia-fabricmanager
sudo systemctl enable nvidia-fabricmanager

若出现错误UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount().Error 802: system not,见我另外的文章

3.7 锁定内核版本

bash 复制代码
sudo apt-mark hold linux-image-generic linux-image-$(uname -r)
sudo apt-mark hold linux-image-generic linux-image-$(uname -r)
sudo apt-mark hold linux-headers-generic linux-headers-$(uname -r)
sudo apt-mark hold linux-modules-extra-$(uname -r)
sudo apt-mark hold linux-image-unsigned-$(uname -r)
sudo  apt-mark showhold
sudo reboot

4. 多账号管理

4.1 创建账号(/data1/user1可以为任意目录,建议选择最大的磁盘)

bash 复制代码
sudo useradd -m -d /data1/user1 -s /bin/bash -G sudo user1

4.2 设置user1用户密码

bash 复制代码
sudo passwd user1

4.3 测试是否设置好新用户

bash 复制代码
su - user1

输入user1账户的密码即可

4.4 其他环境配置

4.4.1 miniconda环境配置

miniconda已经设置好全局变量, 创建用户即可用,无需额外配置。

具体配置文件见bash/etc/profile.d/conda.sh

用户登录后bashconda activate base即可激活。

安装见[5. 安装miniconda](#5. 安装miniconda)

4.4.2 docker环境配置

配置公用docker, 防止多次安装

bash 复制代码
sudo usermod -aG docker user1

安装见[6. 安装docker](#6. 安装docker)

5. 安装miniconda

5.1 下载文件到指定目录

bash 复制代码
cd /your/miniconda3/path
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

5.2 安装到系统公共目录(建议/opt/miniconda3)

bash 复制代码
sudo bash Miniconda3-latest-Linux-x86_64.sh -b -p /opt/miniconda3

5.3 设置全局权限(所有人可使用)

bash 复制代码
sudo chmod -R 755 /opt/miniconda3
sudo chown -R root:root /opt/miniconda3

5.4 把conda加入系统全局环境

bash 复制代码
sudo nano /etc/profile.d/conda.sh

内容如下

bash 复制代码
if [ -d "/opt/miniconda3" ]; then
    export PATH="/opt/miniconda3/bin:$PATH"
    source /opt/miniconda3/etc/profile.d/conda.sh
fi

5.5 赋予执行权限

bash 复制代码
sudo chmod +x /etc/profile.d/conda.sh

立即生效

bash 复制代码
source /etc/profile

5.6 切换任意用户测试

bash 复制代码
su - user1 # 输入user1用户的密码
conda --version
conda info

6. 安装docker

6.1. 安装到指定目录

安装位置
bash 复制代码
sudo mkdir -p /data2/docker
直接创建配置文件
bash 复制代码
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
  "data-root": "/data2/docker",
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
}
EOF

6.2. 卸载旧版本

bash 复制代码
sudo apt remove -y docker docker-engine docker.io containerd runc

第一次安装应该没有

6.3. 安装依赖

bash 复制代码
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

6.4. 官方GPG

bash 复制代码
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

6.5. 添加源

bash 复制代码
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

6.6. 安装 Docker(安装时自动读取 /data2 配置)

bash 复制代码
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

6.7. 开机自启

bash 复制代码
sudo systemctl enable docker
sudo systemctl start docker

6.8. 验证

bash 复制代码
sudo docker info | grep "Docker Root Dir"

6.9 所有用户配置docker

bash 复制代码
sudo usermod -aG docker user1 # user1为用户名
相关推荐
网络笨猪29 分钟前
# Nginx企业级全套配置\+排错手册
运维·nginx
Yupureki1 小时前
《Linux网络编程》8.网络层IP原理
linux·运维·服务器·网络·ip
大厂数码评测员1 小时前
免费菜谱管理小程序怎么做才顺手:从情侣、个人、家庭三类场景拆需求和实现
服务器·小程序·apache
yyuuuzz1 小时前
aws亚马逊入门常见认知误区
运维·服务器·网络·云计算·github·aws
DeepFlow 零侵扰全栈可观测2 小时前
运动战:AI 时代 IT 运维的决胜之道——DeepFlow 业务全链路可观测性的落地实践
运维·网络·人工智能·arcgis·云计算
林叔聊渠道分销2 小时前
saas产品运营案例 | 联盟营销计划如何帮助企业提高销售额?
运维·产品运营·sass·流量运营·用户运营
eucalyptus-DE4 小时前
Nova 计算节点故障排查指南
服务器·openstack
志栋智能4 小时前
告别报告堆砌:超自动化巡检的智能分析与洞察
运维·服务器·网络·人工智能·自动化
雅斯驰6 小时前
AES-128加密+滚动码认证:ATA5702W如何防御中继攻击与信号重放
运维·单片机·嵌入式硬件·物联网·自动化
网络与设备以及操作系统学习使用者6 小时前
直连路由优先级最高
运维·网络·学习·华为·智能路由器