Skip to content

如何在浏览器里编辑模板镜像(模板在线编辑)

「模板在线编辑」是在服务器上开一台虚拟机、把模板镜像挂给它,管理员在浏览器里像操作一台真机那样把模板改好再提交。全程只用浏览器,本机不需要安装任何客户端或插件。

与《如何更新数据:Windows 客户端》的区别:那条路要占用一台真实终端进更新模式;本页这条路直接在服务器上改,不占终端。两者的产出是同构的——都发布为模板的新版本,终端照常按版本号只下增量,不必全量重下。

一、使用前提

只能在 Linux 服务端使用

本功能只在 Linux 服务端可用;在 Windows 服务端点击相关入口会提示不支持。

前提说明
CPU 虚拟化 / KVM必须打开。物理机在 BIOS 里打开;服务器本身是虚拟机时,需由宿主开启嵌套虚拟化。安装服务端时会当场检查,未开启会直接给出明确提示,不必等到用功能时才发现。
虚拟化组件x86_64 与 ARM64 平台的新版 Linux 服务端安装包,已把虚拟化引擎与管理服务、UEFI 固件、光盘镜像制作工具、NTFS 读写工具列为硬性依赖,按常规方式安装即自动一并装好,装完即可直接使用。
离线 / 源受限现场上述组件靠软件源安装,请先把软件源同步好再装服务端。
龙芯平台这些组件在该平台仍为可选依赖,需用「初始化虚拟机环境」在运行时补装(见下一节)。
UEFI 模板需服务器上具备 UEFI 固件,缺失时会明确报错。

二、初始化虚拟机环境(需要时才做)

入口:桌面 → 桌面池(Desktop pool)→ 右侧「桌面模板(Desktop Template)」→「虚拟机更新」下拉菜单 → 初始化虚拟机环境(位于该菜单顶部)。

1,该入口不要求先选中模板——这是整台服务器的准备工作,与选哪个模板无关;机器上还一个模板都没有的时候同样可以点。

2,点击后服务端在后台依次完成六项前置准备:检查 CPU 虚拟化与 KVM 是否可用 → 安装虚拟化组件 → 启动虚拟化服务并确认可连接 → 取得与服务器当前内核匹配的产品驱动并装载 → 选定更新虚拟机要接入的网络 → 创建更新虚拟机。

3,面板逐条显示每一步的 等待 / 进行中 / 成功 / 跳过 / 失败 与现场日志。装组件与取驱动动辄数分钟,属正常;失败会明确标出卡在哪一步、原因是什么。

4,整个过程可以安全地重复执行:已装好的不重装,已存在的虚拟机保留现场配置不覆盖。同一时刻只允许一个初始化在跑。

怎么判断还需不需要做

入口是否可点,由服务器当时的真实状态决定(虚拟化是否可用、产品驱动是否已加载、更新虚拟机是否已创建)。全部齐备时该入口自动置灰、文案变为「虚拟机环境已就绪」,一眼就知道不必再做。判断依据是每次进入页面、每次展开菜单当场重新探测,因此驱动被卸载、更新虚拟机被手工删除之后,该入口会重新变为可用。

菜单里的其余各项(开启更新、连接虚拟机、取消更新、确认更新、分享远程桌面)仍需先选中一个模板

三、主流程:开机 → 改 → 确认 / 取消

入口:桌面 → 桌面池 → 右侧「桌面模板」中选中要改的模板 →「虚拟机更新」→ 在线编辑模板。打开后同一个页面里给出虚拟机画面与操作栏。

1,点 「开机(自动挂载模板)」。服务端会把该模板置为更新中、建立本次改动的增量层、把镜像挂成服务器本地磁盘并接进虚拟机,然后启动。

2,在画面里像操作真机一样改:装软件、卸载、打补丁、改配置。改动全部写入本次增量层,模板母盘全程只读

3,改完建议先在画面里重启一次,验证改动确实达到要求。

4,点 「确认更新」 提交:增量层发布为模板的新版本,并记录本次变更日志(按界面提示写清本次改了什么)。

5,不想要本次改动就点 「取消更新」:增量层被丢弃,模板母盘一个字节都不变,上一版本原样保留。

操作栏另有 关机(请客户机自己正常关)、强制关机(等同拔电,带二次确认与后果说明)、重启

「开机」本身就是一个改变状态的动作

点「开机(自动挂载模板)」不是"只进去看一眼"——这一下就会把模板置为更新中并建立增量层。因此进去之后一定要有个了结:要么「确认更新」,要么「取消更新」,不要让模板长期挂在更新中。

四、工作台的三个光驱位

三个位置各管各的:安装包位放 ISO、共享位放随手上传的文件、GuestTool 位放客户端安装包。之所以都走光盘,是因为它是任何客户机零驱动都能读的通道——装系统阶段往往既没网络也没凭据,网络共享恰恰在最需要时用不上。

上传文件

1,在页面里选择文件上传,或直接把本机文件拖到虚拟机画面上:松手即自动完成"上传 → 打包成共享光驱 → 送入虚拟机"。拖动时画面上会浮出接收提示,不拖动时完全不影响用鼠标操作虚拟机。

2,上传按文件类型分流:.iso 存入安装包库,传完即可在「加载安装包」里选到并挂载;其余文件进共享盘,点「送入虚拟机」后在客户机的「共享文件」光驱里取用。一次拖入若同时含 ISO 与普通文件,两者各归其位。

3,上传结果会明确告知文件去了哪,不用对着错的下拉找刚传的文件。

4,点「已上传 N 个文件」可展开列表,查看每个文件的名称与大小,并逐个删除(带确认)。

删除只影响服务器上的共享目录

客户机光驱里的内容要到下一次「送入虚拟机」之后才更新。

加载安装包

从服务器的 ISO 库里挑一张挂进客户机光驱,可随时更换或弹出。列表为空时,界面会直接写出该把 ISO 放到服务器的哪个目录(该目录由服务端自动创建),不会只留一句"没有数据"。

加载 GuestTool

方式是否要求虚拟机开机说明
自动加载不要求,关机时点最合适虚拟机关机时点:服务端直接把工具放进客户机系统盘,并放一个开机执行一次的安装脚本,下次开机客户机自己就装完了,脚本随后自删,不会每次开机重跑。虚拟机运行中点:客户机代理已就绪时直接开始安装;代理还没有(第一次必然如此)则自动登记,由服务端在下一次开机前完成装入。界面会如实说明本次属于哪一种、何时生效。
手动加载需先开机自己指定一个安装包挂进正在运行的客户机光驱,在画面里自行安装。候选列表里产品随包自带的客户端安装包排在最前(标注「产品自带」),全新装的服务器上开箱即可选用;也兼容自己上传的文件与服务器上的 ISO。

GuestTool 同样写在本次增量层

自动加载装进去的工具与模板的其它改动一样:「确认更新」才生效,「取消更新」会连它一起丢弃

五、并发与画面状态

  • 每个桌面模板各用一台独立的虚拟机,引导项、UEFI 变量盘、机器规格各归各的,互不干扰;画面端口由服务端按当时实际值自动分配,不是固定端口。
  • 同一时刻只允许一个模板处于编辑状态。另一个模板正在编辑时,对第二个模板点开机会被明确挡下,并写明是哪个模板占着。
  • 界面会标出 「模板镜像已挂载」;若开着机却没挂上镜像,会显式标出 「未挂载模板镜像(这是一台空机器)」

画面里满屏网络引导报错时,先看这一行

空机器无盘可引导,固件自然一路退到网络引导——这与"驱动没装好"没有关系。看到「未挂载模板镜像」就说明镜像没挂上,按下一节排查。

六、遇到问题怎么办

服务器重启过之后

驱动会由开机服务自动装回来,模板镜像也会自动挂回,不必再去重跑「初始化虚拟机环境」。自愈完成后界面会明确提示"检测到服务器重启过…"。服务器内核升级过时,系统会主动重新编译一份与新内核匹配的驱动再加载;确实自动恢复不了时(例如取不到在线编译服务),错误信息会带上真实原因,并明确提示去执行「初始化虚拟机环境」。

画面红条写着连不上服务器

引导服务重启过(升级、重启服务、或跟着服务器一起重启)之后,工作台画面会自己重新接回来,不必把工作台关掉重开。

点了开机,提示还在挂载

挂载慢时界面提示"仍在后台继续,请稍候刷新",稍等片刻刷新页面即可,慢的那一次挂好之后页面会自行恢复正常。

不要连点「开机」

同一时刻只允许一个挂载动作在进行,重复点击会被拦下并提示"上一个操作正在进行中"。万一某次挂载真的卡在磁盘驱动里,界面会明确写出该服务器需要重启一次才能恢复——此时反复点击不可能成功,只会让情况更糟。

自动加载 GuestTool 报「卷未清洁」

说明客户机上次不是正常关机(强制关机,或系统停在快速启动 / 休眠)。请先开机进入系统,用「开始 → 关机」正常关一次机,然后再点自动加载。产品刻意不自动清除该标记——强行忽略会绕过系统自身的日志恢复,有让模板文件系统受损的风险。若模板里还没装系统,请先装好系统,或改用「手动加载」把安装包送进去装一次。

从公网 / 端口转发后面打开时,画面连不上、拖拽上传失败

工作台的画面与文件上传是浏览器直连引导服务的。管理台部署在端口转发(NAT)之后时,对外公布的端口与服务器本机端口不同,需要在引导服务的配置文件里配置对外端口映射 console.port-map(默认不启用)。

例:公网映射了 17080→7080 与 17791→7791,则配置 17080:17791。此后从公网 17080 打开的页面,画面与上传自动改连公网侧的 17791;内网从 7080 打开的页面仍连本机真实端口。两条路同时成立,互不影响。

平面网络(浏览器直接访问服务器真实端口)无需任何配置。映射表只解决"浏览器该连哪个端口",对外端口本身仍需现场真实映射进来。

需要成套升级

本页描述的能力涉及引导服务、IO 服务与管理台前端,请成套升级到同一版本。只更新其中一项,可能出现"界面上有按钮、点下去却报缺件"的情况。