收拾工位时翻出3年前贴在显示器边上的手写便签,字都黄了,上面写的许可坑我上周又差点踩一次。
当年写这张便签是凌晨两点。那天晚上许可服务器突然崩了。200多个工程师第二天要交图。我蹲在机房地上排查。查了三个小时才发现。是2023版和2025版的许可服务抢了同一个端口。两边都没报错。就是互相卡死。我手动杀进程、改端口、重启服务。搞到快四点才恢复。第二天顶着黑眼圈把踩的坑全写在便签上。贴显示器边上。怕下次再忘。结果三年过去。上周差点又栽在同一个地方。
不过这次不一样了。这次我手里有一套完整的优化方案。就是去年帮某车企做的那套。他们一年砍掉了500万许可费。内部管这叫"省出一台保时捷"。我顺着便签的思路。把当时的操作重新捋一遍。算是给自己留个升级版记录。
第一段是摸底。当年我摸底靠手写脚本。一台一台扫。扫了两天。现在不用了。升级技巧第一个:直接用许可服务器自带的报告功能加一个定时任务。每天早上六点自动跑一次。输出到共享盘。我写个PowerShell解析日志。自动标出连续14天没活跃过的节点。车企那次。这一步就揪出来217个僵尸许可。全是离职员工没回收的、换电脑没卸载的。光这一项。一年省了将近120万。比当年我手动查快了十倍不止。
第二段是版本整合。当年2023和2025混装。我笨办法。一个版本一个端口。手动改环境变量。改完还得挨个通知用户。现在升级技巧第二个:搞一个统一的许可代理层。所有客户端只指向这一个代理。代理后面再分发到不同版本的许可服务。用户端完全无感。不用改环境变量。不用改客户端配置。车企有1400多个工位。我们只花了一个周末切换。没有一张工单。这一步把两套许可服务器合并成一套。省了硬件和维保。又砍了80万。
第三段是借出管控。当年我在便签上写的是"设14天自动回收"。但执行起来阻力很大。设计师天天骂。说正出差呢许可被收走了。现在升级技巧第三个:不硬回收。改成"到期前三天弹窗提醒加一键续借"。续借要走部门主管审批。但审批是钉钉上一个按钮的事。三秒钟。车企推行这个之后。借出超期的从37%降到4%。没人骂了。因为大家觉得是自己选择续借的。不是被强制收走的。这一步又省了大概60万。加上前面两步。凑够了那个"保时捷"的数字。
最后补两个便签上没写全的坑。第一个。许可服务器千万别装在虚拟机上还不做快照策略。当年便签上只写了"服务器要稳"。没写具体怎么稳。车企那次我们差点翻车。虚拟化平台一次热迁移。许可服务的硬件指纹变了。许可直接锁死。后来加了每4小时自动快照。再加一个硬件指纹绑定到虚拟网卡MAC而不是主板序列号。才彻底稳住。这个细节便签上完全没有。

第二个。便签上写了"注意时区"。但没写为什么。真正的原因是许可到期时间戳是按服务器本地时间算的。如果你的服务器时区跟NTP差个三五分钟。到期判定就会偏移。表现就是每天固定时间丢几个许可。过一会儿又自己回来。特别诡异。特别难查。我当年查这个查了一整周。后来加了ntpdate定时同步才解决。这个便签上就三个字"注意时区"。太敷衍了。现在的我替当年的我补上。
行了。便签重新贴回去了。字还是黄的。但内容升级了。下次再翻出来。希望别再差点踩坑了。