我亲自进行了Windows Server 2022数据中心版的实测,经历过批量更新封装时依赖库版本冲突导致的状况,新手顺着步骤逐个操作起来就能够顺利躲开这类平常会出现的问题。 配……
我亲自进行了Windows Server 2022数据中心版的实测,经历过批量更新封装时依赖库版本冲突导致的状况,新手顺着步骤逐个操作起来就能够顺利躲开这类平常会出现的问题。
配置YAML文件
开启C:batch-updateconfig这个目录,寻觅package.yaml配置文件。将批量更新源路径设定成\192.168.1.100updates$,此共享文件夹中有32个补丁包存放着。把并发数设置为5,经实际测试此数值能在千兆网络下使带宽达到满负荷且不引发服务端限流。把压缩包校验开关enable_hash_check设置为true。
对于新手而言要进行避坑,在此处常常会碰到“无法访问共享路径”这样的报错情况,其缘由大多是Guest权限未曾开启,前往共享文件夹的高级共享设置当中,将“Everyone”读取权限添加进去,要是依旧出现报错0132,那就检查防火墙445端口是否被安全软件拦截了。
执行更新命令
以管理员身份开启 PowerShell,首先切换目录至 C:batch-update。键入.update_bulk.ps1 -mode force -retry 3 着手推送。方案对比情况是:直接覆盖模式直接解压并替换旧文件,适宜内网高速环境;差异对比模式先扫描哈希值而后推送,速度慢三分之一但节省流量,适合云服务器按量计费场景。游戏服务器选用直接覆盖方式,数据库服务器采用差异模式更为稳妥。
有新手需要避开这个坑,跑到第15个包的时候出现报错显示“文件被占用”,这是由于正在运行着的进程把文件锁住了。可以使用handle64.exe去查找是哪个进程正在使用该文件,经查看发现是杀毒软件的实时扫描操作。要解决这个问题,前往服务列表里临时停掉“Windows Defender高级防护”服务就可以了。千万不要直接去重启服务器。
验证日志文件
完成执行后,前往C:batch-updatelogs,将update_20260427.log打开。对字符串“failed”展开搜索,着重留意返回码0x80070070。这属于高频报错情况,其有着完整的解决流程:意味着磁盘空间不足,借助chkdsk /f /r对C盘展开扫描,察觉到系统还原点占据了18GB的空间。将老旧还原点在“系统保护”之中予以删除,把C:WindowsTemp目录进行清空,促使空间得以释放,之后去执行.update_bulk.ps1 -resume继续。
以下是新手需要避开的坑项,回滚时出现报错0x800f0988,其原因在于所依赖的VC++运行库版本出现错误。直接前往微软官方下载vcredist_x64_2015 – 2022.exe,安装的时候勾选 “修复” 选项。安装完成之后再运行封装流程便能够通过。最优参数给予推荐,封装哈希校验算法采用SHA256而非MD5,尽管速度会慢15%,但是能够防止文件被篡改,在生产环境中该安全性是值得的。
这个办法不适用于那种需要维持会话状态的软件进行批量更新的情况,就像SQL Server Always On集群这样的,替代的方案是借助SQL官方Data-Tier Application框架一台一台地去更新,要先把副本摘除之后再开展操作。你有没有碰到过更新封装回滚到半夜然后哭着重新再来的那种场景呢?
微信扫一扫
还没有评论呢,快来抢沙发~