#信服智创# 【项目案例】某会计行业VMware替换实战:双路径迁移模型下的70+虚拟机平滑迁移与架构收敛
目录:一、项目背景 1、部署情况如下 2、两套存储体系 3、业务规模二、现网问题分析 1、稳定性开始出现波动 2、资源已经逼近上限 3、架构复杂度逐渐失控 4、生命周期风险进入临界区三、方案设计 1、整体思路 2、方案取舍过程 3、资源与容量设计 4、业务承载策略 5、存储架构选择 6、双路径迁移模型设计 7、迁移策略设计 四、简要实施过程 1、迁移前准备 2、环境准备 3、迁移工具验证 4、分批迁移策略 5、业务割接与回退 五、关键问题与处理 问题一:vmtools安装失败导致虚机网络异常 问题二:Windows 2008 R2虚拟机迁移后蓝屏且无法关机/关电源 问题三:Windows Server 2008 R2虚拟机启动卡在Startup Repair修复失败 问题四:部分Windows虚拟机无法在系统内调整分辨率 问题五:文件服务器访问延迟波动 六、效果验证 1、稳定性 2、资源使用情况 3、架构变化 4、运维侧变化 七、项目价值总结 1、架构层面 2、稳定性 3、成本与资源策略 4、迁移模型价值八、项目复盘 1、双路径迁移更适合复杂环境 2、分批迁移是风险控制核心 3、文件服务器比想象中更“敏感” 一、项目背景 某客户为会计服务机构,核心业务覆盖财务开票、企业代账、资料归档等场景。原VMware平台不是不能用,而是继续用风险不可控。系统本身不算复杂,但有一个特点:白天不能中断、数据不能出错。一旦异常,影响的是客户报税和开票,业务容错空间比较小。 现网环境搭建时间较早,整体已经运行了接近 7 年。1、部署情况如下 服务器:5台 Dell R740 单节点内存:256GB 虚拟化平台:VMware + vSAN 2、两套存储体系 vSAN存储:每节点2×960GB SSD(缓存)+ 14×1.2TB HDD(容量),集群vSAN原始容量约74TB,实际可用容量约37TB(2副本策略) 外置HP存储(iSCSI方式接入),约7TB 3、业务规模业务在不断增长,目前虚拟机数量在70台以上。 其中几类业务比较关键: AD域控(所有认证依赖) 财务开票系统(核心生产) 文件服务器 Web服务及合作方系统 实际存储占用约54TB,折算有效数据约27TB(考虑副本开销后)。 从资源规模看,这套环境并不算小,但也没有大到必须做复杂架构。问题的关键不在“规模”,而在运行时间 + 架构叠加。 二、现网问题分析 这次改造并不是因为某一次重大故障触发的,而是系统在长期运行过程中逐渐“变得不太对劲”。有些问题单独看都还能接受,但叠加在一起,就开始影响决策。 1、稳定性开始出现波动 历史上出现过两次ESXi紫屏(PSOD),当时恢复过程比较顺利,没有造成长时间中断,但这个问题一直没有彻底定位清楚。这个问题虽未引发长时间业务中断,但已经具备明显的不确定性风险。 2、资源逼近平台上限 集群总内存约1.25TB,但使用情况比较紧张: 日常运行:80%左右 高峰期:存在明显资源争抢 最直接的影响是: 新业务上线需要反复评估资源 部分业务性能波动 一开始考虑过扩容,但很快遇到现实问题: 老型号内存采购周期长 成本明显偏高 投入之后仍然是老架构 扩容变成了一件“投入大、收益不确定”的事情。 3、架构复杂度逐渐失控 存储侧是两套体系同时存在: vSAN(本地) iSCSI外置存储 这在早期是为了扩展容量,但随着时间推移,带来了几个明显问题: 存储路径变复杂(本地 + 网络存储并存) 故障排查需要跨多层(虚拟化 / 存储 / 网络) 一些问题很难第一时间判断归属 实际运维中,经常会遇到这种情况: 一开始怀疑是网络 → 排查后没问题 → 再看存储 → 最后才定位到具体组件 排查路径被拉长,风险也随之增加。 4、生命周期风险进入临界区 7年这个时间点,本身就比较敏感。现场能明显感觉到变化: 磁盘故障更换频率增加(尤其是HDD) 硬件状态不再稳定 厂商支持逐步减少 继续在原平台上叠加投入,风险很难评估。 三、方案设计 这次设计并没有一开始就确定“必须上深信服HCI”。现场其实讨论过一段时间,核心问题是:是继续补这套老系统,还是换一套更简单的架构。 1、总体设计策略最终确定的方向是: 新建一套深信服HCI承载核心业务 原VMware保留,作为过渡与回退环境 采用分阶段迁移,避免一次性割接 这不是“推倒重来”,而是一个相对稳的过渡方案。 2、方案取舍过程方案一:继续扩容VMware优点很直接: 不需要迁移 风险可控 但问题也很明确: 原有架构复杂度不会下降 历史问题(PSOD、存储结构)仍然存在 后续还要继续投入 这条路更像是在“延长使用寿命”。 方案二:新建HCI(最终选择)优势在于: 架构收敛(计算 + 存储一体) 运维路径更短 后续扩展更简单 更关键的一点是:可以把复杂度“清掉一部分”,而不是继续叠加。 最终选择新建 HCI,再通过迁移完成过渡。 3、资源与容量设计 新平台采用: 深信服 aServer-X5-2105 × 2 台 资源配置: 单节点内存:512GB 集群总内存:1TB 存储:6×3.84TB SSD / 节点(全闪) 集群原始容量约44TB(双副本后可用约22TB) 4、业务承载策略 一开始并没有打算“全量迁移”。现网有效数据约27TB,如果全部迁入: 容量压力较大 成本不合理 最终做了拆分: 核心业务(约7TB)迁入HCI 非核心业务继续留在原平台 这样处理之后,新平台负载控制在约30%~50%,同时预留了扩展空间。 5、存储模型选择 在方案设计阶段,对两种路径进行评估: 方案 优点 缺点 混合架构(SSD+HDD) 容量大 随机IO性能不稳定 全闪SSD架构 高性能成本较高、容量受限 结合实际业务: 文件服务器:大量小文件随机读写 财务系统:数据库事务型IO 在经验判断中,混合架构有一个明显问题:一旦缓存命中下降,HDD会成为瓶颈,尤其是在并发访问时,延迟会放大。 最终还是选择了全闪架构,核心考虑不是“性能极致”,而是:让性能更稳定、可预期。 6、双路径迁移模型设计 在迁移方案设计阶段,迁移方式并不是一开始就确定的,而是结合现网条件、授权情况以及迁移风险做了实际取舍。 现场主要评估了两种路径:VMware纳管迁移 和 SCMT迁移工具。(1)VMware纳管迁移通过HCI平台对VMware集群进行纳管后,可以直接调用生命周期管理中的迁移能力,将虚拟机从VMware侧迁移到HCI平台。这个方式的特点很直接: 不需要额外部署组件 不依赖Agent 操作路径相对简单,适合批量迁移 但在进一步评估时,也发现几个限制: 部分老旧虚机(尤其驱动、硬件版本较低)兼容性不稳定 一旦迁移过程中出现异常,可调整空间有限 (2)SCMT迁移工具SCMT本质上是一个独立的迁移工具,支持P2V / V2V场景,可以通过Agent方式完成数据同步和业务切换。相比纳管迁移,它的特点更偏“稳”: 支持全量 + 多轮增量同步 业务中断时间可以控制(分钟级) 对操作系统和环境兼容性更强 在测试过程中,Windows和Linux虚机都可以正常完成迁移,启动成功率较高。 但它也有比较现实的限制: 需要单独部署组件 依赖授权(本项目通过测试授权验证) (3)最终取舍:双路径并行 结合客户实际情况,这里做了一个比较“务实”的选择: 优先使用VMware纳管迁移作为主路径 原因是现场未采购SCMT正式授权,同时纳管方式可以覆盖大部分标准业务 SCMT作为备用路径引入(测试授权) 主要用于应对迁移过程中可能出现的兼容性问题或失败场景 这样形成一个比较清晰的策略: 能用纳管的,优先走纳管; 纳管不稳定或失败的,再切SCMT处理。 (4)现场经验这个决策背后,其实有一个很现实的考虑: 在多业务环境下,迁移的不确定性往往不在“工具本身”,而在: 虚拟机历史版本差异 驱动及系统环境 存储结构差异 7、迁移执行策略 所有虚拟机统一采用三阶段迁移: 全量同步 多轮增量同步 最终切换 在实际执行中,大多数业务中断可以控制在: 3~10分钟(特殊情况例外) 四、简要实施过程整个实施周期控制在两周左右,没有做“大批量一次性迁移”,而是拆开执行。1、迁移前准备 主要做了几件事: 梳理70+虚机清单 标记业务依赖关系(重点关注AD、财务系统) 整理VLAN、IP规划 统计迁移数据量(约7TB核心数据) 在梳理依赖关系时,有一个比较直观的感受:AD一旦出问题,所有系统都会受影响 所以后面迁移顺序是围绕这个来设计的。 2、HCI、SCMT环境准备 完成集群初始化 计算、网络、存储配置与调优 部署SCMT虚拟机 这里有个关注点: VMware、HCI网络打通(确保迁移链路稳定) 3、迁移工具验证 在正式迁移前,单独对SCMT做了一轮验证。当时的目标很简单:不追求快,只确认“能不能用”。 测试结果: Windows / Linux都能正常迁移 启动成功率100% 单台切换时间约5分钟 做到这一步,其实心里就比较有底了。 4、分批迁移策略 迁移顺序不是按“重要程度”,而是按“影响范围 + 可控性”来排的: Web、打印服务 → 先做验证 文件服务器 → 中间阶段(重点观察) AD、财务系统 → 最后迁移 这里有一个取舍:文件服务器虽然不是最核心,但用户感知最明显,所以放在中间阶段处理。 5、业务割接与回退设计 割接统一在夜间窗口执行。流程相对固定: 完成最终增量同步 停止源端虚拟机 启动HCI侧虚拟机 回退策略做得比较保守: 源虚机不关机 仅断开网络 出现问题可以快速恢复 整个迁移过程中,这套回退机制没有真正用上,但在现场非常关键——有回退,执行起来心里更稳。 五、关键问题与处理这次迁移整体过程是可控的,但并不是完全“顺滑”。 真正有价值的,反而是中间遇到的这些问题。 问题一:vmtools 安装失败导致虚拟机网络异常现象 个别虚拟机迁移完成后,系统可以正常启动,但网络始终不通。 现场第一反应是比较常见的方向: 虚拟网卡类型是否兼容 但检查下来,配置本身没有明显问题。 排查过程 一开始的判断其实有点“惯性思维”——优先怀疑驱动兼容。 尝试过: 更换虚拟网卡类型 问题依然存在。这时候才把关注点从“虚拟化层”往系统内部转。 继续排查vmtools安装日志,发现报错:Error: copy file success but the file is not the same! Please retry.Install Update module failed! 当时翻了下support故障案例,发现有个因boot分区、导致scmt客户端安装失败问题: “对于linux要求linux的boot区分空间至少要有200M,其他分区也不要有占满的情况”,因此接下来也尝试往这个方向排查。 根因定位继续往系统层看,发现一个细节: /boot分区使用率已经接近满 进一步分析后确认:vmtools安装过程中需要写入引导相关文件/boot空间不足时: 文件写入不完整 校验失败 安装流程中断 最终导致:驱动未正确加载 → 网络异常 处理方式处理过程反而比较简单: 清理 /boot分区无用文件 释放空间 重新安装vmtools 处理后: 驱动正常加载 网络恢复 经验总结:这个问题本身不复杂,但有两个点比较典型: 迁移问题不一定出在“迁移工具”或“虚拟化层” 系统内部环境(尤其是分区空间)很容易被忽略 在后续迁移中,针对 Linux 虚机,额外增加了一步检查: 提前确认/boot、/、/var等关键分区空间 避免同类问题重复出现。 问题二:Windows 2008 R2 虚机迁移后蓝屏且无法关机/关电源现象在一次纳管迁移完成后,一台 Windows Server 2008 R2虚拟机启动过程中出现蓝屏。 这台机器的问题比较典型但也比较棘手,不是单次蓝屏,而是进入了自动重启循环: 系统一启动即蓝屏 随后自动重启 无法正常进入系统 现场尝试常规关机、关闭电源都没有效果,虚拟机一直在循环重启。多次尝试后,在开机过程中按F8进入启动选项界面,才把系统“卡住”,从而完成关闭电源操作。蓝屏信息如下: 排查与尝试 初步判断还是偏向迁移带来的兼容性问题,重点怀疑方向包括: 虚拟硬件环境变化 磁盘控制器类型变化 系统驱动不匹配 现场没有第一时间更换迁移方式,而是先尝试做一轮基础修复,看能不能在原路径上恢复。 由于系统无法正常启动,这里通过挂载PE的方式进入系统进行处理,主要做了几步尝试: 尝试进入安全模式(未能成功进入) 通过PE环境对系统盘进行修复,排除明显的文件系统异常 整体过程没有报明显错误,但修复完成后,系统依然在启动阶段蓝屏,没有实质改善。 处理方式 到这一步,其实有两个选择: 继续在系统层做更深入的修复(如驱动替换、启动项调整等) 或者直接更换迁移路径 结合当时现场情况,这里没有继续在系统层“往深挖”,而是选择切换方案: 使用SCMT对该虚拟机重新进行迁移 迁移完成后再次启动,系统可以正常进入,未再出现蓝屏问题。对比来看,SCMT在迁移过程中会对目标虚拟机进行驱动适配处理(包括磁盘控制器驱动注入),对原系统环境依赖更低,因此在老系统场景下成功率更高。 经验总结这个问题不算复杂,但在迁移场景中比较典型,主要有几个点:1、老系统对底层环境变化更敏感像Windows 2008/2003这类系统,驱动体系较老,对虚拟硬件(尤其是磁盘控制器)的变化适应能力有限,一旦环境发生变化,就容易在启动阶段出问题。 2、迁移问题不一定都适合“修”从结果来看,这台虚拟机本身是正常的,问题更多出在迁移后的环境适配。如果一直停留在系统修复路径上,时间成本会比较高,而且结果不确定。 3、切换路径比持续修复更有效这次处理没有在原路径上反复尝试,而是直接更换迁移方式,从结果来看效率更高,也更可控。在多业务迁移场景中,这种方式更容易保证整体节奏,不会因为单点问题被拖住。 总结:在类似场景中,如果出现“启动即蓝屏 + 安全模式无法进入 + 文件系统无异常”,可以优先考虑存储控制器或驱动兼容问题,而不是继续从系统损坏角度排查。问题三:Windows Server 2008 R2启动卡在Startup Repair修复失败现象:在迁移完成一台Windows Server 2008 R2虚拟机后,系统启动阶段直接进入自动修复流程,界面提示:该过程持续较长时间后,最终提示修复失败:随后系统进入“发送错误报告 / 关闭”选项界面,但无论选择何种方式,均无法正常进入操作系统,虚拟机持续停留在修复与重启流程中。 排查过程 从现象来看,首先考虑的是磁盘或文件系统异常,因此优先按传统思路进行了验证,包括: 检查虚拟磁盘是否存在明显异常提示 尝试进入安全模式(未能成功) 通过挂载PE环境对系统盘进行硬盘修复操作 但排查结果: 文件系统无明显损坏 无法定位到具体坏道或逻辑错误 同时,系统在修复阶段并未给出明确错误码,属于“修复过程卡住但无明确报错”的状态。 处理判断在排除磁盘与文件系统问题后,问题开始转向迁移适配层面进行分析。 结合前期类 Windows 2008 R2虚拟机的迁移情况,判断该问题更可能与以下因素相关: 迁移后虚拟硬件环境变化(磁盘控制器 / 虚拟显卡类型) 老版本操作系统启动链路对虚拟化环境兼容性较弱 自动修复机制在检测异常启动链路时进入循环修复状态 该类问题的特点是: 系统本身并未损坏,但无法完成正常启动初始化流程。 处理方式在尝试常规修复路径无效后,未继续在系统层深入排障,而是直接切换迁移方式: 使用SCMT对该虚拟机重新执行迁移流程 采用重新同步 + 增量切换方式重建虚拟机环境 迁移完成后,虚拟机启动正常,不再进入Startup Repair流程,系统可直接进入登录界面,业务恢复正常。 经验总结该问题在现场属于“启动修复循环失败”场景,在Windows Server 2008 R2这类老版本系统中较为常见。 从处理结果来看,问题并不在于磁盘或系统文件损坏,而更偏向于: 虚拟化环境变化后引起的启动链路异常 自动修复机制无法正确识别虚拟硬件状态 老系统对迁移后驱动与启动顺序敏感 在类似场景中,如果已经排除文件系统损坏但仍无法正常启动,继续进行系统层修复的收益较低,优先考虑通过重新迁移方式重建运行环境,往往比“修复系统”更直接有效。 问题四:部分Windows虚拟机无法在系统内调整分辨率现象在迁移完成后,个别Windows虚拟机(主要为 Windows Server 2008 R2、Windows 7)存在显示异常: 系统分辨率固定,无法调整 显示设置中无可选分辨率或仅支持低分辨率 远程连接体验较差(画面拉伸、模糊) 而同批迁移的Windows Server 2016、Windows 10虚拟机未出现该问题,可正常在系统内修改分辨率。排查过程 初期按常规方向排查:1、VMTools 状态检查确认虚拟机内工具已正常安装服务运行正常,无报错2、设备管理器检查显卡驱动正常识别无未知设备或驱动异常3、虚拟显卡类型调整尝试更换虚拟机显示适配器类型在Windows Server 2016 / Windows 10中调整后可生效在Windows Server 2008 R2 / Windows 7中无变化 到这一步可以确认: 问题不在工具或驱动,而是与系统版本及底层启动方式存在关联。 根因定位 后续通过support案例检索,定位到一个关键差异: 部分虚拟机采用 UEFI 启动模式 老版本 Windows(2008 R2 / Win7)对该模式下的显示控制支持有限 在该组合下: 系统内无法正确调用虚拟显卡的分辨率调整能力 分辨率控制由固件(BIOS/UEFI)层接管 处理方式针对该类虚拟机,未再从系统内部继续调整,而是直接从底层处理: 进入虚拟机 BIOS / UEFI 设置界面 手动调整显示分辨率参数 保存后重启虚拟机 调整后: 系统内显示分辨率同步提升 远程访问体验恢复正常 经验总结该问题属于典型的“系统版本 + 启动模式”兼容性问题,特点是: 新系统(Win10 / 2016 及以上)基本不受影响 老系统在 UEFI 模式下功能受限 在类似场景中,如果已确认: VMTools 正常 驱动正常 显卡类型调整无效 则应优先考虑启动模式因素,而不是继续在系统或驱动层排查。 对于老版本Windows虚拟机,如采用UEFI启动,建议直接在BIOS层调整分辨率,可减少无效排障时间。 问题五:文件服务器访问延迟现象文件服务器迁移完成后,用户反馈: 日常访问基本正常 但在高并发访问时,偶尔会出现短时间卡顿 这个问题的特点是: 不稳定、不可复现、但用户有感知 排查过程现场第一判断是典型三板斧: 看存储IO 看网络 看资源使用 结果比较“反直觉”: IO没有明显打满 网络无丢包 CPU /内存也正常 一度怀疑是应用层问题,但对比迁移前情况,又基本可以排除。 定位过程后来把关注点放在一个细节上: 存储策略和原环境是否一致 发现: 初始配置使用的是通用策略 没有针对文件服务器做单独优化 虽然资源没有打满,但在并发场景下: 缓存命中率波动 IO调度不稳定 就会放大延迟感知。 处理方式针对文件服务器做了两点调整: 切换为高性能存储策略 优化磁盘分配方式 调整后: 延迟波动明显收敛 用户侧基本无感 经验总结这个问题有一个比较典型的误区:“监控看不出问题 ≠ 用户体验没问题” 尤其是文件服务这类场景: 对延迟敏感 对稳定性要求高 在迁移后,建议优先做一轮: “用户体验验证”,而不仅仅是资源指标验证 六、效果验证迁移完成后,没有立即做结论,而是观察了一段时间运行情况,再做对比。1、平台稳定性迁移前: 存在磁盘老化问题 HDD更换频率增加 出现过PSOD 迁移后: 集群运行稳定,无异常告警 全闪架构下,未再出现磁盘相关问题 未出现主机级异常 现场最直观的反馈是:运维侧“心理压力明显降低” 2、资源使用情况迁移前: 内存长期维持在 80%+ 高峰期存在资源争抢 迁移后: 内存使用率约40%~60% 资源冗余空间明显提升 这带来的变化不是“更快”,而是: 更稳、更有余量 3、平台架构变化 迁移前: vSAN + iSCSI双存储体系 存储路径分散 网络链路复杂 迁移后: 单一HCI架构 无外置存储依赖 存储与计算统一管理 变化的核心不是“减少设备”,而是:故障路径被明显缩短 4、运维侧变化 迁移前: 存储问题需要分别排查vSAN与iSCSI 网络与存储链路需逐层确认 磁盘更换操作频繁 迁移后: 存储统一在HCI平面处理 故障定位路径更直接 外置链路消失 整体变化可以总结为: 从“经验驱动运维” → “结构驱动运维” 七、项目价值总结 1、架构层面 完成从“多套系统叠加”到“单一平台”的收敛。减少了: 多存储体系并存 多路径依赖 系统结构变得更简单,也更可控。 2、稳定性 这次改造没有追求极限性能,而是优先解决不确定性: 老旧硬件风险被消除 磁盘频繁更换问题不再出现 历史隐患(PSOD)不再影响当前环境 3、成本与资源 本次没有做“全量替换”,而是只迁移核心业务(约7TB)这样做的实际效果是: 避免一次性资源投入过高 原平台压力得到缓解 新平台资源使用更集中 资源使用变得更“有针对性”,而不是平均分配。 4、迁移模型价值双路径迁移模型在这次项目中起到了实际作用: 纳管迁移 → 提升整体效率 SCMT → 处理异常情况 相比单一方案: 容错空间更大 迁移节奏更可控 这个模型在多业务环境中是可复用的。 八、项目复盘 1、双路径迁移模型更适用于复杂环境 在虚机数量多、系统类型复杂的场景中: 不确定性来自多个维度(驱动、系统、存储) 单一迁移方式很难覆盖所有情况 双路径设计的价值在于: 出现问题时,不需要“卡住”,可以直接切换路径继续推进 2、分批迁移是风险控制核心 这次没有追求效率,而是优先控制风险: 每一批迁移都单独验证 每一步都可回退 这样做的结果是: 没有出现集中性问题 节奏始终可控 3、文件服务器比想象中更“敏感” 在这个项目中,一个比较深的体会是:文件服务器往往比数据库更容易引发用户反馈问题。原因在于: 用户直接感知 操作频繁 对延迟敏感 迁移这类业务时: 需要更关注“体验”,而不是只看监控