首页 / 资讯中心 / 文章详情

IP-guard升级:服务器端与客户端版本对齐实践

IP-guard升级:服务器端与客户端版本对齐实践 ★ FEATURED ARTICLE
简介IP-guard 桌面管理系统的服务器与客户端升级操作文档面向负责企业内网终端安全运维的 IT 管理员与技术支持人员用于解决版本迭代时升级流程不清、升级后服务异常等问题。文档以单个 docx 文件交付压缩包约 236KB内容按实际操作顺序组织从官方升级包的解压、以管理员身份运行升级程序到自动检测安装路径、关闭相关服务、等待升级完成与服务自动重启再到控制台「服务器管理—客户端升级管理」中选择版本、勾选客户端范围并应用形成一条可照做的完整链路。文中对每一步的注意事项例如防止服务中断、确认路径正确、关注系统日志等均有提示便于运维人员在正式或测试环境中按图操作减少因步骤遗漏导致的升级失败。目前已有 336 人学习适合需要为 IP-guard 部署做版本升级、编写内部操作手册或排查升级问题的读者参考。1. 一次只升服务器端客户端集体离线之前碰到过一个现场运维同事把 IP-guard 服务器端升级包跑完了控制台里看着一切正常就没管客户端那一步。第二天一早业务部门反馈终端上的文档审计记录断了一截控制台里的在线客户端从 900 多台掉到 500 出头剩下的显示离线或者版本不匹配。这种翻车很少是升级程序写坏了绝大多数情况是升级顺序和版本对齐没做——服务器端升到了新版本客户端还停在老版本上握手字段对不上策略下发失败客户端自己就掉线了。IP-guard 属于那种装完就少有人碰的桌面管理系统服务器端扛着策略下发、日志汇总、客户端升级包分发这几件事。它一停整个内网的行为审计、外设管控、屏幕记录全停在那里而且很多问题不是当场暴露是隔一天才被人发现。这篇记的是我自己走过多遍的一套 IP-guard 服务器升级流程升级前清点哪些东西、服务器端怎么跑、客户端怎么分批推、卡住了从哪儿查。新手照着能走通熟手可以只看版本差异和那几个坑。2. 升级环境清点IP-guard 服务器端动手前的版本、备份与端口确认升级程序点下“升级”之后能自己掌握的空间其实很小——路径自动检测、服务自动关、完成后自动重启中间出问题能补救的只有动手前留下的东西。所以我把整个升级拆成两半一半是点按钮之前的环境清点一半才是升级本身。这一章只讲前半段慢一点后面能少熬几个夜。2.1 先把现状摸清版本、安装路径、服务与客户端分布升级前要记录的几样东西服务器端当前版本、客户端版本分布、服务器安装路径、数据库类型和实例名、授权文件状态、操作系统版本和补丁级别、各盘剩余空间。这些不是走形式后面每一步核对都要拿它当基准。尤其是客户端版本分布控制台一般能导出终端清单导一份 CSV 存着升级完对比在线率和版本号比凭印象靠谱得多。服务状态要先看因为升级程序会自己把服务停掉再拉起来但前提是它认得这些服务。如果现场之前改过服务启动类型比如有人为了排查问题把某个服务设成了手动升级程序拉起来之后可能就停在手动状态重启一次机器才发现服务没自启。# 以管理员身份打开 PowerShell先确认 IP-guard 相关服务的名称、状态和启动类型 Get-Service | Where-Object { $_.DisplayName -match IP.?guard } | Select-Object Name, DisplayName, Status, StartType | Format-Table -AutoSize # 记录服务器安装目录下主程序的文件版本作为升级前的版本基线 # $ServerPath 换成现场实际路径不确定就从注册表或服务可执行路径里取 $ServerPath D:\Program Files\IP-guard\Server Get-ChildItem $ServerPath -Filter *.exe -Recurse -Depth 1 -ErrorAction SilentlyContinue | Select-Object Name, {nFileVersion;e{$_.VersionInfo.FileVersion}} | Format-Table -AutoSize第一条命令的作用是把真实服务名和启动类型留档重启之后照着比一遍就知道有没有漏掉的服务。第二条命令取的是文件版本这个值比控制台首页显示的版本号更可靠——首页那个号有时候是服务器程序版本不一定等于客户端升级包的版本。升级完成后用同样的命令再跑一次两个结果并排看文件版本有没有真的换掉一目了然。还有一项容易漏如果服务器上跑过多次升级安装目录里可能堆着旧版本的备份子目录占用空间不小。升级程序在解压和替换文件时会临时占用磁盘剩余空间建议至少留出安装目录体积的两倍不然会卡在写文件那一步报错还很不直观。提示控制台里先看一遍“客户端升级管理”当前记录的客户端版本列表把版本号和对应终端数量截图存下来。这个列表是判断“客户端升级有没有推错版本”的唯一依据。2.2 备份三件套安装目录、数据库、授权文件升级前要备的东西我一般归成三件安装目录、数据库、授权文件与配置文件。安装目录是第一顺位因为升级程序替换的正是这里的程序和配置数据库是第二顺位升级过程可能涉及表结构变更回滚时没有库备份等于从头再来授权文件和自定义配置是第三顺位最容易被人忽略出问题时又最耽误时间。安装目录的备份要在停服务之后做服务运行中直接拷文件会拷到写了一半的日志和临时文件。冷备用 robocopy 比较省事镜像模式加日志出了岔子能回看是哪几个文件没拷过去。:: 先手动停掉 IP-guard 相关服务服务名以 services.msc 里看到的为准 net stop IP-guard Server :: /MIR 镜像复制会删除目标端多余文件目标目录要是空的或专门的备份目录 :: /R:1 失败重试 1 次 /W:1 每次重试等 1 秒 /LOG 把过程写进日志 robocopy D:\Program Files\IP-guard E:\backup\IPguard_before_upgrade /MIR /R:1 /W:1 /LOG:E:\backup\ipguard_backup.log/MIR这个参数要留意它会同步删除目标目录里源目录没有的文件所以目标路径一定要指向专门为这次备份新建的目录不能指向一个还在用的共享目录。/R:1 /W:1是为了避免某个被占用的文件让整个备份卡在重试循环里宁可跳过回头看日志补。备份完成后打开日志搜一下“失败”或“ERROR”有跳过的文件就单独再拷一次。数据库这边看后端类型。如果后端是 SQL Server做一次完整备份并校验比复制 mdf 文件可靠得多。-- 库名和输出路径按现场替换COMPRESSION 压缩备份体积CHECKSUM 便于事后校验 BACKUP DATABASE [IPguard] TO DISK NE:\backup\IPguard_before_upgrade.bak WITH INIT, COMPRESSION, CHECKSUM, STATS 10; -- 备份完立刻校验一遍别等真要恢复的时候才发现文件损坏 RESTORE VERIFYONLY FROM DISK NE:\backup\IPguard_before_upgrade.bak WITH CHECKSUM;WITH INIT表示覆盖同名备份文件而不是追加避免备份文件越滚越大STATS 10每完成 10% 输出一次进度大库备份时能看出是不是卡住了。RESTORE VERIFYONLY只读备份集做完整性检查不真正恢复数据几十秒就能跑完这一步别省。授权文件和自定义配置单独拎出来拷一份到别的盘。常见的翻车是升级程序把授权文件覆盖成了试用版或者机器码因为换过网卡、做过虚拟机迁移而对不上控制台登录进去功能一片灰。这类问题处理起来要找发布方重新签发耽误的是时间备份一份授权文件能省掉大半沟通成本。2.3 升级包获取与校验磁盘、端口、管理台三处先看一遍升级包从发布渠道拿到之后先算一遍哈希和对方给的值对一下。压缩包在传输过程中损坏的情况不多但一旦损坏解压出来的升级程序可能跑到一半报错报错信息还指向别的地方排查方向全歪。# 升级包到手先算 SHA256和发布方给出的哈希值逐位对比 Get-FileHash E:\upgrade\IPguard_Server_Upgrade.zip -Algorithm SHA256 # 确认各盘剩余空间升级过程要临时解压、替换文件、写日志 Get-PSDrive -PSProvider FileSystem | Select-Object Name, {nUsedGB;e{[math]::Round($_.Used/1GB,1)}}, {nFreeGB;e{[math]::Round($_.Free/1GB,1)}} # 留一份升级前的监听端口快照升级后对比有没有端口没起来 netstat -ano | findstr LISTENING E:\backup\listen_before.txt端口快照这份文件看起来多余真出问题时很有用服务器端起来但控制台连不上八成是某个监听端口没起来把升级前后的两份快照用 diff 一比少哪个端口就查哪个组件。解压路径也有讲究。中文路径、带空格的路径、层级特别深的路径都有可能让升级程序的自解压环节失败报的错还和权限、磁盘无关。常见做法是直接解到E:\upgrade\ipguard\这种浅层纯英文路径下再运行能绕掉一大类莫名其妙的问题。注意升级前把控制台的所有登录会话退出包括别人远程连着的。升级过程中如果有人还在控制台里点策略、导报表容易和服务停止、重启撞在一起轻则报错重则让升级程序判断服务状态出错。3. 服务器端升级实操从解压到管理员运行的四步前面清点做完服务器端升级本身其实只有四步解压、以管理员身份运行、核对路径点升级、等服务自动重启。步骤少不代表能跳过细节这四步里每一步都有能让流程停住的地方。3.1 解压与升级程序定位路径里别留中文和空格先把升级包从共享盘或下载目录拷到服务器本地盘再解压不要在 UNC 路径\\服务器\共享\...上直接双击运行。网络路径下运行安装程序权限继承和临时目录的行为都和本地不一样出问题的概率明显高。解压前先用压缩工具的测试功能验一遍包完整性。7-Zip 的t参数只测试不解压几秒钟出结果。:: t 参数只做完整性测试不解压返回 Everything is Ok 再往下走 C:\Program Files\7-Zip\7z.exe t E:\upgrade\IPguard_Server_Upgrade.zip :: x 解压并保留目录结构-o 指定输出目录-o 和路径之间不能有空格-y 自动确认 C:\Program Files\7-Zip\7z.exe x E:\upgrade\IPguard_Server_Upgrade.zip -oE:\upgrade\ipguard -y-o后面紧跟路径、中间不留空格这是 7z 命令行的一个小陷阱写成-o E:\...会把路径当成额外文件参数解压出来一堆东西散在当前目录。解压完成后进目录看一眼结构一般会有一个服务器端升级程序再带一个客户端安装包目录。如果只看到服务器端程序没有客户端包说明这个包只能升服务器客户端升级得另找包最好在动手前就确认清楚。升级程序本身通常不大但同目录下可能还有依赖的运行库和配置文件。常见做法是整个解压目录一起留着只把升级程序拷出来单独放升级过程中它要读同目录下的资源文件挪走了会报缺文件。3.2 以管理员身份运行自动识别安装路径后先核对再点升级找到升级程序的可执行文件右键选“以管理员身份运行”。这一步不能省普通权限下程序改不了 Program Files 下的文件、注册不了 Windows 服务、写不进注册表启动项表现出来就是升级跑到一半提示写入失败或者升级完成了但服务起不来。程序启动后会自动检测已安装的服务器路径。这个路径一般是从注册表里读的正常情况下和现场一致。但有两种情况会读错一是这台服务器以前迁移过安装目录程序装在 D 盘而注册表里还残留着 C 盘的旧记录二是部署方式不太常规比如直接从别的机器拷目录过来用没走标准安装流程。# 从注册表读已安装程序信息确认升级程序将要拿到的路径和现场实际一致 Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*, HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* -ErrorAction SilentlyContinue | Where-Object { $_.DisplayName -match IP.?guard } | Select-Object DisplayName, DisplayVersion, InstallLocation | Format-Table -AutoSize两个注册表路径都要查32 位程序在 64 位系统上会被重定向到WOW6432Node下只查一个可能什么都查不到。查出来的InstallLocation就是升级程序大概率会用的路径和 2.1 节里记下来的实际安装路径对一遍对不上就在升级界面里手动改别抱着“它自己应该能认出来”的侥幸心理点下去。提示核对路径时顺便看一眼该路径所在磁盘的剩余空间。升级程序做文件替换时会在同盘生成临时备份空间不够会停在一个没有明确提示的进度上。路径核对无误点“升级”。到这一步之前的所有准备都是为了让这个按钮点得踏实。3.3 关闭服务与升级等待别在服务重启前手动点控制台点完升级程序会提示需要关闭相关服务确认即可。服务停掉的这段时间客户端连不上服务器策略不刷新客户端本地的审计数据一般会先缓存在本地等连上了再补传。所以这个窗口期要选在业务低谷别在上班时间做。服务关闭到升级完成之间有几件事最好别做一是不要在升级过程中打开控制台并登录。服务已经停了控制台连不上会反复重试有时候还会触发它去拉起服务和升级程序抢同一个服务句柄。二是不要重复点升级。升级程序在替换文件阶段对“同时运行两个实例”的保护并不总是到位第二次点下去可能拿到一个写了一半的安装目录。三是不要在这期间重启服务器或者断开远程会话就撒手不管。远程桌面断开本身不影响程序运行但如果服务器配置了会话超时注销注销会把升级进程一起带走。升级进度的判断除了看程序窗口里的进度条还可以从进程和磁盘写入两头看。真在干活的进程会有持续的 CPU 占用和磁盘写入卡死的进程 CPU 接近零、磁盘也不动。# 升级期间盯一下升级进程的 CPU 和启动时间判断是在干活还是已经卡住 Get-Process | Where-Object { $_.ProcessName -match setup|upgrade|install } | Select-Object ProcessName, Id, {nCPU秒;e{[math]::Round($_.CPU,1)}}, {n内存MB;e{[math]::Round($_.WorkingSet64/1MB,1)}}, StartTime | Format-Table -AutoSize隔两三分钟跑一次CPU秒这个值一直在涨说明进程还活着并且在处理东西连续十分钟纹丝不动就要开始查了。查的方向按顺序来先看服务是不是已经停干净Get-Service里那几个应该都是 Stopped再看数据库连接有没有被别的会话占着最后看杀毒软件或备份软件的实时扫描是不是锁住了安装目录里的文件。这三样是“卡在关闭服务”最常见的三个原因强杀进程放最后。整个升级过程视数据量和机器性能通常几十分钟以内。超过一小时还在同一个进度基本可以判定有问题按上面顺序查不要直接结束进程——中途结束进程留下的半成品目录回滚比重装还麻烦。3.4 重启后的第一次登录确认服务、版本与在线率升级完成后服务会自动重启程序窗口一般会提示升级完成。别急着关窗口先等一两分钟让服务把依赖项都拉起来然后用命令确认服务状态和启动类型。# 升级后确认服务是否全部处于 Running启动类型是否还是自动 Get-Service | Where-Object { $_.DisplayName -match IP.?guard } | Select-Object DisplayName, Status, StartType | Format-Table -AutoSize重点看两列Status应该全是RunningStartType应该还是Automatic。如果某个服务停在Stopped先手动启动一次看报什么错如果启动类型被改成了Manual手动改回自动不然下次服务器重启它不会自己起来而这台机器可能几个月才重启一次等发现的时候已经少了一大段数据。服务确认没问题再登录控制台。登录后先看两处服务器版本号是不是新版本客户端在线率是多少。跨大版本升级后在线率下降是预期内的——老版本客户端和新版本服务器端的协议字段对不上会显示离线或者版本不匹配。这时候不要重启服务器、不要重装客户端按第 4 章的流程推客户端升级升完在线率会回来。还有一件事容易忘把升级前备份的自定义策略、分组结构、审计规则和控制台里的现有配置对一遍。升级程序一般会保留配置但跨版本时个别规则字段可能被重置成默认值尤其是那种很老的、多年没动过的自定义规则。对一遍花不了多少时间漏了就是一段时间的管控空窗。4. 客户端升级控制台里的版本选择与范围控制服务器端起来只是完成了一半。IP-guard 这套东西的价值在客户端上客户端版本不跟上服务器端的新功能用不了老客户端还可能因为兼容问题反复掉线。客户端升级不是点一下全量推送就完事版本选错、范围选大、时机不对三种情况都能把一次正常升级变成事故。4.1 客户端升级管理的入口与前置条件入口在控制台的“工具”菜单下进“服务器管理”再进“客户端升级管理”。这个位置在不同版本里措辞略有差异但层级基本一致。进去之后能看到两块内容可选的客户端版本列表以及待升级的客户端范围选择。进去之前有几个前置条件要先满足不然界面是空的或者按钮是灰的服务器端升级已经完成服务处于运行状态。这个不用多说控制台本身就连着服务器。升级包里带了客户端安装包。有些升级包是纯服务器端包体积明显偏小里面没有客户端安装文件这种情况下客户端版本列表里不会出现新版本。操作账号有对应权限。客户端升级管理属于比较敏感的功能普通只读账号看不到“应用”按钮现场如果用的是分级账号提前确认权限。客户端安装包已经导入。多数情况下升级程序会自动把包带进控制台个别版本需要手动指定包路径导入一次。进去发现列表里只有旧版本先查这一项。注意客户端版本列表里的版本号要和服务器端版本对得上。列表里出现多个版本时不要凭“数字最大”来选按发布方给出的服务器端与客户端配套关系来。4.2 选版本与选范围分批推送比一次性全量保险版本选择是第一步在版本下拉里选中要推的客户端版本。这里有个判断如果现场客户端版本跨度很大比如一部分还停在两三个大版本之前直接跳到最新版本可能出现升级失败需要重装的情况。跨度大的现场常见做法是先升到一个中间版本稳定运行一段时间后再往上升。范围选择是第二步也是最容易出问题的一步。范围可以按分组部门、OU、按 IP 段、按指定终端来选。选全量之前先想清楚一次推几百上千台客户端同时从服务器拉安装包服务器出口带宽会被打满控制台响应变慢正在办公的终端也可能因为安装包下载占用带宽而卡顿。我一般的分批节奏是这样批次范围比例观察时长放行标准第一批3%5%覆盖不同部门、不同系统版本24 小时无升级失败客户端在线正常审计数据有记录第二批30% 左右2448 小时失败率低于 1%无集中掉线反馈第三批剩余全量持续观察 72 小时在线率回到升级前水平日志无明显报错第一批一定要挑有代表性的终端不同操作系统版本、不同网络位置办公网、分支、远程办公、不同硬件配置各来几台。只挑自己工位附近那几台测不出网络和系统差异带来的问题。选好版本和范围点“应用”开始推送。推送动作本身很快真正耗时的是客户端下载安装包、安装、重连这一串。4.3 升级过程中的带宽、日志与失败处理推送开始之后控制台的客户端升级状态页面会显示每台终端的进度待升级、下载中、安装中、已完成、失败。失败项会带一个原因码或者简短描述这个信息比什么都重要别只看总数。带宽这块客户端安装包通常几十 MB 到上百 MB几百台同时拉服务器的网卡出口和交换机的上联口都会有明显压力。常见做法是把推送时间放在下班后或者午休避开业务高峰有条件的话按 IP 段分批让不同网段的终端错开下载。日志要看两个地方控制台的客户端升级状态页以及服务器上的升级日志文件。状态页看的是“哪台没升上去”日志文件看的是“为什么没升上去”。失败原因集中在几类客户端所在终端磁盘空间不足、终端上的安全软件拦截了安装程序、终端长期离线根本没收到推送、终端权限不足客户端是以受限用户身份运行的安装动作需要管理员权限。对应的处理思路也不复杂磁盘不足的清理后重推被拦截的加白名单后重推长期离线的单独拉出来等它上线或者安排现场处理权限不足的看客户端的运行方式和安装方式必要时要走终端本地的管理员通道。这些处理完再重新勾选失败的那部分重推不要图省事把已经成功的也重新推一遍。客户端升级完成之后回控制台看在线率和版本分布。这两个数字回到升级前水平客户端这一步才算走完。5. 避坑与排查IP-guard 升级最常见的五个坑下面这五条是我自己碰到过、也见过别人碰到的按“现象 → 原因 → 解决”记下来遇到时照着对。5.1 升级程序提示“未检测到已安装的服务器”现象升级程序启动后路径检测那一栏是空的或者指向一个根本不存在的目录点“升级”按钮要么是灰的要么点了报错。原因安装路径是从注册表读的读到旧记录或者读不到记录都会这样。做过安装目录迁移、用拷贝目录的方式部署、或者 32/64 位注册表视图不一致都会触发。还有一种情况是之前卸载重装过残留的注册表项指向了已经被删掉的路径。解决不要硬点升级。先用 3.2 节那条注册表查询命令把实际记录翻出来和现场真实路径比对。路径是旧的就在升级界面里手动改成正确路径注册表项缺失的按标准安装流程补一次安装记录再升级别指望升级程序自己猜。升级完成后回头把注册表里指向不存在路径的残留项清掉避免下次升级再踩。5.2 卡在“正在关闭服务”进度条长时间不动现象点了关闭服务的确认之后进度条停在那里二十分钟以上没有任何变化进程 CPU 接近零。原因服务没停干净。常见的是数据库连接被别的会话占着、备份软件正在扫描安装目录、杀毒软件实时监控锁住了某个 dll、或者有人还在控制台里操作。升级程序在等服务真正停下来才继续服务停不掉它就一直等。解决按顺序查。先用Get-Service看相关服务是不是真的都到了 Stopped再看数据库那边有没有长事务或者异常连接必要时结束掉然后临时把安装目录从杀毒和备份的扫描范围里排出去最后确认控制台没人连着。这几步做完服务通常能停下来升级程序会自己继续。实在停不下来手动停服务再重新运行升级程序走一遍比强杀进程干净。5.3 服务器端升完客户端大面积离线现象升级前在线 900 多台升级完只剩 500 多剩下的显示离线或者版本不匹配重启客户端也没用。原因服务器端版本高、客户端版本低两边通信字段对不上客户端认不出服务器服务器也认不出客户端。这不是故障是升级过程中的正常状态只是很多人第一次遇到会以为服务器坏了。解决按第 4 章的流程推客户端升级分批推。推之前先确认升级包里带了客户端安装包以及客户端版本和服务器端配套。在线率恢复到升级前水平需要时间取决于客户端多久上报一次心跳别在这期间反复重启服务器端。有少数终端升级后仍然离线单独查那几台的客户端服务状态和网络连通性。5.4 客户端升级管理里选不到新版本现象进到“客户端升级管理”版本下拉里只有旧版本找不到刚升级上来的那个版本。原因升级包里没带客户端安装包或者包带了但没有被控制台正确导入。也有一种情况是控制台缓存没刷新界面上还显示着旧的列表。解决先确认升级包解压目录里有没有客户端安装包目录和对应的版本文件没有就得另找带客户端的完整包。有的话在控制台里手动指定包路径导入一次。导入后列表还是没变退出控制台重新登录一次刷新缓存或者重启控制台相关服务。这一步别在业务时间做重启服务会让在线的控制台会话全部断开。5.5 升级后控制台登录异常、授权提示过期或功能受限现象能打开控制台登录界面输入账号密码后提示授权过期、授权无效或者登录进去很多功能是灰的点不了。原因升级过程覆盖了授权文件或者授权文件和当前机器码对不上。机器码变化的场景不罕见——换过网卡、虚拟机做过迁移、克隆过系统盘都可能导致机器码变化授权校验直接失败。解决升级前备份的授权文件在这里派上用场先重新导入一份。导入后仍然提示无效说明是机器码变了这种情况只能联系发布方重新签发授权。所以 2.2 节里把授权文件单独拷一份到别的盘不是多余动作它决定了你是十分钟恢复还是等一天。6. 装完怎么验证三个检查点判断这次升级真的跑通了升级程序提示完成、服务起来了、控制台能登录了这些都只是“装上了”不等于“跑通了”。真正的验证要落到功能层面策略能不能下发、审计数据能不能上来、客户端能不能撑过一整个工作日。我的习惯是按下面三个检查点依次过。6.1 服务器端服务、版本、日志三处对一遍第一处是服务。用 3.4 节那条命令再看一次全部 Running、启动类型全是 Automatic 才算过。顺手把服务器重启一次再检查一遍这一步很多人嫌麻烦跳过但启动类型被改动、依赖服务顺序不对这类问题只有重启之后才暴露。第二处是版本基线。拿 2.1 节升级前记录的文件版本和升级后同一目录的结果并排比主程序文件版本应该都变了依赖的运行库该更新的也更新了。有个别文件版本没变不一定是问题有些组件跨版本本来就不动但如果主程序版本都没变说明升级根本没生效得回去查升级程序检测到的路径对不对。第三处是日志。服务器的运行日志、升级日志、数据库日志各看一遍重点搜 ERROR、失败、异常这几类关键词。升级过程中报的错有一部分是过程性的比如服务停止时的连接断开可以忽略但升级完成后还在持续报的错一定要查清楚。检查项检查方法通过标准服务状态Get-Service过滤 IP-guard 相关服务全部 Running启动类型 Automatic文件版本对比升级前后主程序 FileVersion主程序版本已变更端口监听对比升级前后netstat快照关键端口全部恢复监听数据库备份任务看数据库作业和磁盘上的备份文件升级后首次备份成功日志搜 ERROR / 失败 / 异常无持续性报错6.2 客户端抽样验证别只看在线率在线率是个粗指标只能说明客户端连上了服务器说明不了功能是否正常。抽 10 台左右做功能验证抽样要覆盖不同部门、不同系统版本、不同网络位置。每台终端上确认三件事客户端版本号是不是推下去的新版本客户端服务是否在运行控制台里这台终端的策略状态是不是最新改一条测试策略看终端多久生效。前两件在控制台就能看到第三件一定要实际改一次策略验证——策略下发链路断了客户端看起来在线实际上什么都不执行这种“假在线”最难发现。审计数据也要验。找一台抽样终端做一次文档操作复制、外发、改名都行看控制台里有没有对应的审计记录。外设管控同样插一个 U 盘看策略有没有生效。这些动作在测试环境做最合适生产环境挑非业务终端做。6.3 观察 72 小时把升级当天和一周后对比升级完当天一切正常不代表后面没问题。有些问题要跑满一个业务周期才暴露比如某个部门的排班系统在特定时间点会大量读写文件触发审计日志暴涨比如某台老终端的磁盘空间在客户端缓存数据后慢慢被写满。观察期内重点看三个数客户端在线率曲线是不是持续在升级前水平有没有莫名下降、数据库增长速率审计数据写入量是不是明显高于升级前、服务器 CPU 和内存有没有新版本带来的资源占用上升。这三个数在升级前都有基线直接对比就行。观察期结束后把升级前的备份保留一段时间再清理。安装目录备份和数据库备份占空间不小但至少要留到下一次全量备份成功、并且确认新版本运行正常之后。从那以后我每次做 IP-guard 升级不管这套环境上个月是不是刚升过都会在动手前把服务名、安装路径、端口快照、数据库备份和授权文件再核一遍升级完成后一定抽十台终端做功能验证而不是看一眼在线率就收工。这套流程多花的是一个小时省下的是第二天早上被电话叫醒的可能。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?
咨询建站