资讯详情

PVE 7.2-1 安装全流程:硬件、文件系统、网络与首台虚拟机

📅 2026/9/17 7:14:10 | 华诺云谱 👁 阅读
PVE 7.2-1 安装全流程:硬件、文件系统、网络与首台虚拟机
几年前第一次装 PVE我把它想得太简单了下载 ISO、写进 U 盘、一路下一步、重启然后浏览器里敲 IP——结果页面转圈转到凌晨两点。后来在不同硬件上反复装过十几遍才明白PVE 7.2-1 这套安装流程表面上只有七八个界面真正决定后面顺不顺手的是开装前那十几分钟的准备和装完后的二十分钟收尾。这篇就把从拿到 ISO 到第一台虚拟机跑起来的整条链路摊开讲一遍中间那些装完才会暴露、官方文档写得很客气但实际会卡人的细节我都会单独标出来。不管你手里是一台淘汰的办公机、一台二手服务器还是一台迷你主机思路都是通用的。看完至少能确定三件事硬件够不够跑、文件系统选哪个、装完先动哪几个文件。1. 开装前的三个决定版本、硬件、启动盘1.1 7.2-1 这个版本到底是个什么组合先把版本号拆开说清楚。PVE 7.2-1 里的 7.2 是 Proxmox VE 的大版本号-1 是安装镜像的修订号底层是 Debian 11Bullseye装完默认跑的是 5.15 系列的 LTS 内核QEMU 和 LXC 的版本也都跟这个内核世代对齐。这套组合的意义在于它的硬件兼容面非常宽2010 年前后的一批服务器和工作站基本都能跑起来驱动也都进主线了不用折腾。这一点很关键。更晚的大版本对 CPU 指令集提了额外要求一些老处理器会在引导阶段直接卡住或者被安装程序礼貌拒绝而 7.x 这一代对老硬件相当宽容。我手上那台用 DDR3 的老机器装新版本连引导菜单都过不去回到 7.2-1 就一点问题没有。所以如果你手里的硬件是二手的、机龄超过八年的7.2-1 反而是更省心的选择不是落后是匹配。另一个值得知道的点7.2 这一版开始把 Btrfs 作为根文件系统的选项放进安装程序同时配的是 ZFS 2.1带了 dRAID 这种面向大容量盘位的冗余方案。这些功能大部分人用不上但知道它们存在在你后面翻安装界面看到多出来的几个选项时就不会一脸茫然。最后说内存。官方给的最低要求看起来很友好但那是能启动的线不是能用的线。我的经验值是纯宿主机不跑虚机8GB 起步每台轻量 Linux 虚机按 1~2GB 预留如果根文件系统选 ZFS还要额外给 ARC 缓存留出至少 2~4GB这部分内存是 ZFS 自己拿走的不会出现在free的第一列里很容易被误判成内存莫名其妙没了。16GB 是我比较推荐的舒适起点。1.2 BIOS 里那几个必须提前打开的开关这一步是新手最容易漏的因为漏掉之后不会立刻报错而是在你几个月后想做个直通时才发现要重启进 BIOS。既然都要装机了不如一次开完。开关名称Intel 平台叫法AMD 平台叫法不开的后果硬件虚拟化VT-x / Virtualization TechnologySVM Mode虚机起不来或性能极差IOMMUVT-dAMD-Vi / IOMMU无法做 PCI 直通SR-IOVSR-IOV SupportSR-IOV Support网卡虚拟化功能用不了大地址解码Above 4G DecodingAbove 4G Decoding多张大显存卡时资源分配失败这几个开关的位置各家 BIOS 不一样一般藏在 CPU 配置或者高级芯片组菜单里。开机时按 Del 或 F2 进去找带 Virtualization、IOMMU 字样的项能开的都打开。有个细节值得提醒部分品牌机尤其是某些商用台式机的 BIOS 里硬件虚拟化默认是关的而且菜单藏得很深需要先设一个 BIOS 管理员密码才能解锁高级选项。如果你找不到先搜一下你这台机器的型号加开启虚拟化的方法别在这上面耗时间。引导模式也得顺手定下来UEFI 还是 Legacy BIOS。PVE 7 两种都支持选哪种主要看后面要不要跟别的系统共盘。如果打算独占整块盘UEFI 更现代一些如果是老机器、老阵列卡Legacy 兼容性更稳。定了就别中途改改了之后引导项会全部错位。1.3 启动盘怎么做才不会白折腾U 盘制作这一步看起来最没技术含量实际上翻车率不低。三条路各有各的适用场景。dd 或者 balenaEtcher 这类直接写镜像的最原始也最稳把 ISO 原样写进去不经过任何中间层。缺点是写完之后 U 盘在 Windows 里会显示成一个很小的分区看着像坏了其实是正常的重新格式化就恢复。RufusWindows 下最常用。这里有个必须注意的点——模式一定要选 DD 模式或者叫以 DD 镜像模式写入。默认的 ISO 模式会自己解包、改引导结构对一部分 Linux 发行版会写出一个能进菜单但装到一半报找不到安装介质的盘。我见过太多人卡在这里还以为是 ISO 下坏了。Ventoy一个盘塞多个 ISO开机选一个启动就行特别适合经常折腾不同系统的人。代价是它引入了一层自己的引导逻辑个别主板和它配合会有小毛病比如需要关掉安全启动才能识别。你要是只装一次 PVE不用为它折腾。不管用哪种方式ISO 下载完之后先校验一遍哈希再说。下载页上一般会给出 SHA256Linux 下sha256sum一下Windows 下用certutil -hashfile 文件名 SHA256。这一步花十秒能排除掉后面一小时的各种诡异故障。U 盘本身尽量用 USB 3.0 的、容量 2GB 以上杂牌扩容盘是隐藏杀手会写出一个文件长度对但内容错的镜像症状和 ISO 损坏一模一样。2. 安装向导逐屏拆解每一屏选错会有什么后果2.1 引导菜单和 Advanced Options 里有什么U 盘插上BIOS 里把它设为第一启动项保存重启第一眼看到的是 PVE 的引导菜单。主选项就两个Install (Graphical)和Install (Console)。绝大多数情况选图形界面那个有鼠标、有颜色看得清。但这里有个坑如果是真正的服务器显示芯片往往是主板集成的低端显卡图形模式在这个环境下有可能黑屏或者花屏。遇到这种情况不要慌直接把 U 盘拔了重来选Install (Console)纯文本界面照样能装完功能一点不少。Advanced Options展开后主要有三项Install with Debug Mode安装过程会打印一堆调试信息卡住时能看它到底停在哪一步。正常安装用不上出问题时是救命稻草。Boot from first hard disk跳过安装直接从硬盘启动。装完之后 U 盘忘了拔用它绕过就行。Rescue Boot救援模式进一个临时系统可以挂载修复已安装的 PVE。顺便说说 UEFI 和 Legacy 的差别。如果你 BIOS 设的是 UEFI 引导这里启动项名字后面一般带 UEFI 字样反之则是普通项。选错了不一定报错但后面硬盘分区方式会跟着变所以启动前先确认一下自己 BIOS 设的到底是什么模式。2.2 磁盘和文件系统ext4、XFS、ZFS、Btrfs 怎么选这是整个安装流程里唯一一个选错了后面很难改的决定。安装程序会让你勾选目标磁盘然后从下面几种里选一个。文件系统适合场景优点代价ext4 LVM单盘、硬件 RAID 卡兼容性最好什么盘都能上无软件冗余XFS有大文件读写需求大文件性能好、成熟不能缩小ZFS无阵列卡、想软件组阵列校验、快照、压缩、RAIDZ吃内存写放大Btrfs尝鲜快照灵活7.2 里还是技术预览展开说几句。ext4 LVM 是默认选项也是最不容易出事的一个。它的逻辑是安装程序在你的盘上建一个 LVM 卷组名字叫pve里面再切出 root、swap 和一个叫data的 thin pool虚机磁盘从 thin pool 里划。单盘或者你已经有硬件 RAID 卡做了冗余选它就行。ZFS 的吸引力在于不需要阵列卡就能组软件 RAID。它能建 RAID0、RAID1、RAID10还有 RAIDZ-1/2/3分别对应能容忍一到三块盘损坏。这里有个流传很广的误解ZFS 必须配 ECC 内存。准确的说法是——ECC 内存能让 ZFS 的数据完整性优势发挥到最大但普通内存照样能跑没必要因为不是 ECC 就放弃 ZFS。真正要注意的是两块一是 ARC 会占用内存装完之后要去改zfs_arc_max二是 RAIDZ 的写放大比较明显用机械盘跑 RAIDZ 的虚拟机体感会很差能用 SSD 就用 SSD。Btrfs 从 7.2 开始出现在选项里但标的是技术预览我个人的态度是除非你有明确的理由和足够的时间折腾否则别在主力环境上用它。还有一个安装程序不会大声提醒你的点swap 分区的大小默认按物理内存来定。内存越大swap 占的空间越多。32GB 内存的机器装完会发现一大块盘被 swap 吃掉了。如果你后面打算关换页这部分空间白扔可以考虑在安装后手动调整或者干脆重装时换一种分区方案。我一般会在装之前就想清楚这件事省得后面再动。2.3 网络配置页四个字段填错的表现这一屏是整个安装过程里信息密度最高的地方也是装完之后最常回来改的地方。四个字段主机名、IP 地址、网关、DNS 服务器。主机名必须是带点的完整格式。不是pve01而是pve01.lan或者pve01.local这种。只写短名字装是能装下去但后面集群、邮件通知、证书生成都会出问题。装完想去改的话得同时动三个文件/etc/hostname、/etc/hosts和/etc/network/interfaces三处不一致就会出现能 ping 通但 web 界面登录失败这种莫名其妙的现象。IP 地址要带掩码长度也就是 CIDR 写法比如192.168.1.10/24。只填192.168.1.10会提示格式不对。这里必须填静态地址安装程序不接受 DHCP——因为 PVE 是宿主系统地址漂移会让管理界面直接失联。网关就是你路由器的地址DNS 填路由器地址或者公共 DNS 都行。有个小技巧如果你所在的网络有多个网段DNS 这一栏填两个会更好中间用空格分开即可。这四点里最容易出问题的是IP 冲突。安装程序不会去检测这个地址是不是已经被占用它会很痛快地装完然后你发现管理界面时好时坏或者干脆打不开。装之前先在现有网络里 ping 一下你准备用的地址返回无法访问目标主机才说明是空的。这一步十秒钟能省掉半小时的怀疑人生。2.4 进度条走完之后的那两分钟安装过程本身没什么可说的复制文件、配置引导进度条走完提示重启。这时候有两件小事必须做第一把 U 盘拔掉或者进 BIOS 把启动顺序改回硬盘优先。否则重启之后又进了安装菜单会让人产生是不是没装上的错觉。第二第一次访问管理界面的地址是https://你的IP:8006。三个细节必须写https不是http端口是8006不是80浏览器会弹安全警告因为用的是自签证书点继续访问即可不要试图去修复它。登录页上有个容易搞混的地方用户名那个框里root后面跟着一个域的下拉。rootpam走的是 Linux 系统密码也就是你安装时设的那个另一个是给外部认证源用的单机环境用不上。选默认的那个就行。3. 首次登录之后的四步收尾3.1 换源企业源、无订阅源与国内镜像登进去之后第一件事很多人会去点更新然后发现apt update直接报 401 未授权。原因很简单安装程序默认写进去的是企业源它只对购买了订阅的机器开放。没订阅不是不能用只是要把源换成免费的那个。三个文件要处理。第一个是企业源直接注释掉# /etc/apt/sources.list.d/pve-enterprise.list # deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise第二个是 Debian 系统源换成国内镜像速度会快很多# /etc/apt/sources.list deb https://mirrors.tuna.tsinghua.edu.cn/debian bullseye main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian bullseye-updates main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free第三个是 PVE 自己的免费源新建一个文件# /etc/apt/sources.list.d/pve-no-sub.list deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian bullseye pve-no-subscription另外如果你不打算用分布式存储/etc/apt/sources.list.d/ceph.list这个文件里的内容也一并注释掉否则每次更新都会因为连不上那个源而卡住。改完执行apt update apt dist-upgrade -y这里插一句经验先改源再更新别反过来。我见过有人先apt update失败然后开始怀疑网络、怀疑 DNS、怀疑镜像坏了其实只是源没换。看到 401、403 这类错误第一反应应该去看sources.list.d里那几个文件。dist-upgrade和普通upgrade的区别在于它会处理依赖关系的变化该装的装、该删的删。PVE 这种内核和底层组件耦合比较紧的系统用dist-upgrade更稳妥。3.2 swap 关不关得看你用的什么文件系统关于关 swap 这件事网上说法很分裂。先把原理讲清楚PVE 有个特性会把虚拟机里长时间不访问的内存页换出到宿主机的 swap 里这在内存吃紧时能提高超配比。所以 swap 对 PVE 来说不完全是废的。但用 ZFS 做根文件系统的时候情况特殊。ZFS 和 swap 叠在一起在一些高负载场景下会出问题而且 ZFS 本身就有 ARC 在做内存缓存两套机制容易打架。所以社区里 ZFS 关 swap 的组合非常常见。如果是 LVM ext4swap 就是普通 swap风险小得多。判断标准可以简单一点内存 32GB 以上、又用 ZFS 的可以关内存紧张、还想多跑几台虚机的留着。折中方案是保留 swap 但降低使用倾向# /etc/sysctl.d/99-swap.conf vm.swappiness 10真要关的话操作不复杂swapoff -a # 然后编辑 /etc/fstab注释掉含 swap 的那一行或者干脆把那个逻辑卷删了把空间还给存储池lvremove /dev/pve/swap。注意这一步不可逆删之前想清楚。关掉之后free -h里 swap 那一行会变成 0这是正常的。还有个细节安装时 swap 默认按内存大小创建内存越大的机器被占的地方越多。所以我前面才建议装之前就想清楚而不是装完再回来收拾。3.3 内核更新、CPU 微码与重启验证换完源更新完有几个东西值得确认一下。内核。PVE 的内核包叫pve-kernel-*升级时会装上新的但老内核会保留。uname -r看的是当前运行的不是最新的。所以更新完之后必须重启才能生效别以为apt跑完就完事了。重启完再uname -r对一下数字变了才说明升级成功。CPU 微码。Intel 平台装intel-microcodeAMD 平台装amd64-microcode。这东西修的是 CPU 层面的硬件缺陷尤其是那几年闹得很大的侧信道问题装了对稳定性和安全性都有好处。装完之后同样需要重启。ZFS 模块编译。如果你用了 ZFS内核升级之后第一次重启可能会看到 ZFS 模块重新编译的过程这是正常的编译完成前存储是挂不上的耐心等。这也是我不建议在远程无人值守的情况下跑内核升级的原因——万一编译失败机器重启后起不来你只能现场处理。顺手把时间校准也看一眼。timedatectl能看到当前时区和同步状态。时间不准在单机环境里只是日志看着别扭但一旦涉及快照时间戳、集群通信就会变成真问题。国内环境把时区设成Asia/Shanghai即可。3.4 订阅提示的处理与基础安全设定每次登录会弹一个订阅提示。它纯粹是界面层的对话框不影响任何功能。自用环境嫌烦可以处理掉改的是 web 组件里的一个判断条件sed -i.bak s/data.status ! Active/false/g /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js systemctl restart pveproxy必须说明两点一是这个改动每次升级 web 相关组件后都可能被覆盖需要重新执行二是官方并不鼓励这么做商业环境请老老实实买订阅那是这个项目能持续维护下去的基础。我把它写出来只是因为很多人在自用环境里确实会被这个弹窗烦到知道它改的是什么、风险在哪比糊里糊涂照着教程敲要强。安全方面几条建议都是踩过坑的8006 管理端口不要直接暴露到公网。要远程访问先在本地网络或者通过其他安全方式进来别图省事做端口映射。root 密码设复杂一点然后配 SSH 密钥登录。公钥放在/root/.ssh/authorized_keys配好之后可以关掉密码登录。PVE 自带的防火墙默认是关的别急着开。它和虚机网络的关系比较绕开着开着可能把自己的管理访问也挡了。要开之前先确认规则最好人在机器旁边。有条件的话开启两因素认证在用户设置里能配。4. 存储与网络这两块骨架装完就得先摸清4.1 三种存储模型目录、LVM-thin、ZFS装完之后在左侧会看到至少两个存储local和local-lvm。这两个是完全不同的东西很多人一直到磁盘满了才搞明白。local是目录型存储物理位置在/var/lib/vz。它能存的东西最多ISO 镜像、容器模板、备份文件、虚机磁盘都可以放在这里。虚机磁盘在这里是 qcow2 格式单文件支持快照、支持稀疏分配。local-lvm是 LVM-thin 块存储。它不放在文件系统里而是直接从卷组里划块设备。虚机磁盘是 raw 格式性能比 qcow2 好一些因为是 thin 分配也支持快照和克隆。代价是你没法直接进目录里看这些文件它们以块设备的形式存在。ZFS 存储池如果装了的话快照和压缩是天然带的压缩对虚机磁盘的收益其实不小尤其里面存的文本类数据多的时候。这里正好回答一个经常被问的问题vm-102-disk-0 这个文件到底在哪答案取决于它所在的存储类型。存储类型实际位置查看方式目录存储/var/lib/vz/images/102/vm-102-disk-0.qcow2直接 lsLVM-thin/dev/pve/vm-102-disk-0设备节点非普通文件lvs看逻辑卷ZFSrpool/data/vm-102-disk-0zfs list搞清楚这个之后很多操作就顺了。比如给虚机磁盘做备份LVM-thin 上的盘不能直接拷贝文件得用qemu-img convert或者 PVE 自己的备份工具导出。4.2 vmbr0 网桥到底桥了什么PVE 安装的时候会自动创建一个叫vmbr0的虚拟网桥然后把你的物理网卡挂上去当作端口。它的作用是让虚拟机直接接到物理网络上和宿主机同网段各拿各的 IP。这是整个 PVE 网络模型的基础。配置文件在/etc/network/interfaces正常长这样auto lo iface lo inet loopback iface enp3s0 inet manual auto vmbr0 iface vmbr0 inet static address 192.168.1.10/24 gateway 192.168.1.1 bridge-ports enp3s0 bridge-stp off bridge-fd 0新手最容易犯的错是把 IP 配在物理网卡上再另外建一个网桥。这样物理网卡既当宿主机的出口又想当网桥的端口结果就是网络直接断掉而且因为你已经远程连上去了断掉之后只能去现场救。记住这个模式物理网卡永远是manual不配任何地址地址配在网桥上。改完配置之后用ifreload -a让它生效。如果改动比较大比如换了端口名别指望热加载直接reboot最省事。前提是你人在机器旁边。4.3 多网口、VLAN 感知网桥和硬件直通物理网口不止一个的时候选择就多了起来。每个口一个网桥是最简单的方案比如vmbr0接内网、vmbr1接另一个网段。给虚机加网卡时选对应的网桥就行。做 bond是把两个口捆成一个逻辑口多一条物理链路做冗余。LACP 模式需要交换机那边也做对应配置两边不一致的话链路起不来。如果是单纯的主备冗余用 active-backup 模式不需要交换机配合更省事。VLAN 感知网桥是个很实用的开关。在网桥的设置里勾上 VLAN aware 之后虚机的网卡上就能填 VLAN 标签一个物理口能承载多个隔离的网络。做网络实验或者多租户隔离的时候特别方便。PCI 直通是把物理设备整个交给某台虚拟机独占。做这个之前需要在宿主机层面开启 IOMMU 支持在/etc/default/grub里的GRUB_CMDLINE_LINUX_DEFAULT后面加上intel_iommuonAMD 平台是amd_iommuon然后update-grub重启。此外还要加载 vfio 相关模块、把宿主机上的驱动加进黑名单否则宿主机自己会把设备抢走。有一点必须提前说明直通之后宿主机就用不了那个设备了。所以别把唯一的网卡直通掉那等于自断管理通道。多网口的机器留一个口给宿主机剩下的再直通。4.4 容量规划与后续扩容的余量LVM-thin 有一个必须知道的特性池子满了之后不是变慢而是直接锁死。所有虚机的 IO 会挂起整个机器基本处于不可用状态恢复起来很麻烦。所以 thin pool 的容量要留出余量我一般建议至少留 20% 空闲。日常可以用这两条命令看lvs pvesm statuslvs输出里的Data%那一列就是 thin pool 的使用率。也可以把它加到监控里超过 80% 就该处理了。扩容的路径要看存储类型。LVM 的话加新盘之后pvcreate /dev/sdb vgextend pve /dev/sdb lvextend -l 100%FREE /dev/pve/data/dev/pve/data就是那个 thin pool扩完之后虚机磁盘的上限跟着变大。ZFS 的话情况复杂一些加盘通常是往池子里加新的 vdev而不是简单扩容量而且加进去之后不太容易拿出来所以动手前先把 ZFS 的存储池文档看一遍别凭感觉操作。5. 跑通第一台虚拟机把流程闭环5.1 上传 ISO 和创建时的几个关键参数虚机盘上的系统镜像要先传到存储里。左侧点local选 ISO Images点上传把下载好的系统 ISO 丢进去。如果文件已经在宿主机上也可以在命令行里 cp 到/var/lib/vz/template/iso/效果一样。创建虚机点右上角的 Create VM几步向导里真正影响体验的是这几项机型Machine。i440fx是老牌的兼容性最好装老系统选它基本不会错q35支持 PCIe 拓扑更接近现代主板装新系统、要 UEFI 引导或者要直通 PCIe 设备时选它。拿不准就先i440fx。BIOS。SeaBIOS是传统 BIOSOVMF是 UEFI。选 OVMF 的话记得勾上 EFI 磁盘不然装不了。Windows 11 这类强制要求 UEFI 的系统必须选 OVMF。CPU 类型。host表示把物理 CPU 的特性全透给虚机性能最好kvm64之类是虚拟的通用型号迁移友好但性能打折。单机环境、不考虑在线迁移的直接选host。总线/设备。VirtIO SCSI 性能最好但 Windows 需要额外驱动。Linux 系统无脑选 VirtIO。老系统或者懒得装驱动的用 SATA性能差点但开箱即用。网卡型号。同样推荐 VirtIO性能比模拟的 Intel E1000 好不少。Windows 需要装驱动Linux 原生支持。5.2 VirtIO 驱动缺失和安装中的卡点装 Windows 的时候最常见的卡点就是安装程序提示找不到任何驱动器。原因是 VirtIO 磁盘控制器对 Windows 来说是个陌生设备安装介质里没有它的驱动。解决办法是挂第二个光驱。Proxmox 官方提供了virtio-win.iso里面有各版本的驱动。把它作为第二块 CD 挂到虚机上安装到选硬盘那一步点加载驱动程序浏览到 virtio-win 光驱里对应系统的目录装完驱动硬盘就出来了。记得选对架构和系统版本选错了会提示驱动不匹配。Linux 系统基本不存在这个问题主流发行版都自带 VirtIO 驱动。装完之后建议在虚机里装上 qemu-guest-agent然后在虚机配置里把 QEMU Agent 那一项打勾。这样宿主就能拿到虚机的 IP、文件系统使用率关机操作也能走正常流程而不是直接拔电源。5.3 快照、克隆和复制一台机器的磁盘这三件事经常被混在一起其实适用场景完全不同。快照的前提是底层存储支持。qcow2、LVM-thin、ZFS 都支持raw 格式在普通 LVM 上就不支持。快照适合做打补丁前先存一个档这种事回滚很快。但要注意快照不是备份。它和原盘存在同一个存储上存储坏了两份一起没。而且快照链太长会拖慢读写正常应该定期合并或者删掉。克隆分两种。完整克隆是把源盘的数据整份复制一份出去独立性强占空间链接克隆是新建一个增量盘指向源盘省空间、秒级完成但源盘不能删删了克隆体就废了。命令行操作是qm clone 100 101 --name web01 --full不带--full就是链接克隆。做批量部署的时候链接克隆很香但一定要记住依赖关系。手动复制磁盘的场景通常是把外部镜像导入进来。流程是先传上去再导入最后挂到虚机上qm importdisk 101 /path/to/image.qcow2 local-lvm qm set 101 --scsi0 local-lvm:vm-101-disk-1导入之后别忘了在虚机选项里把引导顺序设到新盘上否则开机进不了系统会以为是导入失败。顺带说一下扩容这个操作很常用qm resize 101 scsi0 20G这只是在块设备层面把盘变大了进系统之后还得自己扩分区和文件系统Linux 下大概是growpart加resize2fs或者xfs_growfs。只做前一步的话系统里看到的容量是不变的。5.4 什么时候该用 LXC 而不是虚拟机PVE 同时支持两种虚拟化KVM 虚机和 LXC 容器。很多人只知道前者其实容器的开销小得多启动快、内存占用低跑常驻的轻量服务特别合适。判断标准很简单需要跑不同内核、需要完整硬件模拟、需要跑 Windows 的用虚机跑纯用户态服务、想省资源、启动快的用容器。容器有个硬性限制它和宿主机共享同一个内核。所以你不能在容器里装一个跟宿主机不一样版本的内核也不能在容器里做内核模块相关的事情。设备直通在容器里也比虚机麻烦。模板要先下载pveam update pveam available pveam download local debian-11-standard_11.7-1_amd64.tar.zst下载完之后创建就很快了命令行一条或者界面点几下都行。创建时有个非特权容器的选项默认是勾上的安全性更好代价是容器内无法访问某些特权资源。做实验、跑普通服务保持默认就行。6. 装机后最容易撞上的问题与排查链路6.1 Web 界面打不开时按这个顺序查这是最高频的问题也是最容易被乱猜的问题。别急着重装按物理层往上走一遍基本都能定位。第一机器到底起来没有。接个显示器看能看到登录提示符说明系统正常。看不到的话问题在引导层回去检查 BIOS 启动顺序和硬盘。第二网口的指示灯亮不亮。不亮说明物理链路或网线有问题这一步就断了后面都白搭。第三在同网段的另一台机器上 ping 那个 IP。通不通是分水岭。ping 不通就去查 IP 配置和冲突ping 通但网页打不开问题在服务层。第四看服务状态。SSH 进去执行systemctl status pveproxy pvedaemon pve-cluster哪个挂了看哪个的日志。journalctl -u pveproxy --since 10 min ago能看到最近的报错。第五确认访问方式。https://加:8006两个都不能少。我见过有人在浏览器里输入192.168.1.10:8006浏览器自动补成http然后一直连不上。第六清浏览器缓存或者换个浏览器。管理界面的静态资源更新之后旧缓存会引发一堆奇怪的界面错乱看着像坏了其实只是缓存。一个补充技巧实在没头绪的时候ip a看一眼网桥有没有拿到 IPip r看一眼默认路由在不在。这两条命令的输出基本就能说明网络层有没有问题。6.2 网卡名变了导致网络直接断掉这个坑很隐蔽通常发生在你动了硬件之后——换了网卡插槽、加了新网卡、更新了固件。现象是重启之后网线灯正常但整个网络不通管理界面进不去。原因在于现代 Linux 的网卡命名不是固定的eth0而是根据物理位置生成的enp3s0这种名字。你把网卡从第三个槽挪到第四个槽名字就从enp3s0变成enp4s0而/etc/network/interfaces里vmbr0的bridge-ports还指向那个已经不存在的旧名字网桥自然起不来。排查方式ip -br link lspci | grep -i ethernet dmesg | grep -i renamed第一条看现在实际有哪些网卡第二条看硬件识别情况第三条能看到内核给出的重命名记录。修复就是把/etc/network/interfaces里的端口名改成新的然后ifreload -a。如果这种情况反复发生比如你经常插拔网卡可以用 systemd 的.link文件把名字固定下来按 MAC 地址绑定这样不管插哪个槽名字都不变。另一种极端做法是在内核启动参数里加net.ifnames0彻底关掉可预测命名网卡全变回eth0、eth1。这个方案简单粗暴但要注意改完之后所有引用旧名字的地方都得同步改包括虚机的网桥绑定。6.3 磁盘容量只能加不能减这时候怎么办PVE 的界面只提供扩容没有缩容按钮很多人第一次遇到会以为是功能缺失。实际上这是设计取舍在线缩容一个正在被文件系统使用的块设备风险极高官方干脆不提供。真要缩得看存储类型。qcow2 文件目录存储是唯一相对可行的路径。步骤是进虚机先在系统内缩小文件系统和分区这一步必须在虚机里做因为宿主机不知道文件系统结构关机然后在宿主机上执行qemu-img resize --shrink /path/to/vm-102-disk-0.qcow2 20G顺序不能反。先缩文件系统再缩块设备反过来会直接损坏数据。LVM-thin 或者 raw 格式就没这么幸运了块设备层面没法原地缩。可行方案是新建一个小盘把数据迁过去确认无误后删掉旧盘。迁移可以用 dd、文件系统级别的同步工具或者最稳妥的做法——先用 PVE 的备份功能完整备份然后恢复到新建的小盘上。虽然慢但出错概率最低。我自己遇到需要缩容的场景基本都选这条路因为快照和块设备操作一旦出问题损失的是整台虚机的数据。这里有个前置建议创建虚机磁盘时别一次给太大。thin 分配的好处就是按需增长先给一个合理的初始值不够了再扩扩容易缩难。6.4 时间、日志和几个零碎坑最后收几个零散但会遇到的点。时间。虚机和宿主机时间不一致轻则日志时间戳对不上重则影响需要时间同步的服务。Linux 虚机建议装qemu-guest-agent并开启时间同步Windows 虚机在驱动装好之后一般会自动同步。宿主机本身的时区和 NTP 状态用timedatectl确认一遍。日志位置。管理界面的操作日志在/var/log/pveproxy/access.log系统服务日志用journalctl看具体到某个服务加-u 服务名。虚机的启动失败信息在journalctl -u qemu-server虚机ID这个排查虚机起不来时很有用。存储状态要定期看。pvesm status一行一条能看出每个存储的可用量。前面说过 thin pool 满了会锁死这个检查习惯值得养成。改配置前先备份配置文件。/etc/network/interfaces、/etc/hosts、/etc/fstab这几个文件被改坏之后机器可能连不上或者起不来。改之前cp xxx xxx.bak成本几乎为零救命概率极高。别在只有远程访问的情况下做大动作。内核升级、网桥改造、存储扩容这三类操作都有一定概率让你失去连接。如果机房不在身边尽量安排在有人能到场的时间做或者先确认机器有带外管理服务器的 IPMI/iDRAC 之类。我个人折腾 PVE 这些年最大的体会是这个系统的安装本身没什么难度难度全在装完之后默认配置和你的实际需求之间的那段差距。源要换、swap 要不要关、网桥怎么配、存储怎么规划每一处都是默认值给你一个能跑的起点剩下的得自己补。把上面这些点理清楚后面加虚机、做快照、跑容器基本就是顺水推舟的事了。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。