July's Blog - PVE&ESXI
type: channel
link: https://yangwenqing.com/category/kvm/
description: 虚拟机
items: PVE虚拟机增加一个NVIDIA vGPU显示器让VNC输出vGPU画面
items: PVE9：主机只有无线网卡|不插网线如何来玩转PVE
items: 给你的PVE虚拟机自定义GPU显卡型号
items: 给你的PVE虚拟机自定义CPU模型/型号
items: 在ESXI 8.0下使用NVIDIA vGPU19.0显卡虚拟化拆分技术---应用于Windows/Ubuntu系统
items: PVE9：用NVIDIA vGPU19.0虚拟化显卡拆分在虚拟机玩游戏
items: 为啥浏览器登录PVE管理后台，没2分钟就要我重新验证登录？
items: PVE直通硬件后，为啥内存不能动态调整?
items: 在PVE9.0下使用NVIDIA vGPU19.0显卡虚拟化拆分技术--应用于Windows/Ubuntu系统
items: PVE8升级PVE9 在线升级｜重装还原 2 种方式

PVE虚拟机增加一个NVIDIA vGPU显示器让VNC输出vGPU画面
type: item
date: 2026-04-01T15:51:00+08:00
description: 起因背景我们在使用NVIDIA vGPU切分显卡资源给虚拟机后，这台虚拟机就会存在2个虚拟屏幕，一个是PVE的VNC窗口，一个是NVIDIA VGX虚拟屏幕，当我们在PVE的VNC窗口操作虚拟机的话，部分应用又无法调用到GPU资源，把VNC窗口设置“无”即NONE的话只能借助外部远程工具连接虚拟机，PVE的VNC窗口又不工作。所以这里参考佛西：为vgpu设备添加mdev gpu类型的补丁给PVE9打上。让VNC窗口直接输出vGPU显卡画面。支持类型说明版本系统PVE 9.1.6内核Linux pve9 6.17.13-2-pvepve-qemu-kvm10.0.2-7支持虚拟机类型SeaBIOS/OVMF正常工作版本vGPU11/16/17/18不工作版本vGPU19修改QemuServer.pm可以使用nano命令来编辑QemuServer.pm文件nano /usr/share/perl5/PVE/QemuServer.pm1）第一处，在这句结尾加入mdev参数 enum => [ - qw(cirrus qxl qxl2 qxl3 qxl4 none serial0 serial1 serial2 serial3 std virtio virtio-gl vmware) ],修改完成后效果： enum => [ + qw(cirrus qxl qxl2 qxl3 qxl4 none serial0 serial1 serial2 serial3 std virtio virtio-gl vmware mdev) ],2）第二处，在这句结尾加入'mdev' => 'mdev',参数my $vga_map = { 'cirrus' => 'cirrus-vga', 'std' => 'VGA', 'vmware' => 'vmware-svga', 'virtio' => 'virtio-vga', 'virtio-gl' => 'virtio-vga-gl', };修改完成后效果：my $vga_map = { 'cirrus' => 'cirrus-vga', 'std' => 'VGA', 'vmware' => 'vmware-svga', 'virtio' => 'virtio-vga', 'virtio-gl' => 'virtio-vga-gl', + 'mdev' => 'mdev', };3）第三处，在这句中加入if ($vga->{type} ne 'mdev'){ if判断语句，别忘了后面还有个括号}参数push @$cmd, '-no-reboot' if defined($conf->{reboot}) && $conf->{reboot} == 0; if ($vga->{type} && $vga->{type} !~ m/^serial\d+$/ && $vga->{type} ne 'none') { push @$devices, '-device', print_vga_device($conf, $vga, $arch, $machine_version, undef, $qxlnum, $bridges); push @$cmd, '-display', 'egl-headless,gl=core' if $vga->{type} eq 'virtio-gl'; # VIRGL修改完成后效果：push @$cmd, '-no-reboot' if defined($conf->{reboot}) && $conf->{reboot} == 0; if ($vga->{type} && $vga->{type} !~ m/^serial\d+$/ && $vga->{type} ne 'none') { + if ($vga->{type} ne 'mdev'){ push @$devices, '-device', print_vga_device($conf, $vga, $arch, $machine_version, undef, $qxlnum, $bridges); + } push @$cmd, '-display', 'egl-headless,gl=core' if $vga->{type} eq 'virtio-gl'; # VIRGL4）第四处，在这句结尾加入|mdev参数，让Mdev显示器支持spcie协议,如果要用SPICE协议云桌面办公的建议加上（可选） my $spice_port; assert_clipboard_config($vga); - my $is_spice = $qxlnum || $vga->{type} =~ /^virtio/;修改…

PVE9：主机只有无线网卡|不插网线如何来玩转PVE
type: item
date: 2026-02-08T19:24:00+08:00
description: PVE9：主机只有无线网卡|不插网线如何来玩转PVE快过年了，不要再讨论什么 NAS、HTPC、OpenWrt了。你带你的大机箱回到家并不能给你带来任何实质性作用，朋友们兜里掏出一大把钱吃喝玩乐，你默默的在家里摆弄你的破群晖。亲戚朋友吃饭问你收获了什么，你说我组了一个 RAID 0 的 ALL IN ONE，亲戚们懵逼了，你还在心里默默嘲笑他们，笑他们不懂你的刮削器，不懂你的 Auto Backup，也笑他们看爱奇艺还要忍受会员专属广告。你父母的同事都在说自己的子女一年的收获，儿子买了个房，女儿买了个车，姑娘升职加薪了，你的父母默默无言，说我的儿子装了个黑盒子，开起来嗡嗡响、家里电表走得越来越快了。起因，老家有台闲置的老旧笔记本，没有有线网卡，只有个无线WiFi。只能通过连WiFi上网，反正在家也是闲着就来捣鼓一下在不插网线的情况，通过WiFi来玩转PVE。准备工作1）一台有无线网卡的x86主机2）一个U盘（用于安装PVE/放置离线软件包）3）下载PVE9.1.1 ISO安装包4）下载balenaEtcher烧录工具安装PVE把大象装冰箱总共分几步？答：三步，第一步把冰箱门打开；第二步把大象装进去；第三步把冰箱门关上。PVE烧录U盘提前把balenaEtcher烧录工具和PVE9.1.1镜像下载好，用balenaEtcher烧录工具将PVE镜像写入U盘，然后插到主机进行安装。PVE图形安装将U盘接入主机引导启动到PVE安装界面，采用第一种图形化界面Install Proxmox VE (Graphical）进行安装。PVE图形界面手动分区安装示意图：如果遇到第一种图形界面安装不成功，出现白屏黑屏或者没法继续的时候，更推荐采用第二种终端化界面Install Proxmox VE (Terminal UI）进行安装。PVE终端化界面手动安装示意图：查看自己网卡名称PVE安装好后，可以执行ip -c a来查看无线网卡名称，我的是wls16配置无线因为设备只有一个无线网卡，即使安装好PVE，我们也无法在另一台电脑上正常访问PVE的管理后台以及联网安装软件啥的，需要先配置好无线网络才能正常访问PVE后台和联网。下载安装包到U盘我们可以找个U盘将其格式化成fat32格式，然后将以下5个deb安装包下载好并拷到U盘，将U盘插到PVE机器上，挂载进行安装。# 下载WIFI认证和扫描工具以及相关依赖包 https://mirrors.ustc.edu.cn/debian/pool/main/w/wpa/wpasupplicant_2.10-24_amd64.deb https://mirrors.ustc.edu.cn/debian/pool/main/w/wireless-tools/wireless-tools_30~pre9-18+b1_amd64.deb https://mirrors.ustc.edu.cn/debian/pool/main/w/wireless-tools/libiw30t64_30~pre9-18+b1_amd64.deb https://mirrors.ustc.edu.cn/debian/pool/main/libn/libnl3/libnl-genl-3-200_3.7.0-2_amd64.deb https://mirrors.ustc.edu.cn/debian/pool/main/p/pcsc-lite/libpcsclite1_2.3.3-1_amd64.deb挂载U盘并安装PVE主机接好键鼠和显示器并将U盘插到设备上去，登录到控制台并将U盘挂载安装离线软件包# 进入U盘挂载路径 cd /mnt/sdb1/ # 执行安装5个deb包 dpkg -i ./*.deb测试无线网卡可以执行以下命令来测试无线网卡是否可以正常工作了# 启用无线网卡，wls16改成自己网卡名称 ip link set wls16 up # 搜索附近可用WIFI，wls16改成自己网卡名称，执行后会列出一堆WiFi信息 iwlist wls16 scanning生成个WIFI密钥因为不能直接用WiFi名称+WiFi密码进行连接，所以我们要给要连接的WiFi生成一个WiFi密钥，以下是我家的WiFi和密码，自行替换成自己的WiFi信息# 执行以下命令生成WIFI密钥，yangwenqing_5G是wifi的名称，12345678是wifi的密码 wpa_passphrase yangwenqing_5G 12345678 # 输入结果如下： root@pve9:~# wpa_passphrase yangwenqing_5G 12345678 network={ ssid="yangwenqing_5G" #psk="1234567…

给你的PVE虚拟机自定义GPU显卡型号
type: item
date: 2025-12-11T21:51:00+08:00
description: 给你的PVE虚拟机自定义GPU显卡型号没钱买5090显卡怎么办？咱就自己骗自己，模拟一个出来。GPU ID模拟在直通GPU时，你通常可以看到PCI菜单下方有 供应商 ID 设备 ID 和子供应商 ID 子系统 ID这4个值，如果我们把显卡对应的信息填入，就能覆盖原来的GPU ID 从而模拟成一张5090的显卡。[scode type="blue"]GPU ID 覆盖供应商ID ：指显卡供应商；三巨头 NVIDIA：10de Intel：8086 AMD：1002；设备 ID：指显卡ID值，填5090的ID则任务管理器就显示5090型号；子供应商 ID：可以理解为代工厂，比如华硕，微星，技嘉代供出来的显卡，这个选项可以留空不填；子设备 ID：同理，代工厂的设备ID，这个选项可以留空不填；如这张华硕的5090的显卡：把这些信息填到PVE处：这些显卡型号的设备ID值可以从这些网站得到：https://www.techpowerup.com/vgabios/https://admin.pci-ids.ucw.cz/read/PC/8086[/scode]当然你模拟的显卡型号和使用的驱动得跟你原来设备兼容才行，不兼容强制模拟显卡是没法正常工作的。像我用的是1080ti显卡模拟成5090显卡是完全可以的，两者都是用的同一系列的GeForce驱动。你如果把1080ti模拟成AMD 5700XT肯定是不行的跨度太大了。1080ti模拟5090核显UHD630模拟HD610

给你的PVE虚拟机自定义CPU模型/型号
type: item
date: 2025-12-11T20:26:00+08:00
description: 给你的PVE虚拟机自定义CPU模型/型号通常我们的PVE虚拟机习惯把CPU的类别设置为host模型，这样既能获得与宿主机CPU几乎完全相同的指令集和性能又可以在虚拟机看到的CPU就是宿主机CPU型号。如何查看虚拟机的CPU有哪些特征和指令集？qm show vmid --pretty# 查看107虚拟机CPU支持哪些指令集和特征 qm show 107 --pretty # 以下是截取的部分CPU信息 ... -cpu 'host,hv_ipi,hv_relaxed,hv_reset,hv_runtime,hv_spinlocks=0x1fff,hv_stimer,hv_synic,hv_time,hv_vapic,hv_vpindex,+kvm_pv_eoi,+kvm_pv_unhalt' ...可以看到虚拟机给CPU设置host模型后会有以上特征和指令集。自定义CPU模型如果我们想删掉/增加一些特征或者指令集，则可以在PVE上创建一个自定义CPU模型。比如我要创建一个支持"套娃"和隐藏虚拟机特征来绕过某些反作弊机制的游戏：nano /etc/pve/virtual-guest/cpu-models.conf使用nano命令创建以下内容# Intel处理器 cpu-model: Intel-Gaming flags -hypervisor;+invtsc;+hv-frequencies;+hv-evmcs;+hv-reenlightenment;+hv-emsr-bitmap;+hv-tlbflush-direct;+vmx;+pcid;+ssbd;+md-clear;+stibp;-vmware-cpuid-freq phys-bits host hidden 1 hv-vendor-id GenuineIntel reported-model host # AMD处理器 cpu-model: AMD-Gaming flags -hypervisor;+invtsc;+hv-frequencies;+hv-reenlightenment;+hv-emsr-bitmap;+hv-tlbflush-direct+svm;+topoext;-vmware-cpuid-freq phys-bits host hidden 1 hv-vendor-id AuthenticAMD reported-model host[scode type="blue"]语法如下：cpu-model: 自定义CPU模型名称；flags: CPU的特征或者指令集,+号就是增加，-号就是去除；hidden: 填0|1，是否隐藏虚拟机特征，0否，1是；phys-bits: 填32-64或者host(宿主机本身)，可以理解为多少位处理器；hv-vendor-id: 供应商 ID。自定义填写reported-model: 链接CPU模型，例如Skylake-Client-v4|EPYC-Milan-v2|kvm64|host...[/scode]设置好后，我们在CPU类别处就能看到我们自定义好的CPU模型如宿主机用的是Intel处理器则用Intel-Gaming如果用的是AMD处理器则选AMD-Gaming可以看到我们使用原始host模型和使用自定义Intel-Gaming模型差别还是挺大的，取消了虚拟机特征和支持套娃在虚拟机跑hyperV,安卓模拟器，docker和玩些不让在虚拟机运行的端游都是没有问题的。自定义CPU型号如果不想暴露宿主机CPU型号给虚拟机，我们还可以对CPU型号进行随意模拟伪装。先在网上找张CPU-Z图片，比如这张：Intel(R) Core(TM) i9-9900可以看到i9-9900的family值为6；model值为9E,Stepping值为C。由于我们qemu虚拟机只支持10进制，还需要将model值、Stepping值从16进制转为10进制。转为10进制的model值为：158；转为10进制的Stepping值为：12；# 将VMID换成自己要模拟的虚拟机ID qm set <VMID> --args "-global cpu.model-id='Intel(R) Core(TM) i9-9900 @ 3.60GHz' -global cpu.family=6 -global cpu.model=158 -global cpu.stepping=12"高级CPU欺诈法超线程i9-9900是一颗8核16线程的处理器，上面只是对型号做了更改，并为对核心跟线程进行伪装。如要把核心和线程进行伪装可以使用-smp参数（注意smp参数是真实有效的并非装饰，当然如果你宿主机本身就只有4核4线程，把它设置成8核16线程也只能有4核4线程性能，你…

在ESXI 8.0下使用NVIDIA vGPU19.0显卡虚拟化拆分技术---应用于Windows/Ubuntu系统
type: item
date: 2025-11-18T20:49:00+08:00
description: 在ESXI 8.0下使用NVIDIA vGPU19.0显卡虚拟化拆分技术---应用于Windows/Ubuntu系统来更新一篇ESXI版本的NVIDIA vGPU教程，本次用到的版本是ESXI8.0，由于ESXI9.0的授权模式变为了订阅制且放弃了中文语言，无法再用【神秘代码】激活白嫖了。所以白嫖党停留到了ESXI8，富哥们可以使用ESXI9.0，安装方式是一样的。本次演示的NVIDIA vGPU 版本是19.0版本，这个版本也是最后一个支持老架构的vGPU显卡了，以后的版本只会支持Ampere/Ada/Blackwell架构及其他新架构GPU卡。由于NVIDIA vGPU相关设置都需要在vCenter操作，所以还需要安装VCSA，需要将ESXI主机加入到vCenter进行管理，才能完整使用vGPU。硬件配置配置型号ESXI版本ESXI 8.0U2-22380479VCSA版本VCSA 8.0.2-22617221主板技嘉 Z370 HD3 大板CPUIntel(R) CC150 CPU @ 3.50GHz 8核16线程内存64G DDR4显卡NVIDIA L4NVIDIA vGPU驱动580.65.05[collapse status="false" title="NVIDIA vGPU支持的显卡列表 点我展开 "]适用于vGPU显卡型号和支持的版本，后续更新可以前往官网查询：https://docs.nvidia.com/vgpu/gpus-supported-by-vgpu.htmlGPU架构GPU名称首个支持的版本最后支持的版本MaxwellTesla M104.019.xMaxwellTesla M602.016.xMaxwellTesla M62.016.xPascalTesla P1005.016.xPascalTesla P405.016.xPascalTesla P45.016.xPascalTesla P65.016.xVoltaTesla V1006.019.xTuringQuadro RTX 60008.019.xTuringQuadro RTX 6000 passive10.019.xTuringQuadro RTX 80008.019.xTuringQuadro RTX 8000 passive10.019.xTuringTesla T47.1待定AmpereNVIDIA A214.0待定AmpereNVIDIA A1012.2待定AmpereNVIDIA A1613.0待定AmpereNVIDIA A4012.0待定AmpereNVIDIA RTX A500012.2待定AmpereNVIDIA RTX A550014.0待定AmpereNVIDIA RTX A600012.0待定AdaNVIDIA L216.3待定AdaNVIDIA L415.2待定AdaNVIDIA L2016.3待定AdaNVIDIA L4015.2待定AdaNVIDIA L40S16.1待定AdaNVIDIA RTX 5000 Ada16.1待定AdaNVIDIA RTX 5880 Ada17.0待定AdaNVIDIA RTX 6000 Ada15.2待定BlackwellNVIDIA RTX PRO 600019.0待定[/collapse]NVIDIA vGPU Host 驱动安装进入维护模式1）在ESXI界面开启SSH服务，并进入维护模式（把ESXI里运行的虚拟机关闭电源否则无法进入维护模式）后面要通过SSH工具登录到ESXI后台安装驱动2）将下载下来的NVIDIA VGPU驱动进行解压,把Host_Drivers文件夹里的nvd-gpu-mgmt-daemon_580.65.05-0.0.0000.zip和NVD-VGPU-800_580.65.05-1OEM.800.1.0.20613240.zip并上传到ESXI的/tmp路径安装vGPU host驱动1）通过SSH工具登录到ESXI，安装NVIDIA vGPU host驱动# 安装 NVD-VGPU-800_580.65.05-1OEM.800.1.0.20613240.zip esxcli software component apply -d /tmp/NVD-VGPU*.zip # 安装 nvd-gpu-mgmt-daemon_580.65.05-0.0.0000.zip esxcli software component apply -d /tmp/nvd-gpu-mgmt-daemon*.zip # 安装完成后，执行重启 reboot2）安装记录如下：Last login: Sat Aug 17 23:47:48 on ttys001 july@Ju…

PVE9：用NVIDIA vGPU19.0虚拟化显卡拆分在虚拟机玩游戏
type: item
date: 2025-09-22T09:19:00+08:00
description: PVE9：用NVIDIA vGPU19.0虚拟化显卡拆分在虚拟机玩游戏记录6.14内核的PVE9配置NVIDIA vGPU19.0版本的显卡虚拟化拆分，并在虚拟机里玩游戏。NVIDIA vGPU是一项由 NVIDIA 开发的虚拟化技术。它允许单个物理的 NVIDIA GPU（显卡）被多个虚拟机（VM）同时、直接地共享使用。注意它不是一个免费的项目，需要购买软件许可vGPU License才能完整的使用vGPU。本文涉及的vGPU解锁和授权驱动功能是基于开源社区方案实现，仅限个人测试、学习及非商业用途，商用可能存在法律风险。技术支持如果你是萌新或者是对PVE基础较弱的用户，频道提供专属的技术护航服务服务目录服务内容价格表渠道入口资源包提供本文用到的PVE镜像+虚拟机还原包；自行看教程部署无任何技术支持；19.9元购买入口技术支持提供疑难解答、远程支持：如去虚拟化、安装虚拟机、安装驱动等；不足一小时按小时收取费用；50元/小时购买入口一条龙部署提供从0-1的远程部署服务；提供简单的使用培训；提供3天的售后和支持；99元购买入口所需资料[scode type="green"]定制版PVE镜像包-ISO版--推荐镜像使用说明：如果你用预装版的PVE镜像包安装不成功，或者无法在你的设备上正常初始化，又或者你想使用冗余raid1或者ZFS模式来安装PVE。那么你可以用这个PVE ISO镜像来安装。安装方式跟常规的PVE安装方法一样。将ISO镜像写入U盘插到设备进行安装，安装好后登录PVE后台打开PVE Shell窗口进行一键部署，本镜像需要PVE联网下载依赖包来部署环境镜像更新说明：1）基于PVE 9.1.1 内核Linux 6.17.2-1-pve版本完成构建；2）集成一键初始化脚本：一键为PVE9合并local分区|换源|开启IOMMU|屏蔽NVIDIA显卡|去订阅弹窗等；3）集成一键部署vGPU脚本：一键安装NVIDIA vGPU Host驱动（11|16|17|18|19）和vGPU Unlock-rs服务；4）集成一键去虚拟化脚本：规避虚拟机检测，模拟真实硬件环境，让软件或者端游在虚拟机中运行;5）集成一键随机硬件脚本：为每台虚拟机生成独立的硬件信息（主板|CPU|内存|硬盘|BIOS|机器码）;6）集成一键随机显卡脚本：给每台虚拟机生成一张Quadro专业卡/Geforce消费卡,虚拟机需要NVIDIA vGPU支持;7）集成一键虚拟机多开脚本：批量克隆虚拟机|同步母机数据盘|批量删除虚拟机；8）提供Fastapi-dls 授权驱动服务的LXC还原包，90天周期，到期自动续期;9）提供WIN10 22h2 X64 虚拟机的还原包，还原后请添加vGPU显卡设备并配置好驱动授权;10）提供WIN7 X64 旗舰版虚拟机的还原包，还原后请添加vGPU显卡并运行脚本模拟专业卡型号;预装版PVE镜像包-无桌版镜像使用说明：1）预装版就是环境都帮你部署好了，不用你另外联网安装啥的。你只需要烧录硬盘启动即可；2）镜像无绑定限制，可重复使用。本镜像为无桌面版本，需要用第二台机器做主控机进行管理PVE；3）对于一些不能接入外网的用户或者多机器想减少重复部署工作的工作室，预装版是个不错的选择；镜像更新说明：1）基于PVE 9.1.4 内核Linux 6.14.11-5-pve版本进行封装；2）该镜像大小32GB，管理账号：root,密码：123456；3）管理口默认为主机的第一个口，默认IP：10.10.10.123，默认网关：10.10.10.10；4）提前预装了vGPU安装前所需的依赖包，如要使用N卡做vGPU拆分，执行脚本安装vGPU驱动即可;5）提供Fastapi-dls 授权驱动服务的LXC还原包，90天周期，到期自动续期;6）提供WIN10 22h2 X64 虚拟机的还原包，还原后请添加vGPU显卡设备并配置好驱动授权;7）提供PVE脚本（更改PVE管理IP|扩容系统盘剩余空间|安装vGPU驱动11/16/17/18/19|安装/卸载去虚拟化KVM包|定制硬件信息|模拟显卡信息|批量克隆/同步/删除虚拟机）登录SSH自动运行；预装版PVE镜像包-桌面版镜像使用说明：1）镜像安装了GNOME图形界面，对实在找不到第二台机器来做主控机的用户友好；2）PVE既是被控端也是主控端，不需要找第2台机器去管理PVE，直接在当前PVE的浏览器登录PVE后台即可；3）前提是你机器最少要2张显卡，可以核显（核显用于输出显示器）+独显（N卡用于vGPU）或者2个独显（A卡用于输出显示器，N卡用于vGPU）的搭配，因为N卡做了vGPU是没法输出显示器的，输出显示器就没法使用vGPU，记得在BIOS将显卡第一显示改核显或者要输出显示器的独显A卡；镜像更新说明…

为啥浏览器登录PVE管理后台，没2分钟就要我重新验证登录？
type: item
date: 2025-08-30T13:56:00+08:00
description: 为啥浏览器登录PVE管理后台，没2分钟就要我重新验证登录？这是由于PVE时间不对导致的，当您登录时，PVE会生成一个有时效性的令牌（通常默认是2小时）。这个令牌的有效期计算严重依赖于节点的系统时间。如果PVE主机的系统时间比实际时间慢或者快了很多（例如，慢|快了1小时），那么它生成的令牌在生成的那一刻起，对于其他时间正确的客户端（如你的浏览器）来说，可能已经“过期”了，或者很快就会过期。这就导致了“刚登录就提示需要重新验证”的现象。修正BIOS时间：这是最根本的一步。所有后续操作都建立在系统时间正确的前提下。请进入设备的BIOS设置界面，确保硬件时钟（Hardware Clock）的时间、日期和时区设置正确。删除集群状态锁文件：删除高可用相关的状态文件。时间错误可能导致这些文件内部记录的时间戳异常，删除它们可以清除错误状态。同时删除集群的锁文件，集群通过锁机制来管理多节点对共享配置的并发访问。时间混乱会破坏锁机制，导致集群服务出现异常。删除这些锁文件可以解除错误的锁定状态。rm -rf /etc/pve/ha/ rm -rf /etc/pve/priv/lock/注意：/etc/pve/ 是一个由 pve-cluster 服务维护的虚拟文件系统，它实际是集群配置的实时视图。在这些路径下执行删除操作是安全的，因为必要的文件会在服务重启后由集群重新生成。重启集群服务：systemctl restart pve-cluster重新读取认证信息stat /etc/pve/authkey.pub /etc/pve/authkey.pub.old touch /etc/pve/authkey.pub touch /etc/pve/authkey.pub.old重启Proxmox VE的集群服务。服务重启后，它会基于当前正确的系统时间，重新初始化并生成步骤2中删除的那些状态文件和锁文件，从而使集群回到一个健康的状态。

PVE直通硬件后，为啥内存不能动态调整?
type: item
date: 2025-08-30T12:53:00+08:00
description: PVE直通硬件后，为啥内存不能动态调整?你是不是在 Proxmox VE（PVE） 里给虚拟机直通显卡、网卡后，发现内存不能自动调整了？别慌！ 这是正常现象，今天用人话解释原因，并教你正确设置！直通硬件后，内存必须固定当你把显卡、网卡、硬盘控制器 等硬件直通给虚拟机时：1）硬件需要直接访问内存（DMA 技术），不能中途变来变去。2）动态调整内存（Ballooning） 会导致硬件找不到内存地址，可能崩溃或出错！3）所以 PVE 强制要求直通时内存必须固定！当然像ESXI及其他虚拟机平台应该都是如此。正确设置方法（超简单）打开 PVE 网页管理界面，找到你的虚拟机。点击 “硬件” → “内存” → 取消勾选 “Ballooning”。在 “内存” 输入框填写固定值（比如 8192 = 8GB）。保存！ 搞定！注意事项1）直通硬件越多，内存越要固定。（比如直通显卡+网卡，建议预留足够内存）2）如果内存不够用？ 只能关闭虚拟机，手动调大内存再启动。3）PVE外部显示的内存使用率仅供参考，具体实际使用请在虚拟机里查看。4）动态内存（Ballooning）只适合普通非直通的虚拟机。同时要想PVE外部正常显示CPU使用率、内存使用率、磁盘大小、IP地址，正常开关机。你还需要给虚拟机安装QEMU Guest Agent驱动，然后再给虚拟机启用QEMU Guest Agent。做完这2步虚拟机的概要信息和正常开关机就都正常了。总结✅ 直通硬件 = 内存固定，这是技术限制，不是 BUG！✅ 关闭 Ballooning + 手动设置内存 就能解决！✅ 内存不够？ 提前多分点，避免虚拟机卡死！

在PVE9.0下使用NVIDIA vGPU19.0显卡虚拟化拆分技术--应用于Windows/Ubuntu系统
type: item
date: 2025-08-27T20:51:00+08:00
description: 在PVE9.0下使用NVIDIA vGPU19.0显卡虚拟化拆分技术--应用于Windows/Ubuntu系统记录6.14内核的PVE9.0.3版本配置NVIDIA vGPU19.0版本的显卡虚拟化拆分，NVIDIA vGPU是一项由 NVIDIA 开发的虚拟化技术。它允许单个物理的 NVIDIA GPU（显卡）被多个虚拟机（VM）同时、直接地共享使用。注意它不是一个免费的项目，需要购买软件许可vGPU License才能完整的使用vGPU。本文涉及的vGPU功能基于开源社区方案实现，仅限个人测试、学习及非商业用途，禁止用于商业生产环境。硬件配置演示的显卡依旧是哥布林救出来的“女生一手自用P106-100”显卡配置型号系统PVE 9.0.3内核Linux pve9 6.14.8-2-pvepve-qemu-kvm10.0.2-4CPUIntel Core CC150 @ 3.5GHz 8核16线程显卡七彩虹 P106-100 6144 MBvGPU驱动580.65.05显卡支不支持vGPU虚拟化，可以点开下边列表进行查阅。[collapse status="false" title="vGPU_Unlock支持的显卡列表 点我展开"][scode type="blue"]以下 Maxwell\Pascal\Turing架构的显卡均支持vGPU，Ampere架构的30系及之后的消费卡暂不支持Maxwell 架构:（GTX 9xx、Quadro Mxxxx、Tesla Mxx）Pascal 架构:（GTX 10xx、Quadro Pxxxx、Tesla Pxx）Turing 架构:（GTX 16xx、RTX 20xx、Quadro RTXxx、Tesla Txx）设备ID显卡型号vGPU模拟型号21c4TU116 GeForce GTX 1660 SUPERQuadro RTX 600021d1TU116BM GeForce GTX 1660 Ti MobileQuadro RTX 600021c2TU116Quadro RTX 60002182TU116 GeForce GTX 1660 TiQuadro RTX 60002183TU116Quadro RTX 60002184TU116 GeForce GTX 1660Quadro RTX 60002187TU116 GeForce GTX 1650 SUPERQuadro RTX 60002188TU116 GeForce GTX 1650Quadro RTX 60002191TU116M GeForce GTX 1660 Ti MobileQuadro RTX 60002192TU116M GeForce GTX 1650 Ti MobileQuadro RTX 600021aeTU116GLQuadro RTX 600021bfTU116GLQuadro RTX 60002189TU116 CMP 30HXQuadro RTX 60001fbfTU117GLQuadro RTX 60001fbbTU117GLM Quadro T500 MobileQuadro RTX 60001fd9TU117BM GeForce GTX 1650 Mobile RefreshQuadro RTX 60001ff9TU117GLM Quadro T1000 MobileQuadro RTX 60001fddTU117BM GeForce GTX 1650 Mobile RefreshQuadro RTX 60001f96TU117M GeForce GTX 1650 Mobile / Max-QQuadro RTX 60001f99TU117MQuadro RTX 60001faeTU117GLQuadro RTX 60001fb8TU117GLM Quadro T2000 Mobile / Max-QQuadro RTX 60001fb9TU117GLM Quadro T1000 MobileQuadro RTX 60001f97TU117M GeForce MX450Quadro RTX 60001f98TU117M GeForce MX450Quadro RTX 60001f9cTU117M GeForce MX450Quadro RTX 60001f9dTU117M GeForce GTX 1650 Mobile / Max-QQuadro RTX 60001fb0TU117GLM Quadro T1000 MobileQuadro RTX 60001fb1TU117GL T600Quadro RTX 60001fb2TU117GLM Quadro T400 MobileQuad…

PVE8升级PVE9 在线升级｜重装还原 2 种方式
type: item
date: 2025-08-08T20:05:00+08:00
description: PVE8升级PVE9 在线升级｜重装还原 2 种方式今年下半年，ESXi （6月17日）和 Proxmox VE（8月5日） 两家虚拟化平台都迎来了自己的9.0正式版。此次ESXI9.0的授权模式也变为了订阅制且放弃了中文语言，不能再用【神秘代码】激活白嫖了。 ::aru:crying:: PVE9 用上了Debian 13“Trixie”来构建，默认搭载Linux 6.14内核，软件也紧跟主流，QEMU 升级到 10.0.24 LXC 用上 6.0.4 ZFS 2.3.3 Ceph Squid 19.2.3 等。下边跟着我将 PVE8 升级到 PVE9 吧。升级前准备务必做好备份！务必做好备份！务必做好备份！可以外挂个硬盘或者U盘挂载到 PVE 的/mnt/pve/media 下把 PVE 相关设置配置文件备份到外设硬盘。PVE信息备份(必须)PVE的存储信息，虚拟机信息，集群的设置比如标签、SDN、用户信息之类都存储在/var/lib/pve-cluster/路径下。一共三个文件config.db config.db-shm config.db-walcp -r /var/lib/pve-cluster /mnt/pve/mediaPVE配置备份(可选)/etc目录还是有必要存一份的，像一些硬盘挂载文件是存放在/etc/systemd/system/下的，即使你还原了PVE配置信息，也不会帮你创建回来，需要自己拷回去。备份 /etc 目录：这个目录包含了所有的系统配置（网络、存储、用户、证书等）。tar -czvf /mnt/pve/media/pve8_etc_backup_$(date +%Y%m%d).tar.gz /etc备份关键配置文件：# 主机名信息 /etc/hosts # 网络信息 /etc/network/interfaces # 存储信息 /etc/pve/storage.cfg # 用户信息 /etc/pve/user.cfg # 集群信息 /etc/pve/corosync.conf[scode type="green"]如何还原？PVE升级失败了，进不了系统，也别灰心。只需要重装好PVE，将前面备份的PVE信息进行还原即可。备份之前的PVE主机名必须和重装后的PVE主机名一致，比如你原来的主机名叫做PVE，那你新装了之后也要叫PVE。在新装的PVE上，挂载U盘到/mnt/pve/media，将3个文件拷贝回去即可。cp /mnt/pve/media/config.db /var/lib/pve-cluster cp /mnt/pve/media/config.db-shm /var/lib/pve-cluster cp /mnt/pve/media/config.db-wal /var/lib/pve-cluster然后重启pve即可。如果你前后的主机名不一样。则会在Web上看到2个节点，一个新的节点，一个旧的节点名称，虚拟机都在旧节点上。所以一定要确保重装前后主机名一致。[/scode]在线升级（推荐）直接从 PVE8 在线升级到 9。更换PVE8源升级前先对系统源替换为国内源，这个主要是为了解决网络访问问题、提升下载速度、确保系统更新的可靠性。# 编辑sources.list nano /etc/apt/sources.list # 将原有的源链接在句首加 # 注释掉，更换以下中科大源信息 deb https://mirrors.ustc.edu.cn/debian/ bookworm main contrib non-free non-free-firmware deb https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware deb https://mirrors.ustc.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware deb https://mirrors.ustc.edu.cn/debian-security bookworm-security main deb https://mirrors.ustc.edu.cn/proxmox/debian bookworm pve-no-subscription删除不需要的 ceph 源和企业订阅源rm -rf /etc/apt/sources.list.d/执行更新执行更新，先把PVE升级到 PVE8 的最新版本号，再来升级 PVE9# 更新软件包并将系统升级到最新 apt update && apt dist-up…