主机半夜出事没人管?群晖 VMM 高可用让虚拟机自己换机器

引言

ERP、OA 跑成虚拟机之后,新的单点就变成了宿主机:风扇停转、UPS 转电池、主机失联——凌晨没人值守,业务就停到早上。Synology Virtual Machine Manager 的高可用(High Availability)功能针对的正是这个场景:为虚拟机指定活动服务器与无源服务器,系统持续监控活动服务器状态,出状况时自动把虚拟机切换或故障转移到无源服务器接手。这篇把角色、状态、资源与触发条件一次讲透。

什么场景用它最值

一是夜间无人值守窗口:业务虚拟机要求七乘二十四在线,运维不在场的时间恰是硬件故障高危时段,自动接管是唯一解。二是计划内维护:白天要检修某台主机,靠切换动作把虚拟机挪到无源服务器,检修完再回来,业务不断。三是多主机集群:为关键虚拟机逐台启用高可用,故障域从主机级收窄到分钟级中断。

操作步骤

  1. 备齐三种主机角色再启用。为什么:官方定义高可用需要活动服务器(目前运行虚拟机的主机,状态被连续监控)、无源服务器(保留运行虚拟机所需资源、在活动服务器故障时接管)、存储服务器(存储虚拟机的主机)三种角色——三顶帽子由集群里不同主机分戴,规划时先画清楚哪台顶哪个角色。

  2. 在「Virtual Machine Manager > 虚拟机」里选中目标虚拟机,启用高可用。为什么:启用、编辑或禁用都在虚拟机列表操作;官方一条硬约束——如果之前已为虚拟机配置了活动服务器,启用或编辑高可用时,此活动服务器必须成为高可用服务器之一,不能把现有运行位置排除在外。

  3. 看懂资源保留机制,规划无源服务器容量。为什么:启用或编辑高可用时,系统会在活动和无源服务器上保留虚拟机所需的 CPU 和内存资源,且虚拟机规格修改时保留量随之调整——官方举例:一台 4 GB 内存的主机作为 1 GB 内存虚拟机的无源服务器,会保留 1 GB 内存。反过来说,主机内存不足时保留会失败,切换就执行不了;被保留的内存也不能再跑其他虚拟机。容量按无源侧要空出关键虚拟机的规格来配。

  4. 认识六种高可用状态,日常巡检看列不看运气。为什么:状态列会显示——「已启用」(资源已成功保留)、「正在执行切换」(活动服务器出现问题,系统正执行向无源服务器的实时迁移)、「正在执行故障转移」(虚拟机或活动服务器无法访问,系统正把虚拟机移到无源服务器并重启)、「已暂停」(虚拟机关闭,但资源已保留供快速还原,打开虚拟机即可恢复)、「警告」(虚拟机在运行,但因系统无法保留资源或无源服务器无法访问,切换或故障转移将无法执行)、「错误」(系统无法执行切换或故障转移)。「警告」与「错误」是当天必须处理的事。

  5. 理解切换的触发条件,别把它当万能保险。为什么:官方列明的切换触发情形是——活动服务器连接的 UPS 处于电池模式、5 分钟负荷平均超出 50.0、冷却风扇故障、虚拟机因上行链路失效致网络接口之一故障且无源服务器上相应虚拟切换工作正常。这些都是主机异常但仍工作的场景,预期要建立在这个清单上。

  6. 接受故障转移的重启语义。为什么:活动服务器异常关闭、因网络连接错误无响应,或虚拟机异常关闭时启动故障转移——执行时无源服务器上的虚拟机会自动重启,连接可能暂时不稳定。数据库、中间件配好开机自启与服务依赖,重启后的恢复才是全自动的。

  7. 排查到「高可用」选项卡。为什么:官方说明该选项卡下能看到活动、无源和存储服务器的状态,以及切换或故障转移失败的详情——夜里发生了什么、卡在哪一环,看这个页签。

  8. 克隆与导入的虚拟机要重配高可用。为什么:官方明确高可用设置不会应用到新克隆的虚拟机,也不会应用到从现有存储器导入的虚拟机——两种方式得到的机器都要重新配置。批量克隆后逐台补配置,是最易漏的收尾。

四条限制先知道

  • 高可用不保护存储:虚拟机的存储器不在保护范围内——存储空间损毁或存储服务器离线,虚拟机照样停止;存储层安全要靠 RAID 与备份体系,两层不能互替。
  • 过半主机离线全停:一半以上主机离线时,集群中所有服务和运行停止、虚拟机关闭——官方因此建议集群中为高可用设置三个以上的主机。
  • 移动范围受限:虚拟机启用高可用后,只能在活动服务器和无源服务器之间移动。
  • 与 Synology High Availability 集群互斥:当 Virtual Machine Manager 运行于 Synology High Availability 集群时,无法使用本功能——两套高可用是不同层面的机制,不能叠着用。

结语

高可用买的不是「不出故障」,是「故障发生时不需要有人在场」。角色规划、无源容量、状态巡检、克隆重配四件事做到位,虚拟机换主机才能真的在夜里安静完成。贵州诚鑫致达科技在做企业虚拟化交付时,会把高可用虚拟机清单、无源侧资源预留表和六种状态的处置动作写进运维手册,让接管动作有据可查。