VDI 桌面池与 PVE 集群
vDisk 的主线是无盘:一台服务器把系统推给一屋子物理终端,终端上一台虚拟机都不需要。但有些现场要的是另一件事——桌面本身跑在服务器上,人在哪台机器前面都能连回自己那套环境。现场如果已经有一套 Proxmox VE(PVE) 集群,vDisk 可以把它接进来,用模板克隆虚拟机,一人一台发下去。
不接管理台,这事就得在 PVE 自己的界面上手工做:一台台克隆改名,谁用哪台记在表格里;到期末要回收,翻遍列表也说不清哪些机器还挂着人。接进来之后,克隆、分配、归还、回收、日志留痕都在同一个地方。
前置条件:现场必须已经部署了 PVE
本功能是对接一套已经在跑的 PVE 集群,它不会把一台普通服务器变成 PVE。没有 PVE 集群时,本页所有页面都无对象可操作。
一、在哪里
控制台 → 其他(Others) → VDI虚拟机,下面是一组子页面:
| 子页面 | 用来做什么 |
|---|---|
| 节点配置 | 登记 PVE 节点、测连通性、看实时负载,查节点存储 / 网络 / 任务 |
| 模板管理 | 把虚拟机转成只读模板并登记;「一键分发」按用户或角色批量发桌面 |
| 桌面池管理 | 建池、补充实例、分配 / 归还 / 回收 |
| 用户管理 | VDI 使用者名单、「可分配桌面」开关、JSON / Excel 批量导入 |
| 虚拟机管理 | 开关机、克隆、迁移、快照、控制台、硬件与 Cloud-Init、销毁实例 |
| 桌面连接管理 | 连接策略与在线会话 |
| 用户数据盘管理 | 个人数据盘创建 / 挂载 / 卸载 |
| 同步磁盘 | 把母盘推到 PVE 宿主机磁盘,属现场实施配合项,本页不展开 |
| 日志管理 | 操作日志筛选、导出 CSV |
普通用户不进这些页面,他们登录后在**「我的云桌面」**里看自己名下的桌面(该页在使用者自己的门户里,不在管理菜单下)。
第一次上手按这个顺序走,不会绕路:
| 顺序 | 子页 | 干什么 |
|---|---|---|
| 1 | 节点配置 | 把现场的 PVE 节点登记进来 |
| 2 | 用户管理 | 准备好要用桌面的人 |
| 3 | 模板管理 | 把 PVE 上一台虚拟机注册成母本模板 |
| 4 | 模板管理 →「一键分发」或 桌面池管理 | 按人 / 按角色发桌面,或者做成池 |
| 5 | 虚拟机管理 | 日常开关机、连接、配置、巡检 |
| — | 桌面连接管理 | 连接方式与会话策略、踢掉在线会话 |
| — | 用户数据盘管理 | 给人加一块与系统盘分开的数据盘 |
| — | 日志管理 | 查使用记录、导 CSV |
菜单文字与位置以实机为准
VDI 相关页面早期是独立顶级菜单,后来整体并入「其他」,页面地址未变。您这一版的菜单文字与排序可能与上表略有出入。
二、怎么用
1)登记一个 PVE 节点
1,节点配置 →「添加 PVE 节点」,填节点名称、主机地址、端口、用户名、密码、PVE 节点名、默认存储池。
2,用户名要带 realm(如
root@pam);只填root时会自动用root@pam再试一次。3,可以点「自动探测」,让服务器连上去把真实节点名与可用存储回填进表单;也可以直接「保存并测试」。
4,列表里的连接状态与负载每 30 秒自动刷新。连不上时会给出方向明确的原因:账号密码 / realm 写法、地址端口不可达、HTTPS 证书、节点名不匹配、默认存储池不存在(并列出该节点实际有哪些存储)。
测试连接失败时,照提示对着查:
| 界面提示 | 通常是什么问题 |
|---|---|
| 请确认用户名与密码正确,用户名建议使用 root@pam | 认证失败 |
| 用户名需包含 realm,例如 root@pam | 用户名少了 realm |
| 请确认主机地址和端口可达,默认端口为 8006 | 网络不通或端口填错 |
| 可能是 HTTPS 证书问题,请检查后端证书策略 | 证书 |
| 请确认 PVE 节点名填写正确(如 pve / pve1) | 节点名填错 |
| 请确认默认存储池名称正确(如 local-lvm) | 存储池填错 |
编辑节点时密码留空=不改密码
若列表提示密码未配置或已丢失,进编辑重新填一遍保存即可——迁移、转模板、Cloud-Init 都要用节点密码去登录 PVE。
2)做一个模板
1,模板管理 →「注册新模板」→ 先选 PVE 节点,再选该节点上一台已装好系统的虚拟机。
2,勾选「在 PVE 上转为模板」(推荐),这台虚拟机会被设成只读模板,之后只能被克隆。
3,模板名称可留空,留空就用虚拟机自己的名字。
转成模板之后就不能再启动了
要继续维护这套环境,建议先克隆一份留作维护机,再把另一份转模板。模板管理里的「移除」只删平台这边的登记信息,不会删掉 PVE 上的虚拟机。
3)建 VDI 使用者名单
1,用户管理 →「Excel 导入」或「JSON 导入」。
2,Excel 第一行是表头,必须有**「用户名」或
username** 这一列;密码、姓名、备注列可有可无。3,密码列留空的,按 123456 建号。用户名已存在的跳过、不覆盖,导入完给出成功与跳过的条数。
4,只有「可分配桌面」为是的用户,才会出现在后面分配桌面的下拉列表里。
Excel 各列的口径:
| 表头(任一写法) | 是否必需 | 留空时 |
|---|---|---|
| 用户名 / username | 必需,整张表缺这一列会直接报错 | 该行跳过 |
| 密码 / password | 可选 | 按 123456 建号 |
| 姓名 / realname / name | 可选 | 不填 |
| 备注 / description | 可选 | 不填 |
表里多出来的其它列一律忽略,不会报错。
4)把桌面发下去:两种发法
一人一台,按名单发 —— 模板管理 →「一键分发」:选模板,选「按用户选择」或「按角色分配」,填桌面命名规则,提交后逐个克隆,最后回报成功与失败人数。
一池多台,先建好再领 —— 桌面池管理 →「新建桌面池」(选关联模板与所属节点)→ 进「池内桌面」点「补充实例」克隆若干台入池 → 给某台「分配用户」。用完点「归还」变回空闲,或点「回收」。
5)用户怎么连、管理员怎么管连接
用户在「我的云桌面」里对自己的桌面开机、关机、连接。桌面连接管理里配全局连接策略:默认连接方式、会话超时、要不要限制单用户单会话、是否允许下载 .vv 文件(供 Remote Viewer / virt-viewer 打开);同页下半部分是活跃会话,可强制断开某一条。克隆、分配、归还、回收都会写进日志管理,可筛选并导出 CSV。
三、参数与默认值
节点配置
| 参数 | 默认值 | 说明 |
|---|---|---|
| 端口 | 8006 | PVE 网页管理端口,可改 |
| 用户名 | 无 | 必填,须带 realm,如 root@pam |
| 默认存储池 | 无 | 必填,如 local-lvm;填错时测试连接会报出该节点实际有哪些存储 |
| 状态刷新 | 30 秒 | 节点列表自动刷新状态与负载 |
桌面池
| 参数 | 默认值 | 说明 |
|---|---|---|
| 池类型 | 静态 | 静态 / 动态 |
| 最小实例数 | 0 | — |
| 最大实例数 | 10 | 补充实例到此数量即停 |
| 命名规则 | 留空时按 池编号-序号 自动生成 | 支持 {seq} 序号占位 |
| 闲置回收(分钟) | 空 | 动态池可选 |
| 回收时删除 VM | 关 | 关=只解除绑定归还池;开=回收时真删虚拟机 |
| 单次补充台数 | 1 | 一次最多 20 台 |
分发、连接与运维策略
| 参数 | 默认值 | 说明 |
|---|---|---|
| 一键分发的桌面命名 | {username}-桌面 | 支持 {username}、{seq} |
| Excel 导入的密码 | 123456 | 仅在密码列留空时使用 |
| 克隆的新 VMID | 源 VMID +100 | 可改,范围 100 起 |
| 克隆后的名称 | 源名称-clone | 可改 |
| 会话超时 | 30 分钟 | 填 0 表示不超时 |
| 单用户单会话 | 关 | 开启后同一用户只允许一个活跃连接 |
| 允许多会话 | 开 | 同一用户可同时连多台虚拟机 |
允许 .vv 下载 | 开 | 供 Remote Viewer 等客户端打开 |
| 默认连接方式 | Spice / VNC 二选一 | 首次打开时的初值以页面显示为准 |
| CPU / 内存 / 磁盘告警阈值 | 85% / 90% / 90% | 运维策略里可改 |
| 自动快照、空闲关机 | 均为关 | 空闲判定默认 120 分钟,且要求 CPU 与内存占用都很低 |
四、边界与坑
「回收」和「销毁」不是一回事
池内桌面的「回收」按该池的「回收时删除 VM」开关走——开关关着就只是归还池、机器还在。虚拟机管理里的「销毁实例」是直接删掉 PVE 上那台虚拟机并移除记录,不可恢复。
- 迁移只对已关机的虚拟机,而且要在虚拟机管理的「按节点」视图下、对 PVE 实例操作。提交之后任务在 PVE 后台跑,进度要回 PVE 或节点任务列表里看。
- 删桌面池前池内必须先清空。 池里还有虚拟机时删不掉,先逐台回收或归还。
- 池的「关联模板」要在池的「所属节点」上。 补充实例是登录池所属节点、按模板克隆,模板不在这个节点上会失败。
- 「按节点」列表里能看到该节点上全部 QEMU 虚拟机,不只是本平台建的。没有入库的那些没有所属用户,也不能在这里销毁或挂数据盘。
- 一键分发是逐个克隆,中途某个人失败不影响其他人,结果会报出失败数与原因;名单大时要跑一会儿。
- Cloud-Init 只对本身支持 Cloud-Init 的镜像有意义。 入口在虚拟机管理 → 详情 → 硬件 →「系统引导与初始化」,必须先选一个存储放 Cloud-Init 盘;表单里留空的字段不下发、保持原样。
- 用户数据盘只能挂到同节点、且属于该用户的虚拟机。 桌面被销毁时,挂在它上面的数据盘自动解除挂载。
- 有两样东西最容易和本页搞混。 一是「服务器虚拟化」——宿主机自己开虚拟机(Windows 走 Hyper-V、Linux 走 KVM),与 PVE 无关,磁盘测速、端口检测这类服务器自检项见 服务器排障:端口检测 · 磁盘测速 · 日志开关;二是无盘那条路的「虚拟机更新 / 模板在线编辑」,见 如何在浏览器里编辑模板镜像(模板在线编辑)。
- 删节点、删池、删或回滚快照、销毁虚拟机、删用户数据盘属高危操作。 经 AI 助手发起时一律先出待确认卡片,管理员点确认后才执行。