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为用户名
相关推荐
对象存储与RustFS2 小时前
网盘限速逼你开会员?用 RustFS 自己搭一个不限速的“私人网盘
服务器·后端·docker
众壹新能源科技4 小时前
逆变器自带无功不够用,加装5MVar SVG后功率因数从0.85回到0.99
运维·人工智能·自动化
..Dauntless..4 小时前
【Linux】一切皆文件和缓冲区
linux·运维·服务器
裕晟资质规划4 小时前
三类资质变更报告时限差在哪?军工 15 日、集成印制 10 日
大数据·服务器·网络
QMCY_jason4 小时前
x86 ubuntu2204 无gui 安装 openeuler 2203 aarch64版本
linux·运维·服务器
重生之小比特4 小时前
【Linux系统】12 进程程序替换 自定义Shell 命令行解释器
linux·运维·服务器
轻舟技术A4 小时前
Provider 不属于 Agent 核心:rpi 的分层理由与收益
服务器·网络
考拉讲支付4 小时前
母婴亲子服务平台分账架构设计:多场景多方分账与合规清结算实践
大数据·运维·人工智能·微信小程序·架构·微信公众平台
连山齐名4 小时前
ai应用开发的学习笔记
服务器·笔记·学习
LateFrames4 小时前
“场控软件” 如何容错与运维
运维·容错·led大屏·播控系统·场控软件