操作系统版本管理实践与规划
操作系统作为IT基础设施的核心组件,向下连接硬件,对计算机硬件的复杂功能进行封装和抽象,提供硬件资源管理能力;向上连接软件,为上层软件提供了统一的应用程序接口,对数据库、中间件、应用程序提供运行环境和支持服务。正因如此,操作系统的变化与业务系统运行息息相关。近年来,随着金融XC建设工作的推进,同时落实监管对操作系统版本管理的要求,适应“两高一弱”常态化管理机制,G行总结操作系统领域实践经验,优化服务器操作系统管理策略,提升服务器操作系统领域支持力度,充分发挥了操作系统的承上启下桥梁作用,进而有效保障了业务系统稳定运行。
制定版本管理规划
G行当前使用的服务器操作系统主要是以Linux为核心的商业发行版本,占全行服务器操作系统总量的95%左右。对于Linux相关商业产品的维护支持,一般厂商提供包括全面支持、扩展支持、安全支持、极限支持四个阶段:其中全面支持阶段提供全方位的支持,包括新硬件、新功能支持,提供安全更新和关键补丁修复安全漏洞及缺陷;扩展支持服务阶段提供重要安全更新及关键补丁,有限提供新硬件、新功能支持;而安全支持阶段仅提供重要安全更新和关键补丁;对于极限支持阶段,服务内容与安全支持基本一致,仅是服务周期的延长,但需要较高的维护成本投入。为保障操作系统使用充分性与合理性,提高系统稳定性,G行结合上述商业发行版本的维护支持策略及行内基础设施现状,制定了服务器操作系统版本管理策略。
图1 操作系统版本规划示意
1.减少极限支持使用的可能。部分商用版本的安全支持与极限支持阶段,需额外采购维护服务,尤其是极限支持服务的采购成本极高,因此在成本因素影响下,操作系统版本迭代上应减少极限支持服务使用的可能。
2.优选最终的小版本。版本的选择应考虑中间版本的支持情况,各个商业发行版本中,一般中间小版本与最终小版本的支持周期相比,支持周期要短2-3年,因此优选最终小版本广泛使用,可在一定程度上减少额外维护支持投入。
3.需求性与周期性引入相结合。操作系统的版本更新触发条件有两个,一个是为适应新特性、新硬件而引入特定版本,另一个是固定周期的版本更新。G行根据当前操作系统使用情况,形成了1年试用-3年主推-2年限制使用-3年限期替换的生命周期管理规划,在使用年限上充分利用产品生命周期,降低业务系统升级成本,极大保障业务系统稳定性,同时每间隔3-4年开展新版本引入,推进版本迭代更新,4-5年的限制使用和替换周期为业务系统迁移提供充足的迁移替换时间窗口。
实施统一补丁管理基线
在操作系统管理中,补丁管理是重要的工作内容之一。常态化的补丁修复既是降低安全漏洞风险,防范网络攻击,维持系统稳定与性能的需要,也是满足行业合规,提升业务连续性,保障客户数据安全的要求。G行多年来在操作系统领域实施统一基线的管理策略,即通过基线标准统一、升级策略统一、实施升级统一的标准化、集中化的方式,实现对所有系统主机的补丁进行统一管理、测试、部署。
1.统一基线标准。G行实施操作系统补丁统一的基线管理策略,按照每年1-2次的集中式更新,将系统漏洞与缺陷通过补丁更新进行累计性修复,从而减少了生产环境的补丁多样性,消除补丁基线的差异,避免因不同系统的主机补丁版本不一致导致的“安全短板”。
2.统一升级策略。在开发测试与生产环境操作系统版本保持一致前提下,实施一定差异的滚动补丁更策略。同时对跨版本升级方面,原则上按主机替换升级实施,除重要系统需开展专项非功能测试外,其余系统开展功能回归测试;对小版本内的补丁更新,不强制要求专门的非功能及功能测试,测试环境提前完成升级1个月以上并无异常,视为具备升级测试条件。
3.统一升级实施。统一的基线管理降低了运维复杂性,仅需考虑在有限数量的版本下进行补丁升级与回退,减少测试验证范围,并为通过系统运维配置管理平台统一实施与灰度发布创造了有利条件,有效避免分散式运维的重复劳动。同时实施窗口的选择集中在每年的4至8月,避免对春节、两会、国庆、双11等重大保障活动的影响。
总之,统一补丁基线管理策略的核心优势在于将碎片化的补丁工作转化为标准化、可度量的安全实践,从而在安全性(减少漏洞与缺陷)、效率(降低运维成本)、合规性(满足监管要求)三者间实现平衡,提升基础设施管理的韧性。
工具化操作系统镜像交付
操作系统镜像既是操作系统版本及补丁管理的出发点,又是落脚点,操作系统版本的变化及补丁基线变化均会影响应用系统所使用的镜像内容。为充分保障环境一致性,减少通用软件安装工作,并提升交付效率,G行通过标准的镜像实现云外物理机及云内虚拟机、裸金属的资源交付。
图2 镜像制作流程示意
定制化开发阶段主要通过ISO封装技术对厂商交付的ISO镜像文件进行二次封装打包,打包过程参考统一的基线软件清单进行裁剪或补充:一方面减少不必要安装组件所带来的安全风险(如图形化界面)或性能风险,增强安全性;另一方面增加部分特定软件的预装部署,如perf、ebpf等可观测工具,为系统故障诊断,性能观测等提供工具支撑。此外,针对系统运行配置方面,结合运维技术标准,对配置基线使用kickstart工具进行脚本化封装,实现一键式安装配置,以此减少物理装机后基线配置维护工作。
(二)兼容适配兼容适配核心解决的是软硬件兼容问题。对下层解决硬件与云平台、物理机的适配,将操作系统定制化镜像导入相应的平台并执行系统安装,测试验证可按预期完成装机过程;对上层解决数据库、中间件、通用软件等的兼容验证,在镜像引入过程中,通知相关软件的技术责任人开展适配验证工作,验证软件安装部署、功能运行、性能效率等方面满足预期要求,为后续推广使用奠定基础。
(三)流水线交付由于云虚拟机和裸金属服务可通过镜像复制进行主机交付,为减少每次交付中进行补丁基线追平及通用软件安装操作,提高交付效率,G行使用标准化的镜像进行资源发放。从定制化镜像到标准化镜像的制作过程,使用镜像流水线工具实现,其中镜像各阶段部署脚本依托G行统一代码管理平台,对ansible的playbook代码或shell脚本进行统一管理,实现脚本更改的有迹可查及多方协同管理;通过流水线的持续集成工具实现流水线的运行,在设定特定参数后自动化对ansible的playbook或shell脚本的调度执行,并满足多环境下部分镜像内置软件差异化安装的需求。最终生成的镜像均通过API方式上传至统一制品库存储,为后续云内镜像发布提供唯一入口,实现标准化交付。
(四)验证发布镜像的验证发布,首先要通过流水线执行生成镜像,然后使用统一的验证流程派发各方执行镜像验证,以确保符合交付预期。对新引入的操作系统版本需在发布前进行技术产品登记,并对所有更新的操作系统镜像在云管理平台中进行注册并开放使用,完成镜像发布过程。
镜像管理工具流程化的核心价值在于:首先是标准化,通过技术工具约束人为差异,通过流程工具消除环节缺失;其次是自动化,通过自动化流水线执行,减少手工操作,实现代码提交的自动化验证,提高开发维护效率。其三是可观测,从构建到交付的全过程留痕,实现可追溯。
总结与展望
操作系统是计算机系统中至关重要的系统软件,它处于系统硬件和数据库、中间件及应用软件之间,起到了承上启下的桥梁作用。在金融企业中,操作系统版本、补丁、镜像管理意义重大。有效的版本管理能确保系统稳定运行,减少因版本不兼容等问题导致的故障。合理的补丁策略有助于保障数据安全,并推进及时更新安全补丁。标准的镜像管理能够实现资源的快速交付,便于统一管理和维护,提升运维效率。三者的有机结合与统一,可促进金融业务系统可靠性、安全性和高效性。
随着G行应用上云及XC改造工作的不断推进,XC操作系统的使用愈加广泛,软件技术产品的生态愈加丰富且成熟,操作版本管理方面应持续积累和探索,与时俱进,稳中求进,推进操作系统管理规划的落地实施,着力保障业务系统安全稳定运行,助力G行高质量发展。