基于DHCP服务器使用 PXE 引导和 kickstart (UEFI) 自动安装 ESXi 7

基于DHCP服务器使用 PXE 引导和 kickstart (UEFI) 自动安装 ESXi 7
基于UEFI的PXE安装 ESXi 7
PXE网络引导自动化安装 ESXi 7 详解
PXE+Kickstart 批量安装 ESXi 7
使用PXE 和TFTP 引导ESXi 安装ESXi 7 程序

1 基于DHCP服务器使用 PXE 引导和 kickstart (UEFI) 自动安装 ESXi 7 录制视频

2 浪潮NF5280M5服务器基于DHCP服务器使用 PXE 引导和 kickstart (UEFI) 自动安装 ESXi 7 录制视频

#CentOS 7 系统 安装dhcp服务器 、 tftp-server服务器 、 web服务器
yum install -y dhcp tftp-server httpd

1、配置DHCP服务器

守护进程 :/etc/sbin/dhcpd
脚本:/etc/init.d/dhcpd
端口:67(bootps) 服务端,68(bootpc) 客户端
配置文件:/etc/dhcp/dhcpd.conf
租约信息:/var/lib/dhcpd/dhcpd.leases
配置文件:cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
修改DHCP监听特定端口 vi /etc/sysconfig/dhcpd

#编辑DHCP服务器配置文件
vi /etc/dhcp/dhcpd.conf

default-lease-time 600;
max-lease-time 7200;
log-facility local7;

subnet 10.53.220.0 netmask 255.255.255.0 {
  range 10.53.220.41 10.53.220.49;
  option domain-name-servers 10.1.0.1, 114.114.114.114;   #DNS服务器IP地址
  option routers 10.53.220.1;                             #网关地址
  next-server 10.53.220.224;                              # 指定TFTP服务器地址
  filename "/mboot.efi";                                  # 指定网络引导映像文件
}
#绑定IP地址
host zhangfangzhou {                                      #zhangfangzhou 随意指定,但必须唯一
  hardware ethernet 00:50:56:99:06:b7;
  fixed-address 10.53.220.48;
}

#DHCP的服务设置开机启动、启动DHCP服务
systemctl enable dhcpd && systemctl start dhcpd

########防火墙设置
firewall-cmd --zone=public --add-port=67/udp --permanent
firewall-cmd --zone=public --add-port=68/udp --permanent
#重新载入配置
firewall-cmd --reload
firewall-cmd --list-all #查看防火墙规则,只显示/etc/firewalld/zones/public.xml中防火墙策略

2、配置 tftp 服务器

启用 tftp 服务
vi /etc/xinetd.d/tftp

# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot # TFTP服务器顶级目录
        disable                 = no    # 从yes修改为no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

#tftp的服务设置开机启动、启动tftp服务
systemctl enable tftp && systemctl start tftp

########防火墙设置
firewall-cmd --zone=public --add-port=69/tcp --permanent
firewall-cmd --zone=public --add-port=69/udp --permanent
#重新载入配置
firewall-cmd --reload
firewall-cmd --list-all #查看防火墙规则,只显示/etc/firewalld/zones/public.xml中防火墙策略

3、挂载ESXi 7 镜像

#创建文件夹,主要是下载ESXi 7和挂载ESXi 7使用
mkdir -p /var/lib/tftpboot/{iso,ESXi70u2}
wget -P /var/lib/tftpboot/iso  http://10.53.123.144/ISO/ESXi/VMware-VMvisor-Installer-7.0U2a-17867351.x86_64.iso
cd /var/lib/tftpboot
mount /var/lib/tftpboot/iso/VMware-VMvisor-Installer-7.0U2a-17867351.x86_64.iso /var/lib/tftpboot/ESXi70u2     #重启后需要重新mount

#1、UEFI启动 ESXi 7
将上面DHCP服务器指定的启动镜像文件复制到指定目录下。上面的设置示例名为“mboot.efi”,因此将其复制为该名称。
cd /var/lib/tftpboot/
cp -p /var/lib/tftpboot/ESXi70u2/efi/boot/bootx64.efi /var/lib/tftpboot/mboot.efi

直接在 tftpboot 下复制名为 boot.cfg 的文件,该文件描述了引导设置。
cp -p /var/lib/tftpboot/ESXi70u2/efi/boot/boot.cfg /var/lib/tftpboot/boot.cfg
 #2、传统BIOS启动 ESXi 7
如果要使用旧版 BIOS,则需要3.86版的 syslinux 软件包。从 https://www.kernel.org/pub/linux/utils/boot/syslinux/ 下载包
cd /tmp
wget https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/3.xx/syslinux-3.86.tar.gz
tar xvzf syslinux-3.86.tar.gz
cp -p syslinux-3.86/core/mboot.efi /var/lib/tftpboot/
#3、修改boot.cfg
删除 boot.cfg 中文件路径的“/”
sed -i 's|/||g' boot.cfg

4、检查boot.cfg

根据您的环境更改“标题”和“前缀”。为“title”使用一个描述性名称是个好主意,它是自动安装过程中显示的标题字符。“前缀prefix”指定存储 ESXi 安装程序的目录。在这种情况下,它将是“ESXi70u2”。

修改title和refix名称
prefix=ESXi70u2 (ESXi70u2就是上面ESXi ISO文件mount的文件夹)

# vi /var/lib/tftpboot/boot.cfg
bootstate=0
title=Loading ESXi installer www.zhangfangzhou.cn
timeout=5
prefix=ESXi70u2
kernel=b.b00
kernelopt=runweasel cdromBoot
modules=jumpstrt.gz --- useropts.gz --- features.gz --- k.b00 --- uc_intel.b00 --- uc_amd.b00 --- uc_hygon.b00 --- procfs.b00 --- vmx.v00 --- vim.v00 --- tpm.v00 --- sb.v00 --- s.v00 --- atlantic.v00 --- bnxtnet.v00 --- bnxtroce.v00 --- brcmfcoe.v00 --- brcmnvme.v00 --- elxiscsi.v00 --- elxnet.v00 --- i40enu.v00 --- iavmd.v00 --- icen.v00 --- igbn.v00 --- irdman.v00 --- iser.v00 --- ixgben.v00 --- lpfc.v00 --- lpnic.v00 --- lsi_mr3.v00 --- lsi_msgp.v00 --- lsi_msgp.v01 --- lsi_msgp.v02 --- mtip32xx.v00 --- ne1000.v00 --- nenic.v00 --- nfnic.v00 --- nhpsa.v00 --- nmlx4_co.v00 --- nmlx4_en.v00 --- nmlx4_rd.v00 --- nmlx5_co.v00 --- nmlx5_rd.v00 --- ntg3.v00 --- nvme_pci.v00 --- nvmerdma.v00 --- nvmxnet3.v00 --- nvmxnet3.v01 --- pvscsi.v00 --- qcnic.v00 --- qedentv.v00 --- qedrntv.v00 --- qfle3.v00 --- qfle3f.v00 --- qfle3i.v00 --- qflge.v00 --- rste.v00 --- sfvmk.v00 --- smartpqi.v00 --- vmkata.v00 --- vmkfcoe.v00 --- vmkusb.v00 --- vmw_ahci.v00 --- clusters.v00 --- crx.v00 --- elx_esx_.v00 --- btldr.v00 --- esx_dvfi.v00 --- esx_ui.v00 --- esxupdt.v00 --- tpmesxup.v00 --- weaselin.v00 --- loadesx.v00 --- lsuv2_hp.v00 --- lsuv2_in.v00 --- lsuv2_ls.v00 --- lsuv2_nv.v00 --- lsuv2_oe.v00 --- lsuv2_oe.v01 --- lsuv2_oe.v02 --- lsuv2_sm.v00 --- native_m.v00 --- qlnative.v00 --- vdfs.v00 --- vmware_e.v00 --- vsan.v00 --- vsanheal.v00 --- vsanmgmt.v00 --- tools.t00 --- xorg.v00 --- gc.v00 --- imgdb.tgz --- basemisc.tgz --- resvibs.tgz --- imgpayld.tgz
build=7.0.2-0.0.17867351
updated=0

到这一步可以实现通过PXE网络安装ESXi

5、配置web 服务器

#默认网站目录/var/www/html

systemctl enable httpd && systemctl start httpd

########防火墙设置
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
#重新载入配置
firewall-cmd --reload
firewall-cmd --list-all #查看防火墙规则,只显示/etc/firewalld/zones/public.xml中防火墙策略

6、配置 ESXi 7 的 kickstart

示例 kickstart 文件存储在 ESXi 的 /etc/vmware/weasel/ks.cfg 中。将此复制到 http 服务器上的 /var/www/html

#示例 1 kickstart 文件,给ESXi 7 配置 静态IP地址
vi /var/www/html/ks.cfg
#####################
# Accept the VMware End User License Agreement
vmaccepteula
 
# Set the root password for the DCUI and Tech Support Mode
rootpw P@ssw0rd
 
# The install media is in the CD-ROM drive
install --firstdisk --overwritevmfs
 
# Set the network on the first network adapter
network --bootproto=static --device=vmnic0 --ip=10.53.220.199 --netmask=255.255.255.0 --vlanid=0 --gateway=10.53.220.1 --hostname=10.53.220.199 --nameserver=10.1.0.1

#vmserialnum
vmserialnum --esx=5U4TK-DML1M-M8550-XK1QP-1A052
# reboot after install
reboot
 
# run the following command only on the firstboot
%firstboot --interpreter=busybox

sleep 10
# enable & start remote ESXi Shell (SSH)
vim-cmd hostsvc/enable_ssh
vim-cmd hostsvc/start_ssh
sleep 1
# enable & start ESXi Shell (TSM)
vim-cmd hostsvc/enable_esx_shell
vim-cmd hostsvc/start_esx_shell
sleep 1
# enable High Performance
esxcli system settings advanced set --option=/Power/CpuPolicy --string-value="High Performance"
sleep 1
#Disable ipv6
esxcli network ip set --ipv6-enabled=0
sleep 1
#不加入体验
esxcli system settings advanced set -o /UserVars/HostClientCEIPOptIn -i 2
sleep 1
#enable ntp
/bin/esxcli system ntp set --server=ntp.aliyun.com
sleep 1
/bin/chkconfig ntpd on
sleep 1
#Disable ShellWarning
esxcli system settings advanced set -o /UserVars/SuppressShellWarning -i 1
sleep 1
cat << EOF > /etc/ssh/keys-root/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEA6PP8/RDdYIqUq6DE3zj9Qs8AF3uzfYH5lYrB+mMxxfI8kq2NIzQlsW1KDaH/fWYTkkK120lPUu97lWic9Li3Z3iFR6Nh4q6PVTfBNt4xOx754Ipqtpefk+9sLZAYEPK8pnRP0QZv7CtDFv842tfUYIrVNnecRQTFfNtnGDcXnO1u2RE1kq6Tr5N3595PbPLDKczjOFnS+jy0MeKKHPJcZfYz7TUTSzTwTHYbPRRaQ8/0eihUwzpAmXRo9NYNle26qp6+SlRsjGSBcUr0rh0wSe6r/C2btnpOUd//aFvcl8plhyb++nivlhB71v+6I0UcPoSXOIVs/1QuHEMbv7Ircjb2emqHtZDpk8KSYhgV0ZdbAq9XOcux76eok//xtjbleKPAcDMY/KotIEh7QX4NLQxSJOm5gCLkn5kbrHfVx6nWlGzVVds1sDlcnSAWul5lFiI5ZkArXFKcnm+aCnStPpx5SSCpZpMUdZvt8ZA7vLx3xjMDFwv5HTuTFwB9mlZrdfqp5USC2mWC3eAAPE7GxDSfJv9epteIYywIP9NVT3Z4ng9z6jrcFfA4GFlfLrk8J71cnxZ/AWZXXUwp3ooE/Cp3jc473VpK7FZwjQ7Xz9PD8WQgMOO4xnGQhPWlxhRuoTYyQVa0xOBO9gh9Cuc6zq5FQgYQEcSB+/FBJ/YNDIc= www.zhangfangzhou.cn
EOF
sleep 1
date > /finished.stamp

# Restart a last time
reboot


#示例 2 kickstart 文件,ESXi 7 通过 DHCP 服务器获得IP地址
​vi /var/www/html/ks.cfg

# Accept the VMware End User License Agreement
vmaccepteula
 
# Set the root password for the DCUI and Tech Support Mode
rootpw P@ssw0rd
 
# The install media is in the CD-ROM drive
install --firstdisk --overwritevmfs
 
# Set the network on the first network adapter
network --bootproto=dhcp

#vmserialnum
vmserialnum --esx=5U4TK-DML1M-M8550-XK1QP-1A052
# reboot after install
reboot
 
# run the following command only on the firstboot
%firstboot --interpreter=busybox

sleep 10
# enable & start remote ESXi Shell (SSH)
vim-cmd hostsvc/enable_ssh
vim-cmd hostsvc/start_ssh
sleep 1
# enable & start ESXi Shell (TSM)
vim-cmd hostsvc/enable_esx_shell
vim-cmd hostsvc/start_esx_shell
sleep 1
# enable High Performance
esxcli system settings advanced set --option=/Power/CpuPolicy --string-value="High Performance"
sleep 1
#Disable ipv6
esxcli network ip set --ipv6-enabled=0
sleep 1
#不加入体验
esxcli system settings advanced set -o /UserVars/HostClientCEIPOptIn -i 2
sleep 1
#enable ntp
/bin/esxcli system ntp set --server=ntp.aliyun.com
sleep 1
/bin/chkconfig ntpd on
sleep 1
#Disable ShellWarning
esxcli system settings advanced set -o /UserVars/SuppressShellWarning -i 1
sleep 1
cat << EOF > /etc/ssh/keys-root/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAgEA6PP8/RDdYIqUq6DE3zj9Qs8AF3uzfYH5lYrB+mMxxfI8kq2NIzQlsW1KDaH/fWYTkkK120lPUu97lWic9Li3Z3iFR6Nh4q6PVTfBNt4xOx754Ipqtpefk+9sLZAYEPK8pnRP0QZv7CtDFv842tfUYIrVNnecRQTFfNtnGDcXnO1u2RE1kq6Tr5N3595PbPLDKczjOFnS+jy0MeKKHPJcZfYz7TUTSzTwTHYbPRRaQ8/0eihUwzpAmXRo9NYNle26qp6+SlRsjGSBcUr0rh0wSe6r/C2btnpOUd//aFvcl8plhyb++nivlhB71v+6I0UcPoSXOIVs/1QuHEMbv7Ircjb2emqHtZDpk8KSYhgV0ZdbAq9XOcux76eok//xtjbleKPAcDMY/KotIEh7QX4NLQxSJOm5gCLkn5kbrHfVx6nWlGzVVds1sDlcnSAWul5lFiI5ZkArXFKcnm+aCnStPpx5SSCpZpMUdZvt8ZA7vLx3xjMDFwv5HTuTFwB9mlZrdfqp5USC2mWC3eAAPE7GxDSfJv9epteIYywIP9NVT3Z4ng9z6jrcFfA4GFlfLrk8J71cnxZ/AWZXXUwp3ooE/Cp3jc473VpK7FZwjQ7Xz9PD8WQgMOO4xnGQhPWlxhRuoTYyQVa0xOBO9gh9Cuc6zq5FQgYQEcSB+/FBJ/YNDIc= www.zhangfangzhou.cn
EOF
sleep 1
date > /finished.stamp

# Restart a last time
reboot

7、最终boot.cfg配置文件

# vi /var/lib/tftpboot/boot.cfg
bootstate=0
title=Loading ESXi installer www.zhangfangzhou.cn
timeout=5
prefix=ESXi70u2
kernel=b.b00
kernelopt=ks=http://10.53.220.224/ks.cfg
modules=jumpstrt.gz --- useropts.gz --- features.gz --- k.b00 --- uc_intel.b00 --- uc_amd.b00 --- uc_hygon.b00 --- procfs.b00 --- vmx.v00 --- vim.v00 --- tpm.v00 --- sb.v00 --- s.v00 --- atlantic.v00 --- bnxtnet.v00 --- bnxtroce.v00 --- brcmfcoe.v00 --- brcmnvme.v00 --- elxiscsi.v00 --- elxnet.v00 --- i40enu.v00 --- iavmd.v00 --- icen.v00 --- igbn.v00 --- irdman.v00 --- iser.v00 --- ixgben.v00 --- lpfc.v00 --- lpnic.v00 --- lsi_mr3.v00 --- lsi_msgp.v00 --- lsi_msgp.v01 --- lsi_msgp.v02 --- mtip32xx.v00 --- ne1000.v00 --- nenic.v00 --- nfnic.v00 --- nhpsa.v00 --- nmlx4_co.v00 --- nmlx4_en.v00 --- nmlx4_rd.v00 --- nmlx5_co.v00 --- nmlx5_rd.v00 --- ntg3.v00 --- nvme_pci.v00 --- nvmerdma.v00 --- nvmxnet3.v00 --- nvmxnet3.v01 --- pvscsi.v00 --- qcnic.v00 --- qedentv.v00 --- qedrntv.v00 --- qfle3.v00 --- qfle3f.v00 --- qfle3i.v00 --- qflge.v00 --- rste.v00 --- sfvmk.v00 --- smartpqi.v00 --- vmkata.v00 --- vmkfcoe.v00 --- vmkusb.v00 --- vmw_ahci.v00 --- clusters.v00 --- crx.v00 --- elx_esx_.v00 --- btldr.v00 --- esx_dvfi.v00 --- esx_ui.v00 --- esxupdt.v00 --- tpmesxup.v00 --- weaselin.v00 --- loadesx.v00 --- lsuv2_hp.v00 --- lsuv2_in.v00 --- lsuv2_ls.v00 --- lsuv2_nv.v00 --- lsuv2_oe.v00 --- lsuv2_oe.v01 --- lsuv2_oe.v02 --- lsuv2_sm.v00 --- native_m.v00 --- qlnative.v00 --- vdfs.v00 --- vmware_e.v00 --- vsan.v00 --- vsanheal.v00 --- vsanmgmt.v00 --- tools.t00 --- xorg.v00 --- gc.v00 --- imgdb.tgz --- basemisc.tgz --- resvibs.tgz --- imgpayld.tgz
build=7.0.2-0.0.17867351
updated=0

到这里可以基于DHCP实现通过PXE自动安装 ESXi 7、自动设置系统密码、自动接受许可、自动添加产品密钥、自动启用SSH服务、自动启用shell服务、电源模式自动设置为高性能、禁用IPV6、不参加(CEIP)客户体验改善计划、自动配置NTP、自动添加私钥。

https://www.zhangfangzhou.cn/pxe-kickstart-install-uefi-esxi-7.html

Ubuntu 24.04 + NVIDIA L40 部署 Qwen3.8-27B-FP8 私有化推理实战(vLLM + Open-WebUI)

本文记录在单卡 L40(48GB)上,使用 vLLM 将阿里开源的 Qwen3.8-27B-FP8 部署为 OpenAI 兼容 API,并接入 Open-WebUI 的完整流程,涵盖驱动 / CUDA、Python 环境、模型下载、服务启动参数详解与常见排错。全部命令基于实测环境整理,可直接落地。

一、模型与环境说明

Qwen3.8-27B-FP8 是 Qwen3.8 系列的 270 亿参数稠密模型,采用 Apache 2.0 协议开源。与部署强相关的几个特性决定了后面的启动参数:

  • 多模态:内置视觉塔(vision tower),支持图文输入,因此需要 --mm-encoder-tp-mode data
  • 混合注意力:64 层中仅 16 层为全注意力,其余 48 层为线性注意力,恒定循环状态使 KV Cache 占用远低于同规模全注意力模型,对单卡长上下文非常友好。
  • 默认思考模式:推理时默认输出 <think>...</think> 思考内容,因此需要 --reasoning-parser qwen3 进行解析。
  • 原生 262K 上下文,可经 YaRN 扩展至 1M;内置 MTP 草稿头,可开启投机解码降低时延。
  • FP8 量化:官方 Qwen/Qwen3.8-27B-FP8 为 block-size 128 的细粒度 FP8,精度接近原始 BF16 权重,L40(Ada 架构 sm_89)原生支持 FP8 计算。

显存规划

27B 级稠密模型在不同精度下的权重显存(不含 KV Cache)大致如下:

精度 权重显存 单卡 L40(48GB)
BF16 约 56GB 单卡放不下,需 2 卡
FP8 约 28GB  单卡可跑,余量约 16GB 供 KV Cache
4-bit 约 14–16GB 单卡宽裕

结论L40 单卡跑 FP8 权重约 28GB,配合混合注意力带来的低 KV Cache 开销,--max-model-len 32768 下显存非常宽松,实际还可以把上下文往上调。

二、系统准备与 NVIDIA 驱动

sudo apt update && sudo apt upgrade -y
sudo apt install -y alsa-utils

# 查看可用驱动,选择 server 版
ubuntu-drivers list
sudo apt install -y nvidia-driver-595-server
sudo reboot        # 驱动装完务必重启

# 重启后确认驱动就绪
nvidia-smi

注意:避免驱动重复安装下一步安装的 CUDA 本地 .deb 仓库已经打包了 595.45.04 驱动。若你打算用 CUDA 本地包安装驱动,这里可以跳过 nvidia-driver-595-server,避免两套驱动来源冲突。二选一即可,装完统一重启一次。

三、安装 CUDA Toolkit 13.2

# 固定仓库优先级
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-ubuntu2404.pin
sudo mv cuda-ubuntu2404.pin /etc/apt/preferences.d/cuda-repository-pin-600

# 本地仓库包(内含 595.45.04 驱动)
wget https://developer.download.nvidia.com/compute/cuda/13.2.0/local_installers/cuda-repo-ubuntu2404-13-2-local_13.2.0-595.45.04-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2404-13-2-local_13.2.0-595.45.04-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2404-13-2-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-13-2

配置环境变量(解决 nvcc not found)

若执行 nvcc --version 提示 Command 'nvcc' not found,说明 CUDA 的 bin 目录未加入 PATH。编辑 ~/.bashrc,追加:

export PATH=/usr/local/cuda-13.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-13.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
source ~/.bashrc
nvcc --version

正常输出应类似:

nvcc: NVIDIA (R) Cuda compiler driver
Cuda compilation tools, release 13.2, V13.2.51
Build cuda_13.2.r13.2/compiler.37434383_0

四、创建 Python venv 环境

坚持使用独立虚拟环境隔离依赖,不使用 --break-system-packages 污染系统 Python:

sudo apt install -y python3.12-venv python3-pip
python3 -m venv ~/venvs/qwen3
source ~/venvs/qwen3/bin/activate
pip install -U pip setuptools wheel

五、安装 vLLM

版本要求Qwen3.8 系列为新架构,需较新的 vLLM 才能正确加载。若正式版尚未跟进,请使用 nightly 预发布版本。装完用 vllm --version 确认。

# 优先尝试正式版
pip install -U vllm

# 如加载失败 / 报架构不识别,改用 nightly
pip install -U vllm --pre --extra-index-url https://wheels.vllm.ai/nightly

# 下载工具
pip install -U modelscope huggingface_hub

六、下载模型(ModelScope)

国内环境推荐从 ModelScope 拉取,速度更稳定:

mkdir -p /data/models
modelscope download --model Qwen/Qwen3.8-27B-FP8 \
  --local_dir /data/models/Qwen3.8-27B-FP8

七、启动 vLLM 推理服务

vllm serve /data/models/Qwen3.8-27B-FP8 \
  --tensor-parallel-size 1 \
  --enable-auto-tool-choice \
  --tool-call-parser qwen3_coder \
  --reasoning-parser qwen3 \
  --mm-encoder-tp-mode data \
  --trust-remote-code \
  --served-model-name Qwen3.8-27B \
  --max-num-seqs 16 \
  --max-model-len 32768 \
  --enable-prefix-caching \
  --gpu-memory-utilization 0.92

关键参数说明

参数 作用
--tensor-parallel-size 1 单卡 L40,张量并行度为 1。
--enable-auto-tool-choice + --tool-call-parser qwen3_coder 启用函数调用(Function Calling),使用 Qwen3 Coder 工具调用解析器,供智能体使用。
--reasoning-parser qwen3 解析模型默认输出的 <think> 思考内容。
--mm-encoder-tp-mode data 多模态视觉编码器采用数据并行模式(该模型带视觉塔)。
--enable-prefix-caching 前缀缓存,重复上下文场景显著提升吞吐(官方 recipe 推荐)。
--max-model-len 32768 单卡下的稳妥上下文长度;显存有余量时可上调(模型原生支持 262K)。
--gpu-memory-utilization 0.92 显存利用率上限,48GB 下预留系统余量。

进阶:开启 MTP 投机解码(可选)该模型内置 MTP 草稿头,追加以下参数可降低解码时延:

--speculative-config '{"method":"mtp","num_speculative_tokens":1}'

优化后的参数

vllm serve /data/models/Qwen3.8-27B-FP8 \
--tensor-parallel-size 1 \
--served-model-name Qwen3.8-27B \
--trust-remote-code \
--max-model-len 131072 \
--speculative-config '{"method":"mtp","num_speculative_tokens":3}' \
--kv-cache-dtype fp8 \
--enable-prefix-caching \
--enable-chunked-prefill \
--max-num-batched-tokens 8192 \
--max-num-seqs 2 \
--gpu-memory-utilization 0.90 \
--mm-encoder-tp-mode data \
--limit-mm-per-prompt '{"image": 4, "video": 0}' \
--mm-processor-kwargs '{"min_pixels": 3136, "max_pixels": 1003520}' \
--mm-processor-cache-gb 2 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_xml \
--reasoning-parser qwen3

1. --speculative-config MTP 投机解码(最主要,通常 1.7–2.5×)
这是唯一一个直接改变解码算法的参数。原理:

普通解码:每次前向只出 1 个 token,且 decode 阶段是显存带宽瓶颈(要把 27B 的全部权重从 HBM 搬一遍才吐一个 token),GPU 算力利用率往往只有个位数百分比。
MTP(Multi-Token Prediction):模型自带的轻量 draft head 一次猜出后面 3 个 token,然后用一次前向并行验证这 4 个。接受率通常 60%–75%,等于一次权重搬运产出 2–3 个 token。

所以提升的不是算力,而是把「浪费掉的算力」换成了 token。它在小 batch 下收益最大,而你恰好把 max-num-seqs 调成了 2 —— 两者是叠加放大的。

2. --max-num-seqs 16 → 2(对"单请求 tok/s"影响巨大)
这条要看你测的是哪个指标:

指标 16 seqs 2 seqs
单请求速度(tok/s per request) 低 高很多
整机总吞吐(并发满载时) 高 低

batch 越大,每个 token 的显存带宽被更多请求摊薄,单请求就越慢。你调到 2,等于把整块卡的带宽让给 1–2 个请求。如果你是在网页/单会话里体感测速,这一条能贡献很大一部分观感提升。

同时 max-num-seqs 小也让 MTP 的接受收益不被大 batch 稀释(大 batch 下投机解码经常反而变慢,因为验证阶段变成算力瓶颈)。

3. --kv-cache-dtype fp8(两重收益)
容量:KV cache 从 FP16 变 FP8,每 token 显存减半。这是你能把 max-model-len 从 32768 拉到 131072 还不 OOM 的前提。
速度:长上下文下 attention 要扫描全部 KV,读取量减半 → attention kernel 明显加速。上下文越长,这条收益越大。
4. 旧配置很可能在发生 preemption(抢占重算)

旧配置 max-num-seqs 16 + max-model-len 32768 + FP16 KV。27B FP8 权重约 27 GB,剩余 KV 空间有限。一旦并发请求的上下文变长,vLLM 会 preempt(抢占) 部分序列,把它们的 KV 丢弃、之后重新 prefill 一遍。日志里会出现 Sequence group ... is preempted。

这是隐形的性能杀手,重算是纯浪费。新配置 fp8 KV + 只 2 条序列,KV 池极其宽裕,基本不会抢占。

5. --enable-chunked-prefill + --max-num-batched-tokens 8192
把长 prompt 的 prefill 切成 8192 token 的块,与 decode 混合调度。效果是 prefill 不再长时间独占 GPU 阻塞正在解码的请求,token 输出变得平滑、不卡顿。对"体感速度"有帮助,对纯单请求吞吐影响不大。

(注:vLLM V1 引擎里 chunked prefill 默认已开启,显式写上只是明确化。)

6. --mm-processor-cache-gb 2
多模态预处理缓存。同一张图在多轮对话里反复出现时,不再重复跑 ViT 预处理/编码,省掉可观的 TTFT。

逐行详解
vllm serve /data/models/Qwen3.8-27B-FP8
启动 OpenAI 兼容 API 服务,加载本地权重目录。FP8 权重本身要求 Hopper/Ada(H100/H800/L40S/L20,SM≥89)才有原生加速,Ampere 上会走模拟路径而变慢。

--tensor-parallel-size 1
张量并行度 1 = 单卡跑完整模型,不做层内切分。27B FP8 约 27–28 GB 权重,单卡 48/80 GB 放得下。

--served-model-name Qwen3.8-27B
对外暴露的模型名。客户端 "model": "Qwen3.8-27B" 即可,不必写完整路径。

--trust-remote-code
允许执行模型仓库里自带的 Python 建模代码(modeling_*.py、processing_*.py)。多模态/新架构模型通常必需。只对可信来源的权重开启。

--max-model-len 131072
单请求上下文上限(prompt + 输出)128K。这个值直接决定 vLLM 预留的最大 KV 规模和 RoPE 配置,能开到 128K 靠的是 fp8 KV。

--speculative-config '{"method":"mtp","num_speculative_tokens":3}'
启用 MTP 投机解码,每步预测 3 个候选 token。

num_speculative_tokens 调大(如 5)不一定更快:接受率随位置递减,验证成本线性上升,通常 2–4 是甜点。
前提:权重目录里必须含 MTP head 权重,否则启动直接报错。
输出与非投机解码在数值上等价(拒绝采样保证分布一致),不掉质量。

--kv-cache-dtype fp8
KV cache 用 FP8(默认 e4m3)存储。显存减半、attention 读带宽减半。精度影响一般很小,但超长上下文的精确检索类任务(大海捞针、长文档引用)可能有轻微退化。

--enable-prefix-caching
跨请求复用相同前缀的 KV block。对固定 system prompt、多轮对话、RAG 中重复文档块效果显著——命中即跳过该段 prefill,TTFT 大幅下降。新旧配置都开了,不是本次提速的原因。

--enable-chunked-prefill
长 prompt 分块预填充,与 decode 混合调度。见上文第 5 点。

--max-num-batched-tokens 8192
单次调度迭代处理的 token 总数上限(prefill chunk + decode 之和)。

调大 → prefill 更快,但正在解码的请求卡顿更明显。
调小 → 输出更平滑,长 prompt 首 token 变慢。
8192 是长上下文场景比较均衡的取值。

--max-num-seqs 2
并发运行序列数上限。这是延迟/吞吐的核心权衡开关:

2 = 极致低延迟、单请求最快,适合个人使用或对话式场景。
但第 3 个请求到来时会排队等待,多人共用时体验会很差。
如果要服务多人,建议调到 8–16,此时 MTP 收益会缩水,甚至可以考虑关掉投机解码。

--gpu-memory-utilization 0.90
允许 vLLM 占用的显存比例。权重 + 激活 + CUDA graph 之外的部分全部做成 KV pool。从 0.92 降到 0.90 是略微减少 KV,但 fp8 KV 带来的翻倍容量远远抵消了。留 10% 余量对多模态是合理的(ViT 编码器的激活峰值不好预估)。

--mm-encoder-tp-mode data
多模态编码器(ViT)用数据并行而非张量并行切分——多张图分给不同 rank 各自编码。在 TP=1 下此参数实际无效,是为将来多卡准备的。

--limit-mm-per-prompt '{"image": 4, "video": 0}'
单请求最多 4 张图、禁用视频。作用是限制多模态 token 占用上限,防止用户塞几十张图撑爆 KV 导致 OOM。是保护性参数,不影响速度。

--mm-processor-kwargs '{"min_pixels": 3136, "max_pixels": 1003520}'
图像动态分辨率范围。

min_pixels=3136 = 56×56,下限。
max_pixels=1003520 ≈ 1024×980,上限。
直接决定一张图消耗多少 vision token(Qwen 系列约 28×28 像素 → 1 token,再经 2×2 merge)。调低 max_pixels 是加速多图推理最有效的手段,代价是细节/OCR 能力下降。

--mm-processor-cache-gb 2
2 GB 多模态预处理结果缓存,避免重复图片反复跑预处理。

--enable-auto-tool-choice
允许 tool_choice: "auto",由模型自主决定是否调用工具。不开则只能强制指定或禁用。

--tool-call-parser qwen3_xml
把模型输出的工具调用文本解析成 OpenAI 标准的 tool_calls 结构。
这是你另一个实质性改动:qwen3_coder 和 qwen3_xml 的格式不同,必须与模型实际训练的 chat template 匹配。选错的表现是工具调用被当成普通文本吐出来,或解析报错。多模态版 Qwen3 一般用 qwen3_xml。

--reasoning-parser qwen3

... 思考内容从正文剥离,放进响应的 reasoning_content 字段。前端可以折叠显示思维链。

八、部署 Docker + Open-WebUI

# 安装 Docker(阿里云镜像加速)
curl -fsSL https://get.docker.com | sh -s -- --mirror Aliyun
systemctl enable --now docker

# 启动 Open-WebUI,指向 vLLM 的 OpenAI 兼容端点
docker run -itd -p 3000:8080 \
  -e OPENAI_API_BASE_URL=http://10.53.6.222:8000/v1 \
  -e OPENAI_API_KEY=sk-anything \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

安全提示OPENAI_API_KEY=sk-anything 仅为占位符(vLLM 默认不校验 Key)。该服务应限定在内网访问;若需对外,请为 vLLM 配置 --api-key 并在网关层做鉴权与限流。

九、验证与访问

服务启动后可通过 curl 快速验证 API:

curl http://10.53.6.222:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen3.8-27B",
    "messages": [{"role":"user","content":"你好,介绍一下你自己"}]
  }'
用途 地址
智能体 / API 直接调用(OpenAI 兼容) http://10.53.6.222:8000/v1
Open-WebUI 网页端 http://10.53.6.222:3000/

十、常见问题排查

现象 原因与处理
nvcc: command not found CUDA bin 未入 PATH,按第三节配置 ~/.bashrcsource
nvidia-smi 无输出 / 驱动异常 驱动未加载或版本冲突。确认只保留一套驱动来源,重启后再试。
vLLM 报模型架构不识别 vLLM 版本过旧,改用 nightly 预发布版。
启动时 CUDA OOM 下调 --gpu-memory-utilization(如 0.85)或 --max-model-len
Open-WebUI 连不上模型 核对 OPENAI_API_BASE_URL 的 IP / 端口,确认 vLLM 已就绪且防火墙放行 8000。
模型下载中断 ModelScope 支持断点续传,重跑 modelscope download 即可。

环境:Ubuntu 24.04 · NVIDIA L40(48GB, Ada sm_89)· CUDA 13.2 / Driver 595.45.04 · vLLM · Qwen3.8-27B-FP8。命令基于实测环境整理,落地前请结合自身网络与安全策略调整内网 IP、端口与鉴权配置。

虚拟化平台备份故障复盘和改进建议

# 一、事件概述

在一台存储服务器(H3C UniServer R4300 G3)上部署安克诺斯(Acronis)备份虚拟化环境,出现严重存储耗尽及虚拟机不可用故障。

## 1. 硬件与资源信息

* 服务器型号:H3C UniServer R4300 G3
* CPU:2 × 32 核(约 2.89 GHz)
* 内存:255.66 GB
* 存储容量:145.86 TB

## 2. 架构设计

* 在该服务器上部署虚拟化环境
* 运行 2 套 Acronis 备份系统虚拟机
* 每个虚拟机分配约 62TB 存储空间
* 合计备份虚拟化存储约 124TB

# 二、故障现象

## 1. 故障表现

运行大概两年后,某日出现以下现象:

* 两个 Acronis 备份虚拟机同时无法访问
* 管理平台提示存储不可用 / 无法写入
* 虚拟化平台页面无明显异常
* 存储空间显示“已耗尽”

## 2. 现场排查

通过 SSH 登录虚拟化宿主机发现:

* 某一虚拟机出现异常大快照文件:

-rw-r--r--    1 root     root         514 Dec  7  2023 安克诺斯-10.53.123.98-39151d94.hlog
-rw-r--r--    1 root     root          14 Jun 22 01:16 安克诺斯-10.53.123.98-aux.xml
-rw-------    1 root     root      120.0G Jun 22 01:48 安克诺斯-10.53.123.98-flat.vmdk
-rw-------    1 root     root      264.5K Jun 21 05:46 安克诺斯-10.53.123.98.nvram
-rw-------    1 root     root         570 Jun 22 01:48 安克诺斯-10.53.123.98.vmdk
-rw-r--r--    1 root     root          77 Jun 22 00:46 安克诺斯-10.53.123.98.vmsd
-rwxr-xr-x    1 root     root        4.0K Jun 22 01:48 安克诺斯-10.53.123.98.vmx
-rw-------    1 root     root           0 Apr 29 06:30 安克诺斯-10.53.123.98.vmx.lck
-rw-------    1 root     root        3.8K Dec 13  2023 安克诺斯-10.53.123.98.vmxf
-rw-------    1 root     root      241.9G Jun 22 01:49 安克诺斯-10.53.123.98_1-000001-sesparse.vmdk
-rw-------    1 root     root         377 Jun 22 00:46 安克诺斯-10.53.123.98_1-000001.vmdk
-rw-------    1 root     root       23.2T Jun 22 01:49 安克诺斯-10.53.123.98_1-000002-sesparse.vmdk
-rw-------    1 root     root         361 Jun 22 01:16 安克诺斯-10.53.123.98_1-000002.vmdk
-rw-------    1 root     root       60.0T Jun 23 01:59 安克诺斯-10.53.123.98_1-flat.vmdk
-rw-------    1 root     root         551 Jun 22 01:48 安克诺斯-10.53.123.98_1.vmdk

# 三、根本问题分析

## 1. 核心问题:超大快照失控

该虚拟机产生了:23TB 级别 sesparse 快照文件
属于严重异常情况。

## 2. 快照形成机制问题

快照链结构:

* base disk
* snapshot-000001
* snapshot-000002(23TB)

说明:

* 快照长期未合并
* 备份任务持续写入
* 未触发自动 consolidation
* 存储持续膨胀

---

## 3. 存储耗尽链式反应

当快照增长到 23TB 后:

* 触发 datastore 写满
* 两个备份系统同时失效
* 虚拟机无法继续写入
* 备份系统服务崩溃

---

# 四、性能与恢复评估

## 1. 磁盘合并理论耗时

基于实际测算:

1:35:37am up 23:58, 1161 worlds, 2 VMs, 17 vCPUs; CPU load average: 0.06, 0.07, 0.07
DEVICE                                PATH/WORLD/PARTITION DQLEN WQLEN ACTV QUED %USD  LOAD   CMDS/s  READS/s WRITES/s MBREAD/s MBWRTN/s DAVG/cmd KAVG/cmd Gnaa.574eac82b03b3018                           -              32     -    0    0    0  0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00  naa.600508b1001c144c140ec89e8ca2546a           -              32     -    1    0    3  0.03   344.67   143.61   201.06    16.19    17.76     2.98     0.01  
t10.D4963627F63686070CE37AAF5EB5EDD5           -            1014     -    0    0    0  0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00  


23TB ≈ 24,000,000 MB
16MB/s 实际吞吐
≈ 1,500,000 秒
≈ 416 小时
≈ 17 天(理论最慢情况)

---

## 2. 结论

* 即使系统正常运行
* 快照整合也需要 **数天至数周**
* 在生产环境不可接受

# 五、事故根因总结

## 1. 架构设计问题

* 单机承载 2 套大型备份系统
* 每个系统分配 60TB+ 存储
* 未做容量冗余设计

## 2. 快照管理失控

* 长期运行快照未合并
* 未设置快照生命周期限制
* 未监控 sesparse 增长

---

# 六、直接影响

* 两套备份系统全部不可用
* 存储空间耗尽
* 业务备份中断
* 快照合并耗时极长
* 存在数据风险(合并中断即可能损坏)

---

# 七、经验教训总结

## 1. 快照不能长期存在

必须控制:

* ≤ 24 小时生命周期
* ≤ 1TB 建议阈值(生产环境)

## 2. 必须建立快照监控机制

必须监控:
* snapshot size
* sesparse file growth rate
* consolidation task duration
* datastore free space

---

## 3. 存储必须预留“突发空间”

## 1. 架构重建(强烈建议)

* 拆分 Acronis VM
* 独立存储池
* 限制单 VM 最大容量

## 2. 快照策略整改

* 禁止长期 snapshot
* 设置自动清理策略
* 强制监控 consolidation

新增两台联想 ThinkSystem SR860 V3 服务器到虚拟化生产集群

新增两台联想 ThinkSystem SR860 V3 服务器到虚拟化生产集群 Add Two Lenovo ThinkSystem SR860 V3 Servers to the Virtualization Production Cluster
1、将两台 SR860 V3 服务器上架到机柜。确认电源四路接入,并做好标识与基础检查。检查服务器硬件完整性(CPU、内存、RAID 控制器、HBA、网卡)

2、SAN 连接

- 每台服务器至少双 HBA(多路径)。
- 连接到两个独立 Fabric(A/B)SAN 交换机。

3、网络连接

- 每台服务器四网口绑定(链路聚合)。
- 配置管理 VLAN。

4、SAN光交换机配置

#1、登录10.77.77.77、10.77.77.78
telnet 10.77.77.77
telnet 10.77.77.78

#2、检查 zoneset 已有成员
# show zoneset active vsan 10
zoneset name server vsan 10
  zone name zone1 vsan 10
  * fcid 0x880000 [interface fc1/1 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x881500 [interface fc1/2 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x880200 [interface fc1/3 swwn 20:00:00:3a:9c:ca:62:70]

  zone name zone2 vsan 10
  * fcid 0x880000 [interface fc1/1 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x881500 [interface fc1/2 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x880600 [interface fc1/4 swwn 20:00:00:3a:9c:ca:62:70]

  zone name zone3 vsan 10
  * fcid 0x880000 [interface fc1/1 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x881500 [interface fc1/2 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x881600 [interface fc1/5 swwn 20:00:00:3a:9c:ca:62:70]

  zone name zone4 vsan 10
  * fcid 0x880000 [interface fc1/1 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x881500 [interface fc1/2 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x880800 [interface fc1/6 swwn 20:00:00:3a:9c:ca:62:70]

  zone name zone5 vsan 10
  * fcid 0x880000 [interface fc1/1 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x881500 [interface fc1/2 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x880500 [interface fc1/7 swwn 20:00:00:3a:9c:ca:62:70]

  zone name zone6 vsan 10
  * fcid 0x880000 [interface fc1/1 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x881500 [interface fc1/2 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x880400 [interface fc1/8 swwn 20:00:00:3a:9c:ca:62:70]

  zone name desktop01 vsan 10
  * fcid 0x881300 [interface fc1/37 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x880b00 [interface fc1/38 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x880c00 [interface fc1/39 swwn 20:00:00:3a:9c:ca:62:70]

  zone name desktop02 vsan 10
  * fcid 0x881300 [interface fc1/37 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x880b00 [interface fc1/38 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x880d00 [interface fc1/40 swwn 20:00:00:3a:9c:ca:62:70]

  zone name desktop03 vsan 10
  * fcid 0x881300 [interface fc1/37 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x880b00 [interface fc1/38 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x880e00 [interface fc1/41 swwn 20:00:00:3a:9c:ca:62:70]

  zone name desktop04 vsan 10
  * fcid 0x881300 [interface fc1/37 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x880b00 [interface fc1/38 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x880f00 [interface fc1/42 swwn 20:00:00:3a:9c:ca:62:70]

  zone name desktop05 vsan 10
  * fcid 0x881300 [interface fc1/37 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x880b00 [interface fc1/38 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x881000 [interface fc1/43 swwn 20:00:00:3a:9c:ca:62:70]

  zone name desktop06 vsan 10
  * fcid 0x881300 [interface fc1/37 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x880b00 [interface fc1/38 swwn 20:00:00:3a:9c:ca:62:70]
  * fcid 0x881200 [interface fc1/44 swwn 20:00:00:3a:9c:ca:62:70]

#3、确认服务器是否成功连接到SAN交换机
SWFS6700UP(config)# show flogi database detail
--------------------------------------------------------------------------------------------
INTERFACE        VSAN    FCID           PORT NAME               NODE NAME            FLAGS
--------------------------------------------------------------------------------------------
fc1/1            10    0x880000  56:c9:2b:fa:00:21:7e:20 56:c9:2b:fa:00:00:7e:20 P
fc1/2            10    0x881500  56:c9:2b:fa:00:21:7e:21 56:c9:2b:fa:00:00:7e:21 P
fc1/3            10    0x880200  21:00:f4:e9:d4:59:b1:04 20:00:f4:e9:d4:59:b1:04 P
fc1/4            10    0x880600  21:00:f4:e9:d4:59:a6:fa 20:00:f4:e9:d4:59:a6:fa P
fc1/5            10    0x881600  21:00:f4:e9:d4:59:ae:13 20:00:f4:e9:d4:59:ae:13 P
fc1/6            10    0x880800  21:00:f4:e9:d4:59:a6:fe 20:00:f4:e9:d4:59:a6:fe P
fc1/7            10    0x880500  21:00:34:80:0d:6e:21:98 20:00:34:80:0d:6e:21:98 P
fc1/8            10    0x880400  21:00:f4:e9:d4:59:a6:e8 20:00:f4:e9:d4:59:a6:e8 P
fc1/9            10    0x881700  10:00:70:b7:e4:2d:91:a6 20:00:70:b7:e4:2d:91:a6 P
fc1/10           10    0x881800  10:00:70:b7:e4:2d:91:6a 20:00:70:b7:e4:2d:91:6a P
fc1/37           10    0x881300  56:c9:2b:fa:00:21:89:90 56:c9:2b:fa:00:00:89:90 P
fc1/38           10    0x880b00  56:c9:2b:fa:00:22:89:91 56:c9:2b:fa:00:00:89:91 P
fc1/39           10    0x880c00  10:00:00:10:9b:c6:9f:ab 20:00:00:10:9b:c6:9f:ab P
fc1/40           10    0x880d00  10:00:00:10:9b:c6:9f:cf 20:00:00:10:9b:c6:9f:cf P
fc1/41           10    0x880e00  10:00:00:10:9b:c6:9b:45 20:00:00:10:9b:c6:9b:45 P
fc1/42           10    0x880f00  10:00:00:10:9b:c6:b1:3c 20:00:00:10:9b:c6:b1:3c P
fc1/43           10    0x881000  10:00:00:10:9b:c6:9d:f9 20:00:00:10:9b:c6:9d:f9 P
fc1/44           10    0x881200  10:00:00:10:9b:c6:b4:2d 20:00:00:10:9b:c6:b4:2d P

Total number of flogi = 18.

FLAGS:
A area FCID allocation
L loop device
V FDISC
D the wwn matches the default OUI list
O the wwn matches the configured OUI list
P allocation was done based on the persistency table
M indicates a VMID capable FCID
#4、新增zone,添加新服务器接口
#zone name zone7 vsan 10
member interface fc1/1
member interface fc1/2
member interface fc1/9

#zone name zone8 vsan 10
member interface fc1/1
member interface fc1/2
member interface fc1/10

zoneset name server vsan 10
member zone7
member zone8

#5、激活 zoneset
zoneset activate name server vsan 10

show zoneset active vsan 10
show flogi database vsan 10

#6、保存配置
copy running-config startup-config


#7、修改 zone 成员(如有误)(fc1/7 → fc1/9)
进入 zone 配置模式
conf t
zone name zone7 vsan 10
  no member interface fc1/7
  member interface fc1/9


5、网络交换机配置

#
interface Eth-Trunk7
 description LenovoUP
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
 mode lacp-dynamic
#
interface Eth-Trunk8
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
 mode lacp-dynamic
#
#
interface 10GE1/0/25
 eth-trunk 7
 device transceiver 10GBASE-FIBER
#
interface 10GE1/0/26
 eth-trunk 7
 device transceiver 10GBASE-FIBER
#
interface 10GE1/0/27
 eth-trunk 7
 device transceiver 10GBASE-FIBER
#
interface 10GE1/0/28
 eth-trunk 7
 device transceiver 10GBASE-FIBER
#
interface 10GE1/0/29
 eth-trunk 8
 device transceiver 10GBASE-FIBER
#
interface 10GE1/0/30
 eth-trunk 8
 device transceiver 10GBASE-FIBER
#               
interface 10GE1/0/31
 eth-trunk 8
 device transceiver 10GBASE-FIBER
#
interface 10GE1/0/32
 eth-trunk 8
 device transceiver 10GBASE-FIBER
#

6、存储添加和卷映射主机


6、服务器安装ESXi7操作系统


7、更新ESXi补丁

# esxcli software sources profile list -d /vmfs/volumes/60071865-c14e10d6-bc6f-b4055d4dc1b4/ISO/VMware-ESXi-7.0U3w-24784741-depot.zip

Name                           Vendor        Acceptance Level  Creation Time        Modification Time
-----------------------------  ------------  ----------------  -------------------  -----------------
ESXi-7.0U3w-24784741-standard  VMware, Inc.  PartnerSupported  2025-07-15T00:00:00  2025-07-15T00:00:00
ESXi-7.0U3w-24784741-no-tools  VMware, Inc.  PartnerSupported  2025-07-15T00:00:00  2025-06-09T07:05:28

# esxcli software profile update -p ESXi-7.0U3w-24784741-standard -d  /vmfs/volumes/60071865-c14e10d6-bc6f-b4055d4dc1b4/ISO/VMware-ESXi-7.0U3w-24784741-depot.zip

8、配置 vSwitch0
负载均衡 修改为 基于 IP 哈希的路由
9、创建 vMotion 网络(vMotion_Network)用于虚拟机迁移。

10、FS6700和博科620SAN交换机配置区别

功能 Cisco(思科 MDS) Brocade(博科) 核心区别 / 注意事项
进入配置模式 conf t configure(很少用在zoning) Cisco 强依赖配置模式;Brocade zoning 多为直接命令
定义逻辑域 vsan database vsan 10 ❌(无 VSAN,单 Fabric) 最大区别:Cisco 支持 VSAN 多租户隔离,Brocade 不支持**
创建别名 fcalias name host1 vsan 10 member pwwn xx alicreate "host1","pwwn" 本质一样(alias),但 Cisco 必须绑定 VSAN
创建zone(两个成员) zone name zone1 vsan 10 member fcalias host1 member fcalias storage1 zonecreate "zone1","host1;storage1" Cisco 多行配置;Brocade 一行完成
添加成员到zone member fcalias host2 zoneadd "zone1","host2" Brocade 支持直接追加;Cisco 在 zone 下操作
创建zone集合 zoneset name zs1 vsan 10 member zone1 cfgcreate "cfg1","zone1" zoneset = cfg(最关键映射)
添加zone到集合 member zone2 cfgadd "cfg1","zone2" Cisco 是上下文命令;Brocade 是独立命令
激活配置 zoneset activate name zs1 vsan 10 cfgenable "cfg1" Cisco 按 VSAN 激活;Brocade 全局激活
保存配置 copy running-config startup-config cfgsave Brocade 不保存会丢;Cisco 也一样但机制不同
查看激活配置 show zoneset active vsan 10 cfgactvshow Cisco 需要指定 VSAN
查看全部配置 show zone cfgshow Brocade 输出更集中(含 alias/zone/cfg)

KVM 手动直通 NVIDIA 2080 Ti 显卡和 PCIe NVMe SSD

KVM 手动直通 NVIDIA 2080 Ti 显卡和 PCIe NVMe SSD

本文介绍在 KVM 虚拟化环境 下,将 NVIDIA 2080 Ti 显卡 和 PCIe NVMe SSD 手动直通到虚拟机(VM)的完整流程,包括:查看硬件、绑定 VFIO、修改 XML、更新 initramfs、启动虚拟机 等操作。

1、硬件信息查看
使用 lspci 命令查看 PCI 设备信息:
# 查看 NVMe 和显卡相关设备

 lspci -nn | grep NV
41:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU102 [GeForce RTX 2080 Ti] [10de:1e04] (rev a1)
41:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:10f7] (rev a1)
41:00.2 USB controller [0c03]: NVIDIA Corporation Device [10de:1ad6] (rev a1)
41:00.3 Serial bus controller [0c80]: NVIDIA Corporation Device [10de:1ad7] (rev a1)

# 查看NVMe SSD
3d:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a825

2、PCI设备加入 VFIO
VFIO(Virtual Function I/O)是 Linux 提供的一种 安全直通 PCI/PCIe 设备给虚拟机 的机制。
它的作用主要有:
将 PCIe 设备交给 QEMU/KVM 使用
避免宿主系统占用或干扰设备
提供安全、稳定的直通环境
绑定规则:
对显卡(多功能 device:GPU + Audio + USB + Serial)来说,需要 VFIO 绑定所有相关 function。
对 NVMe SSD,只需要绑定对应 device(通常 function 0)即可。
GPU:绑定所有功能(function 0~3)
NVMe SSD:只绑定 function 0

VFIO 配置(lspci -nn)
# VFIO 绑定绑定 Samsung NVMe SSD( lspci -nn )
echo "options vfio-pci ids=144d:a825" > /etc/modprobe.d/vfio.conf

# VFIO 绑定绑定显卡(lspci -nn)
echo "options vfio-pci ids=10de:1e04,10de:10f7,10de:1ad6,10de:1ad7" >> /etc/modprobe.d/vfio.conf

#加载模块
modprobe vfio
modprobe vfio-pci

3、更新 initramfs
为了保证 VFIO 模块在系统启动前加载,需要更新 initramfs

dracut -f
重启
reboot
验证是否成功
lspci -nnk | grep -A3 3d:00.0

4、虚拟机 XML 配置示例
#显卡直通 虚拟机XML文件

 <video>
      <model type='cirrus' vram='16384' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <hostdev mode='subsystem' type='pci' managed='no'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x41' slot='0x00' function='0x0'/>
      </source>
      <rom bar='on' file='/var/lib/zstack/pcirom/50aa30f480ed4937a300585c6b668fdf'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='no'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x41' slot='0x00' function='0x1'/>
      </source>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='no'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x41' slot='0x00' function='0x2'/>
      </source>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='no'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x41' slot='0x00' function='0x3'/>
      </source>
    </hostdev>
可以删除 <address> 元素,让 libvirt 自动选择空闲 PCI 地址,避免冲突。

#硬盘直通 虚拟机XML文件
<hostdev mode='subsystem' type='pci' managed='yes'>
  <driver name='vfio'/>
  <source>
    <address domain='0x0000' bus='0x3d' slot='0x00' function='0x0'/>
  </source>
  <address type='pci' domain='0x0000' bus='0x0f' slot='0x00' function='0x0'/>
</hostdev>
SSD PCI 地址必须与虚拟机其他设备不冲突,可手动指定唯一 bus/slot/function,或删除 <address> 让 libvirt 自动分配。

5、启动虚拟机

 virsh start ad7f750b87694a27a29f099e1c0dcd44

6、查看虚拟机的VNC端口号

[root@localhost ~]#  virsh vncdisplay ad7f750b87694a27a29f099e1c0dcd44
:0
#表示端口默认是5900,可以使用VNC客户端进行链接。

浪潮NF5280M7(Xeon 4514Y)与CS5280H3(HYGON 5480)平台对比及CPU升级指南

浪潮NF5280M7(Xeon 4514Y)与CS5280H3(HYGON 5480)平台对比及CPU升级指南
1、浪潮NF5280M7(Xeon 4514Y)平台

2、浪潮CS5280H3(HYGON 5480)平台

3、Intel 第四代与第五代 Xeon 平台说明
以 4514Y / 2.0GHz 为代表的 Intel 第四代、第五代 Xeon 可扩展处理器,已经全面进入新一代服务器平台,其核心硬件特征如下:

CPU 插槽:FCLGA4677(Socket E)
内存类型:DDR5
PCIe:5.0

平台代号:
* 第四代:Sapphire Rapids
* 第五代:Emerald Rapids

### 平台关键变化

与第三代平台相比,这一代属于架构级升级:

插槽由 LGA4189 → FCLGA4677
内存由 DDR4 → DDR5
PCIe 由 4.0 → 5.0
单颗 CPU 功耗明显提升
核心数密度提升

结论:第四/五代 CPU 必须搭配 DDR5 主板和内存,无法向下兼容。

4、Intel 第六代 Xeon 发展现状

目前 Intel 已推出更新一代 Xeon(行业通常称为第六代 Xeon),整体技术趋势包括:

继续基于 DDR5 内存体系
更高核心密度(含 E-core 架构)
更高带宽互连
更强调 AI / 向量计算能力
平台功耗进一步提升

重要判断:

从第四代开始,Xeon 平台已经全面进入 DDR5 时代,后续代际基本不会再回到 DDR4。

5、Intel Xeon 可扩展处理器代际与插槽

代际 架构代号 常见插槽 内存
第一代 Skylake-SP LGA3647 DDR4
第二代 Cascade Lake LGA3647 DDR4
第三代 Ice Lake LGA4189 DDR4
第四代 Sapphire Rapids FCLGA4677 DDR5
第五代 Emerald Rapids FCLGA4677 DDR5
第六代 Granite Rapids(演进中) 新平台演进 DDR5

### 规律总结
Intel 路线非常清晰:
1–2 代:同插槽
3 代:换插槽
4–5 代:新插槽
6 代:继续平台演进
几乎每 1–2 代就会出现平台级不兼容

6、海光(HYGON)平台说明

CPU_HYGON_5480 / 2.5GHz,属于海光四号处理器平台,是当前国产服务器的重要路线之一。

## 海光四号平台特征

内存类型:DDR5
面向:双路/多路服务器
架构:x86 兼容体系
定位:国产高性能服务器 CPU
与海光三号相比属于平台代际跃迁。

7、海光 CPU 插槽与代际关系
海光的升级逻辑与 Intel 类似:

代际升级 ≈ 平台升级

## 海光平台演进

平台代号 常见名称 内存代际 平台定位
海光三号 Dhyana DDR4 上一代主流
海光四号 新一代 Hygon DDR5 当前主流

### 兼容性结论

海光3号 ≠ 海光4号(CPU不可互换)
DDR4 平台 ≠ DDR5 平台
主板必须原生支持对应代际

8、标准升级检查清单(建议纳入流程)

在实施 CPU 或整机升级前,必须逐项确认:
[ ] CPU 插槽完全一致
[ ] 主板官方支持列表(QVL)
[ ] 内存代际匹配(DDR4 / DDR5)
[ ] 散热器满足 TDP
[ ] 电源冗余 ≥20%
[ ] BIOS / BMC 已更新
[ ] 是否涉及整个平台更换

浪潮 NF8480M4 服务器 CPU 升级 Xeon E7-8890 v4 实战与经验总结

一、平台兼容性确认(非常重要)
服务器型号:Inspur NF8480M4
当前CPU:Intel Xeon E7-4830 v4
- 架构:Broadwell-EX
- 插槽:LGA2011-1 (R3)
- 芯片组:C602J
- 核心数:14 核
- 线程数:28 线程
- 基础频率:2.10 GHz
- 最大睿频:3.00 GHz
- L3 缓存:35 MB
- 115W

目标 CPU:Intel Xeon E7-8890 v4
- 架构:Broadwell-EX
- 插槽:LGA2011-1 (R3)
- 芯片组:C602J
- 核心数:24 核
- 线程数:48 线程
- 基础频率:2.20 GHz
- 最大睿频:3.40 GHz
- L3 缓存:60 MB
- TDP:165W

支持 CPU 范围(E7 v4 系列)

型号 核心 / 线程 基础频率 L3 缓存 TDP
E7-4830 v4 14 / 28 2.10 GHz 35 MB 115 W
E7-4850 v4 16 / 32 2.10 GHz 40 MB 115 W
E7-4860 v4 18 / 36 2.60 GHz 45 MB 140 W
E7-8870 v4 18 / 36 2.40 GHz 45 MB 140 W
E7-8890 v4 24 / 48 2.20 GHz 60 MB 165 W

二、拆卸步骤(关键操作)
1、准备工具与材料
防静电手环;
十字螺丝刀;
酒精棉片/无尘布;
导热硅脂

2、NF8480M4 采用:四螺丝压框结构(对角锁紧)
本次:
- 四路服务器
- 拆除 2 颗
- 升级 2 颗

3、取下散热器
- 轻轻旋转松动
- 避免暴力拉起
- 清理旧硅脂

4、上硅脂
建议:
- 中心米粒法
- 不要涂满
- 不要过量

5、安装散热器

三、开机验证
进入 BIOS 查看:

- CPU 型号
- 核心数
- 主频

四、确认结果

五、完成另外两颗CPU升级(2026年3月2号)

浪潮 NF5280M5 服务器 CPU 升级 Xeon Gold 6248 实战与经验总结

充分盘活现有硬件资源,本次选取浪潮(Inspur)NF5280M5 服务器进行定向硬件升级,在不更换整机平台的前提下,将原配置的 Xeon Gold 6132 处理器升级为 Xeon Gold 6248

一、升级前确认(非常重要)

1、平台兼容性确认

浪潮 NF280M5 支持:Intel Xeon® Scalable 第一代(Skylake-SP)和 Intel Xeon® Scalable 第二代(Cascade Lake-SP)
- 插槽:LGA3647
- 芯片组:Intel C621

型号 核心 / 线程 基准频率 最大睿频 L3 缓存 TDP
Xeon Gold 6132(当前机型) 14 / 28 2.60 GHz 3.70 GHz 19.25 MB 140 W
Xeon Gold 6134 8 / 16 3.20 GHz 3.70 GHz 24.75 MB 130 W
Xeon Gold 6138 20 / 40 2.00 GHz 3.70 GHz 27.5 MB 125 W
Xeon Gold 6230 20 / 40 2.10 GHz 4.00 GHz 27.5 MB 125 W
Xeon Gold 6230R 26 / 52 2.10 GHz 4.00 GHz 35.75 MB 150 W
Xeon Gold 6248 20 / 40 2.50 GHz 3.90 GHz 27.5 MB 150 W
Xeon Gold 6252 24 / 48 2.10 GHz 3.90 GHz 35.75 MB 150 W
Xeon Platinum 8260 24 / 48 2.40 GHz 3.90 GHz 35.75 MB 205 W
Xeon Platinum 8270 26 / 52 2.70 GHz 4.00 GHz 35.75 MB 205 W
Xeon Platinum 8276L 28 / 56 2.20 GHz 4.00 GHz 38.5 MB 165 W
Xeon Platinum 8280 28 / 56 2.70 GHz 4.00 GHz 38.5 MB 205 W
Xeon Platinum 8280L(大内存版) 28 / 56 2.70 GHz 4.00 GHz 38.5 MB 205 W

2、型号推荐

高性能计算 / 大数据/虚拟化
推荐:Xeon Gold 6230R / Xeon Platinum 8260 / Platinum 8280

通用服务器负载(Web/应用/RDB)
推荐:Xeon Gold 6138 / Gold 6248 / Gold 6252

当前 CPU:Intel Xeon Gold 6132
- 架构:Skylake-SP
- 插槽:LGA3647
- 芯片组:C620 系列
- 核心数:14 核
- 线程数:28 线程
- 基础频率:2.60 GHz
- 最大睿频:3.70 GHz
- L3 缓存:19.25 MB
- TDP:140W

目标 CPU:Intel Xeon Gold 6248
- 架构:Cascade Lake-SP
- 插槽:LGA3647
- 芯片组:C620 系列
- 核心数:20 核
- 线程数:40 线程
- 基础频率:2.50 GHz
- 最大睿频:3.90 GHz
- L3 缓存:27.5 MB
- TDP:150W

3、散热器是否支持 150W

6132 TDP = 140W
6248 TDP = 150W

二、准备工具

- T30梅花内六角螺丝刀(长柄)
- 无水酒精
- 无尘布
- 硅脂(信越7921)
- 防静电措施

三、拆卸步骤(关键)

这种是 四螺丝压框结构,必须按顺序。

第一步:断电

- 关机
- 拔电源
- 按电源键 10 秒放电

第二步:拆散热器

NF5280M5 一般是四颗弹簧螺丝:

按对角线顺序慢慢松:

4 3 2 1

每颗螺丝分几次慢慢松,不要一次拧到底,防止主板受力不均

第三步:拆 CPU 扣具(LGA3647 重点)

- 使用卡片,按照缝隙,一点一点撬起来

四、安装新 CPU(6248)

1、把旧 CPU 从扣具取下

注意方向标识(三角标)

2、放回插槽

轻轻放入定位槽

五、涂硅脂 + 装散热器

- 中间一点或十字涂抹

3、安装CPU扣具和散热

(普通手感:拧紧到停止,不要暴力)

按顺序拧紧:1 2 3 4

六、开机验证

进 BIOS 看:

- CPU 型号
- 核心数
- 频率

七、NF5280M5 升级注意事项

1. 必须双路一致

如果是双路机器:

6132 + 6248 混插是不行的

必须两颗都换成 6248

2. 内存频率变化

6132 最高 2666
6248 支持 2933

如果内存支持 2933,会自动提升

3.Xeon Gold 6132 和 Xeon Gold 6248 参数对比

CPU 型号参数对比

项目 Xeon Gold 6132 Xeon Gold 6248
架构 Skylake Cascade Lake
制程工艺 14 nm 14 nm
核心数 14 核 20 核
线程数 28 线程 40 线程
基础频率 2.60 GHz 2.50 GHz
最大睿频 3.70 GHz 3.90 GHz
L3 缓存 19.25 MB 27.5 MB
TDP 140 W 150 W
内存支持 DDR4-2666 ECC(6 通道) DDR4-2933 ECC(6 通道)
插槽 LGA3647 LGA3647

浪潮 NF5280M4 服务器 CPU 升级 Xeon E5-2690 v4 实战与经验总结

一、背景说明

为搭建 KVM 虚拟化测试平台,充分盘活现有硬件资源,本次选取浪潮(Inspur)NF5280M4 服务器进行定向硬件升级,在不更换整机平台的前提下,将原配置的 Intel Xeon E5-2630 v4 处理器升级为 Intel Xeon E5-2690 v4。

二、CPU 型号参数对比

项目 Xeon E5-2630 v4 Xeon E5-2690 v4
架构 Broadwell-EP Broadwell-EP
制程工艺 14 nm 14 nm
核心数 10 核 14 核
线程数 20 线程 28 线程
基础频率 2.2 GHz 2.6 GHz
最大睿频 3.1 GHz 3.5 GHz
三级缓存 25 MB 35 MB
TDP 85 W 135 W
内存支持 DDR4-2400 DDR4-2400

当前 CPU:Intel Xeon E5-2630 v4
- 架构:Broadwell-EP
- 插槽:LGA2011-3
- 芯片组:C610 系列
- 核心数:10 核
- 线程数:20 线程
- 基础频率:2.20 GHz
- 最大睿频:3.10 GHz
- L3 缓存:25 MB
- TDP:85W

目标 CPU:Intel Xeon E5-2690 v4
- 架构:Broadwell-EP
- 插槽:LGA2011-3
- 芯片组:C610 系列
- 核心数:14 核
- 线程数:28 线程
- 基础频率:2.60 GHz
- 最大睿频:3.50 GHz
- L3 缓存:35 MB
- TDP:135W

三、准备工具与材料

防静电手环;
十字螺丝刀;
酒精棉片/无尘布;
导热硅脂。

四、服务器下电与拆机

正常关闭操作系统;
断开服务器电源线及所有外设连接;
按压静电释放按钮(如有),佩戴防静电手环;
打开服务器上盖。

五、CPU 拆卸顺序说明

拆卸顺序原则:
先拆 CPU2(副 CPU,通常靠近扩展槽一侧);
再拆 CPU1(主 CPU,通常靠近内存通道 0)。

原因:
避免在操作过程中对主 CPU 区域造成误触;
便于空间操作和散热器取放。

六、拆卸原有 CPU(E5-2630 v4));垂直取出旧 CPU,放入防静电盒中保存。

七、安装新 CPU(E5-2690 v4)对齐 CPU 金色三角标识与插槽标识;垂直放入 CPU,确认完全贴合;按顺序压下插槽压杆并锁定;清理散热器底部旧硅脂,重新均匀涂器拧紧螺丝。

双路服务器需 CPU1、CPU2 同步更换为同型号处理器,避免兼容及性能问题。

八、上电检查与验证

盖好服务器上盖,连接电源,登录操作系统;