为避免泄露内部信息,本文只描述概要信息,不涉及具体的方案细节和实现细节。
0 摘要
终端设备开机启动时,各类服务启动混乱,日志大量飘红,需要整改和重构。梳理现有的全部服务,借助 systemd 和 shell 脚本,重新设计系统启动方案,实现更稳定可控、易定位问题、扩展性更新强的系统启动方式。
systemd相关知识请参考我的另一篇博客:系统管理器——systemd。
1 背景
对于当前所有型号的终端设备(包括各类飞机和地面设备),各个自研服务的启动,都各自为战、异常混乱,导致整体系统启动混乱,大量服务相互干扰、启动异常,日志大量飘红,严重影响到系统的稳定性和安全性。
考虑到系统的稳定性和可扩展性,需要为各服务制定相关标准,重新设计系统启动方案。
2 目标
解耦自研服务和系统其他服务;
梳理所有自研服务的启动依赖关系,整改启动配置;
新增启动管理服务,统一管理自研服务的启动,实现服务启动严格可控;
设计多运行级别(systemd target),适配多种系统运行模型,不仅实现自研服务的可扩展,而且能够随着业务场景的要求实现运行级别的可扩展;
3 方案简述

default.target决定系统启动到哪个级别;无论启动到哪个级别,都要先启动到 multi-user.target。
启动其他系统服务后,此时启动“启动管理服务”,由该服务来统一管理”自研服务“的启动。
结合 systemd-analyze plot可视化服务启动耗时,优化启动时间。
实现“启动级别“可扩展、”自研服务“可控。
4 产出
系统启动设计文档;
系统启动方式代码实现;
系统启动日志分析SOP;
自研服务启动配置模板;
提供整改SOP,整改各服务、各型号设备;
跨团队合作,配合仿真、测试、飞场,结合压测,分析日志,输出测试文档;
评论区