产品资讯
1 概述
1.1 产生背景
近年来,边缘计算通过虚拟化技术,软件定义网络与5G技术相结合,在通信和信息领域的整合中起到了关键作用,也得到了广泛的应用和发展。随着边缘计算的蓬勃发展,通用客户端设备(Universal Customer Premises Equipment,uCPE),作为实体网络接入层较前沿的端点设备,在强劲市场需求推动下,正在被大量部署。对运营者来说,广泛大规模uCPE的安装部署成本已经有所优化。然而,频繁的操作系统升级和系统损坏启动错误,导致运营维护成本仍居高不下,并且人工维护的工作效率通常不高。因此,运维自动化与优化,已经成为运营商优化管理服务的重要指标和行业趋势。
1.2 技术优点
面对这一挑战,兴汉提出一种基于固件级的技术解决方案,该方案授权的uCPE设备从系统故障自动转移、恢复出厂默认和系统升级安全检查等方面补充了传统设计的不足,可大幅降低运营商维护成本,增强用户体验。
l 智能化
对于因文件损坏造成的操作系统启动故障,无需人工干预可自动切换到其它可用系统。
l 高可靠
只要存储介质没有物理损坏,就能实施系统修复,保证设备快速恢复在线状态。
l OS无关性
技术方案由BIOS和MCU/CPLD的固件实现,操作系统配合部署,与操作系统没有紧密耦合性。
2 技术介绍
2.1 工作原理
设备部署多个OS,除了用户工作OS外,增加隐藏的OS,当用户OS出现启动故障时,BIOS智能选择切换到其它OS,保证设备“无间断”自动恢复正常工作。
主要功能组件包括故障转移管理控制器(Failover Management Controller)和BIOS的启动策略管理(Boot Policy Management),搭配操作系统的安装部署,系统框图如下。
图1. 系统框图
故障转移管理控制器(Failover Management Controller)
故障转移管理控制器是一个由Standby 电源供电的控制器,可以是MCU(Micro Controller Unit)、CPLD(Complex Programmable Logic Device)或者EC(embedded controller)等,负责监听系统启动故障或者接收故障事件通知,监听和通知的方式有以下几种:
l 看门狗
故障转移管理控制器上启用开门狗,由OS喂狗,看门狗超时即表示系统启动故障,需要重新启动并切换到另一个OS。
l 按键
故障转移管理控制器上的逻辑组件,可以是GPIO实现的物理按键,也可以是BMC远程控制的虚拟按键。控制器接收到外部按键触发事件,BIOS即启动隐藏的OS,对用户OS做修复。
l 应用程序API
提供API接口供OS调用,作为OS和BIOS之间沟通的接口,OS上的管理程序调用SetNextBootEntry通知BIOS下一次期望选择哪个boot entry启动。
启动策略管理
启动项策略管理信息存储在故障转移管理控制器的非易失性存储区域,包括故障OS黑名单,OS启动状态等,其中黑名单记录启动出现故障的OS。BIOS启动策略功能模块根据这些信息,选取适合的启动项。
例如,采用“2+1”部署模式时,2个系统,A和B互为备份,1个管理系统M,M有能力恢复A或者B。
系统A启动故障,A进入黑名单,BIOS自动切换到B启动。
B启动故障,如果此时A是正常可运行系统,自动切换到A。
图2. A和B互为备份
如果A和B都已经进入黑名单,自动选择启动系统M。
图3. 选择管理系统M
系统部署方式
被管理的操作系统可以有多种部署方式,相应的,可以实现不同等级故障的恢复。
同一个物理介质,划分多个分区,分别存储各个操作系统,实现partition layer恢复,如果其中某一个系统的数据被破坏,文件丢失,甚至分区文件系统错误,只要这个磁盘分区表完整,BIOS仍然可以识别到其它OS,实施切换。
多个存储介质,分别存放各个操作系统,可实现block device layer的恢复,即使故障系统所在磁盘的分区表被损坏,只要物理磁盘完好,BIOS还是可以引导另一个系统,通过另一个系统对故障系统做修复。
3. 模型设计实例
本技术方案根据不同的应用场景,可以有不同的设计实现,典型模型有系统故障转移和一键还原。
3.1 系统故障转移
3.1.1 应用场景
一些外部因素,例如,异常断电、断网、误操作等,会造成应用程序升级失败,OS升级失败,文件丢失,文件系统崩溃,磁盘分区损坏,最终导致系统无法启动,该网络节点瘫痪,服务中止。
其中非常常见的问题是OS升级失败。SDN环境下的网络节点设备基本采用远程在线方式升级系统,如果升级过程中发生网络连接中断,或者设备断电等情况,升级被异常中止,往往不仅导致升级失败,而且可能当前工作系统也已经被擦除,设备没有可用系统,只能由专业维护人员赴现场或返厂重新安装。
部署系统故障转移模型方案,可以很好的解决这类问题,保证即使出现系统故障、升级失败也有可用系统,设备能“永远在线”。
3.1.2 设计实现
Failover管理控制器功能实现
Failover管理控制器上实现看门狗功能,并提供OS访问接口。
安装操作系统
共安装3个操作系统:
A系统,用户主工作系统,默认启动该系统。
B系统,备份系统,出厂时与A系统完全一样。
M系统,轻量管理系统,不会被升级或修改,保存了A的出厂版本系统镜像。
系统故障转移流程
(a) 默认BIOS选择从A启动,系统和服务进程启动正常的情况下,继续运行A。
(b) 如果A(系统/服务)启动失败,Failover管理控制器监听到故障,添加A到黑名单,并立即重启设备, BIOS切换到B启动。
(c) 如果B启动成功,继续运行B, B可以执行对A的恢复和升级,并选择下次重新从A启动。
(d) 如果B也启动失败,Failover管理控制器重启设备,BIOS切换启动管理系统M。
(e) M用本地保存的镜像恢复A系统。
图4. 系统故障转移流程
系统安全升级流程
A和B双系统切换,不仅提供故障转移能力,更能保证系统升级的安全,基于这种模式的升级流程如下:
(a) 默认从A启动,如果不需要升级系统,继续运行其它应用;
(b) 如果需要升级系统,升级系统B;
(c) 升级完成后,通过API设定期望下次从B启动,重启设备;
(d) 重启后,BIOS根据故障转移管理控制器上的设定记录选择从B启动;
(e) watchdog监听B的启动,如果成功,继续运行其它应用;
(f) 如果B启动失败,watchdog超时,故障转移管理控制器设定下次回滚回A启动;
图5. 系统安全升级流程
3.2 一键还原
3.2.1 应用场景
设备安放在例如分支机构办公室或者机房等地方,用户系统出现故障时,可以借助现场非专业人员的简单操作,“一键”还原系统到出厂状态,包含出厂时安装的OS和所有应用程序。
“一键还原”既可以独立为设备提供按键恢复,也可以和Failover方案组合,在设备的故障自动转移能力上再补充按键触发机制,方便用户更灵活快捷地恢复系统。
3.2.2 设计实现
故障转移管理控制器功能实现
控制器侦测按键的事件触发,接收“一键”操作指示。
用户按键后,BIOS引导M系统,M自动执行对A系统的重安装。
安装操作系统
根据一键还原系统需求,部署2个操作系统,工作系统A和管理系统M。
工作系统A,安装所有客户应用程序,是设备工作的主系统,默认启动该系统。
管理系统M,一个轻量系统,BIOS隐藏该系统启动项,不会被升级或修改,M的用户数据里包含A的出厂版本镜像。
图5. 一键还原流程
4 展望
本技术方案通过智能选择启动引导项,从固件级别为设备维护的自动化提供保障,为运营商降低了维护的成本,为用户带来了更好的服务体验。兴汉,一直致力于先进的uCPE平台设计,在本方案的基础上,将进一步探索硬件监控平台的应用和设计,实现系统深层探知和全局分析,在运维场景中,从故障发生后的被动执行,升级为故障发生前的主动决策,为客户提供更高效、更可靠的网络产品解决方案。