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为用户名
相关推荐
云表无代码开发3 分钟前
日本开发者彻底破防:中文太强了!换成英文直接裂开
大数据·服务器·人工智能·microsoft·信息可视化
LBL12201 小时前
内网容器部署FTP日志监控服务
运维·服务器·容器
志栋智能1 小时前
超自动化巡检:驱动持续改进的运维飞轮
运维·自动化
海宇大数据1 小时前
零信任架构实战:基于海宇学历核验版构建自动化风控审查网关
运维·人工智能·架构·自动化
NailiConveyor1 小时前
输送机系统与WMS仓储管理系统集成的5个关键技术点
大数据·运维·自动化·制造·业界资讯
本人手速666+1 小时前
企微开发API如何设计客户冻结状态?WeComApi 在删除、投诉和异常客户场景中的自动化边界
运维·分布式·自动化·企业微信·企微外部群开发·wecomapi·企业微信二次开发
一只专注api接口开发的技术猿1 小时前
告别手工复制粘贴:搭建电商商品自动化监控与数据分析实践
大数据·运维·数据挖掘·数据分析·自动化
资深技术分享员2 小时前
Geejing WebBuilder 日志、在线用户、系统监控,出问题时的三个第一现场
java·运维·数据库
wtblszn2 小时前
光伏发电与光热发电有什么区别
大数据·运维·物联网
锅巴编程2 小时前
nginx-413-client-max-body-size
运维·nginx