发明内容
综上,本申请实施例提供一种服务器设备进行系统恢复的方法、系统恢复装置、远程恢复服务器设备的系统的方法和装置、电子设备及存储介质,能够在无网络连接的状态下以不占用USB端口的方式实现服务器设备的远程系统恢复。
第一方面,本申请实施例提供了一种服务器设备进行系统恢复的方法,包括:
响应于第一远程指令,服务器设备在启动时将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统,其中,所述当前系统分区槽为所述服务器设备的第一系统分区槽和第二系统分区槽中的一个,所述第一系统分区槽和第二系统分区槽中均新增一个恢复出厂功能分区,所述第一系统分区槽和第二系统分区槽的恢复出厂功能分区均存储有所述恢复出厂系统;
所述服务器设备将出厂版本系统镜像分区挂载到指定挂载路径,其中,所述出厂版本系统镜像分区为新增的系统分区,所述出厂版本系统镜像分区中存储有出厂版本系统镜像,所述出厂版本系统镜像基于系统升级OTA包生成;
所述服务器设备从所述挂载路径获取出厂版本系统镜像,利用所述出厂版本系统镜像对第一系统分区槽和第二系统分区槽进行系统刷写。
第二方面,本申请实施例提供了一种远程恢复服务器设备的系统的方法,包括:
向服务器设备发送第一远程指令,以使所述服务器设备在启动时将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统,将出厂版本系统镜像分区挂载到指定挂载路径,从所述挂载路径获取出厂版本系统镜像,利用所述出厂版本系统镜像对第一系统分区槽和第二系统分区槽进行系统刷写,其中,所述当前系统分区槽为所述服务器设备的第一系统分区槽和第二系统分区槽中的一个,所述第一系统分区槽和第二系统分区槽中均新增一个恢复出厂功能分区,所述第一系统分区槽和第二系统分区槽的恢复出厂功能分区均存储有所述恢复出厂系统,所述出厂版本系统镜像分区为新增的系统分区,所述出厂版本系统镜像分区中存储有出厂版本系统镜像,所述出厂版本系统镜像基于系统升级OTA包生成。
第三方面,本申请实施例还提供了一种系统恢复装置,应用于服务器设备,包括:
启动单元,用于响应于第一远程指令控制所述服务器设备在启动时将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统,其中,所述当前系统分区槽为所述服务器设备的第一系统分区槽和第二系统分区槽中的一个,所述第一系统分区槽和第二系统分区槽中均新增一个恢复出厂功能分区,所述第一系统分区槽和第二系统分区槽的恢复出厂功能分区均存储有所述恢复出厂系统;
挂载单元,用于控制所述服务器设备将出厂版本系统镜像分区挂载到指定挂载路径,其中,所述出厂版本系统镜像分区为新增的系统分区,所述出厂版本系统镜像分区中存储有出厂版本系统镜像,所述出厂版本系统镜像基于系统升级OTA包生成;
刷写单元,用于控制所述服务器设备从所述挂载路径获取出厂版本系统镜像,利用所述出厂版本系统镜像对第一系统分区槽和第二系统分区槽进行系统刷写。
第四方面,本申请实施例还提供了一种远程恢复服务器设备的系统的装置,包括:
发送单元,用于向服务器设备发送第一远程指令,以使所述服务器设备在启动时将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统,将出厂版本系统镜像分区挂载到指定挂载路径,从所述挂载路径获取出厂版本系统镜像,利用所述出厂版本系统镜像对第一系统分区槽和第二系统分区槽进行系统刷写,其中,所述当前系统分区槽为所述服务器设备的第一系统分区槽和第二系统分区槽中的一个,所述第一系统分区槽和第二系统分区槽中均新增一个恢复出厂功能分区,所述第一系统分区槽和第二系统分区槽的恢复出厂功能分区均存储有所述恢复出厂系统,所述出厂版本系统镜像分区为新增的系统分区,所述出厂版本系统镜像分区中存储有出厂版本系统镜像,所述出厂版本系统镜像基于系统升级OTA包生成。
第五方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面所述的服务器设备进行系统恢复的方法的步骤或第二方面所述的远程恢复服务器设备的系统的方法的步骤。
第六方面,本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面所述的服务器设备进行系统恢复的方法的步骤或第二方面所述的远程恢复服务器设备的系统的方法的步骤。
综上,本申请实施例提供的服务器设备进行系统恢复的方法、系统恢复装置、远程恢复服务器设备的系统的方法和装置、电子设备及存储介质,通过一个远程指令(即第一远程指令),服务器设备即可在启动时将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统,将出厂版本系统镜像分区挂载到指定挂载路径,从所述挂载路径获取出厂版本系统镜像,利用所述出厂版本系统镜像对第一系统分区槽和第二系统分区槽进行系统刷写,从而能够在无网络连接的状态下以不占用USB端口的方式实现服务器设备的远程系统恢复。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
现有的云服务网络架构中,大量的服务器设备通常会部署在全国各地的机房当中保持长时间通电运行的状态,并通过网络连接与终端设备进行网络通信,以提供例如云电脑、云手机、云应用、云游戏等等的网络服务。
在实际应用中,由于保持长时间通电运行的状态的服务器设备的数量众多,出于维护和生产成本方面的考虑,服务商会尽量减少每个服务器设备的物理连接,仅保留网络连接和少量电路连接,同时尽量减少需要人工出入机房进行维护的情况的发生。然而,在服务器设备进行系统升级的过程中,容易因为升级包存在错误数据或升级后出现系统故障等原因,出现服务器设备无法正常启动的情况。而且,由于云服务场景中通常会为终端用户开通完全的系统权限(如ROOT权限),很容易出现因用户操作不当而造成系统损坏或故障而无法正常启动的情况。
对于此类故障,由于统一部署在机房中的服务器设备无法正常进入操作系统,基于网络连接的远程控制程序失去操作系统作为基础而无法解决这类故障,仅包含远程通电断电等简单功能的电路连接也无法解决这类故障,所以服务商不得不采用维护人员进入机房进行人工维修的维护方式——每个服务器设备上需要提前预留好USB接口,维修时维护人员携带线刷工具进入机房、将线刷工具连接到故障设备的USB接口上、基于按键操作重启故障设备以进入线刷模式,然后在线刷模式下手动进行系统恢复或故障修复等操作。这样的方式不仅需要为每个服务器设备预留USB接口、大大增加设备成本和设备物理连接的复杂程度,还需要人工来确认和处理整个故障流程,大大增加故障维护的流程复杂度和花费的时间,对云服务系统的稳定性和可靠性造成极大的影响。
为解决此问题,可以通过Recovery系统对系统升级(OTA)的方案来将系统恢复成出厂版本,但是对于采用A/B分区的系统来说,由于OTA并未发生在Recovery系统中,而是发生在Android(安卓)系统中,且使用称为update_engine的后台守护进程,由不同的系统槽相互完成系统升级,因此该方案并不适用于采用A/B分区的系统。
自Android 8.0版本开始使用的A/B分区系统技术方案,提供了完善的恢复机制,这种机制下,设备有两个系统分区槽:分区槽A和分区槽B。由于有两个独立的系统分区槽,如果一个分区槽出现问题,系统可以轻松地回滚到另一个分区槽的系统版本。但是由于云应用场景下服务器设备数目庞大,一些系统升级过程故障、人为操作失误、系统稳定性问题等原因都可能引起分区槽A和B均出现无法启动的问题,从而导致系统无法恢复。
为了对采用A/B分区的系统进行系统恢复,参照图1所示,本申请实施例提供了一种服务器设备进行系统恢复的方法,包括:
S10、响应于第一远程指令,服务器设备在启动时将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统,其中,所述当前系统分区槽为所述服务器设备的第一系统分区槽和第二系统分区槽中的一个,所述第一系统分区槽和第二系统分区槽中均新增一个恢复出厂功能分区,所述第一系统分区槽和第二系统分区槽的恢复出厂功能分区均存储有所述恢复出厂系统;
需要说明的是,本实施例中,增加了三个系统分区,分别为恢复出厂功能分区A、恢复出厂功能分区B和出厂版本系统镜像分区。增加的分区可以遵循Android Verified Boot设计理念,该设计理念使用信任链的方式依次挂载各个分区,用以保证系统安全未被篡改。基于此设计理念,可以使用Android提供的avb(Android verified boot)工具链生成对应分区的校验信息,将校验信息加入到验证启动元数据(verified boot metadata,vbmeta)分区存储的镜像文件vbmeta.img中,使得内核kernel在挂载这3个分区时能够校验通过(校验通过才允许内核kernel进行挂载),即利用该校验信息完善系统启动时的安全校验。其中,恢复出厂功能分区A和恢复出厂功能分区B分别为分区槽A(为了方便表述,可以将第一系统分区槽作为分区槽A,将第二系统分区槽作为分区槽B)和分区槽B中新增的分区,恢复出厂功能分区A和恢复出厂功能分区B中存储有恢复出厂系统,恢复出厂系统为新构建的且不同于分区槽中原本的系统(比如Android)和Recovery系统的系统,具体可以包括:ramdisk文件系统(包含内核启动过程中需要用到的数据)、init程序、内核kernel、资源文件(定义了要执行的系统服务)、系统属性文件(可以是标准Android的属性文件)和刷写系统的程序。一般的功能都在分区槽中原本的系统,做数据清理的时候需要使用Recovery系统,做恢复出厂版本的时候需要用到恢复出厂系统。
出厂版本系统镜像分区不区分A/B分区,出厂版本系统镜像分区中存储有出厂版本系统镜像,出厂版本系统镜像包括系统升级OTA(Over the AirTechnology,空中下载技术)包。除了OTA包外,出厂版本系统镜像中还可以包括OTA包升级指令,以在进行系统恢复时,可以基于OTA包升级指令进行系统升级。需要说明的是,因为OTA升级只能升级系统本身的分区,不能升级恢复出厂功能分区A和恢复出厂功能分区B。为了对刷写系统的程序进行升级,可以将刷写系统的程序也构建到OTA包里。这样在刷写系统的程序出现问题时,可以通过OTA升级对其进行升级,以修复问题。
本实施例中,响应于第一远程指令,服务器设备在bootloader程序(引导加载程序)执行阶段将当前系统分区槽的恢复出厂功能分区作为启动分区,选择进入恢复出厂系统。可以理解的是,服务器设备上电后,在bootloader阶段还没有真正的进入上层的系统,但是已经确定出要启动的系统分区槽(即当前系统分区槽),所以此时通过第一远程指令,让bootloader程序选择进入当前系统分区槽的恢复出厂系统,而不进入分区槽中原本的系统和Recovery系统。
S11、所述服务器设备将出厂版本系统镜像分区挂载到指定挂载路径,其中,所述出厂版本系统镜像分区为新增的系统分区,所述出厂版本系统镜像分区中存储有出厂版本系统镜像,所述出厂版本系统镜像基于系统升级OTA包生成;
本实施例中,恢复出厂系统会将出厂版本系统镜像分区挂载到指定挂载路径,比如以ext4(第四代扩展文件系统,fourth extended file system)文件系统将出厂版本系统镜像分区挂载到指定挂载路径。在实现的过程中,恢复出厂系统在启动时先利用ramdisk文件系统启动内核kernel,内核kernel启动起来之后会启动init程序,init程序启动起来之后会创建init进程,之后将出厂版本系统镜像分区挂载到指定挂载路径,执行资源文件里定义的系统服务,系统服务通过执行脚本(脚本存储在出厂版本系统镜像分区)继而运行脚本中调用的刷写系统的程序执行步骤S12。
S12、所述服务器设备从所述挂载路径获取出厂版本系统镜像,利用所述出厂版本系统镜像对第一系统分区槽和第二系统分区槽进行系统刷写。
需要说明的是,本实施例中,对系统进行刷写过程是本发明对于update_engine_sideload程序的优化实现,该过程修改解除了对于当前所处系统分区槽的限制。在刷写过程中,会遍历所有存在的系统分区槽,对每一个系统分区槽都进行刷写,具体地,当前系统分区槽的恢复出厂功能分区中刷写系统的程序会利用出厂版本系统镜像中的OTA包升级指令和OTA包将分区槽A的系统和分区槽B的系统均刷写成出厂版本系统。需要说明的是,update_engine_sideload是Android里用来OTA的程序,基于update_engine_sideload构建了恢复出厂系统(恢复出厂系统包括刷写系统的程序,刷写系统的程序是对update_engine_sideload的优化)。步骤S12中利用OTA包做系统升级,将分区槽A的系统和分区槽B的系统均刷写成出厂版本系统,实际上是将系统回滚成出厂版本系统,是一个系统降级的过程。步骤S12执行完后,所有系统分区槽(分区槽A和B,即第一系统分区槽和第二系统分区槽)都会被恢复成出厂版本系统,以增加服务器设备系统恢复的成功率。
步骤S12执行完之后会重启进入出厂版本系统,具体逻辑为正常启动系统的逻辑,此处不再赘述。
本申请实施例提供的服务器设备进行系统恢复的方法,通过一个远程指令(即第一远程指令),服务器设备即可在启动时将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统,将出厂版本系统镜像分区挂载到指定挂载路径,从所述挂载路径获取出厂版本系统镜像,利用所述出厂版本系统镜像对第一系统分区槽和第二系统分区槽进行系统刷写,从而能够在无网络连接的状态下以不占用USB端口的方式实现服务器设备的远程系统恢复。
在前述方法实施例的基础上,所述服务器设备可以被配置为在启动时获取第一通用输入输出端口的值和第二通用输入输出端口的值;
其中,所述响应于第一远程指令,服务器设备在启动时将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统,可以包括:
在第一通用输入输出端口的值为第一电平且第二通用输入输出端口的值为第二电平时,服务器设备将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统。
本实施例中,部署在机房中的服务器设备包括若干个通用输入输出端口(General-purpose input/output,GPIO),其中每个通用输入输出端口通过线路连接机房外的远程控制设备,通过读取其中的第一通用输入输出端口和第二通用输入输出端口上的电平值,可以实现简单的远程控制过程。假设使用0代表高电平,1代表低电平,那么组合方式有00、01、10、11四种,可以设置第一电平和第二电平的组合为这四种中的一种,比如第一电平为0,且第二电平为0,则第一电平和第二电平的组合为00。服务器设备在bootloader程序执行阶段,如果获取到第一通用输入输出端口的值为0且第二通用输入输出端口的值为0,则会将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统。
在前述方法实施例的基础上,所述方法还可以包括:
在第一通用输入输出端口的值为第三电平且第二通用输入输出端口的值为第四电平时,服务器设备对第一系统分区槽设置第一标识、第二标识和第三标识,清空misc分区和pmic寄存器,以启动第一系统分区槽中的系统,其中,所述第一分区为所述第一系统分区槽中新增的系统分区;或者
在第一通用输入输出端口的值为第五电平且第二通用输入输出端口的值为第六电平时,服务器设备对第二系统分区槽设置第一标识、第二标识和第三标识,清空misc分区和pmic寄存器,以启动所述第二系统分区槽中的系统,其中,所述第二分区为所述第二系统分区槽中新增的系统分区;或者
在第一通用输入输出端口的值为第七电平且第二通用输入输出端口的值为第八电平时,启动第一系统分区槽中的系统或第二系统分区槽中的系统;
其中,所述第一标识可以用于标识对应系统分区槽为活动分区槽,所述第二标识可以用于标识对应系统分区槽中的系统可以启动,所述第三标识可以用于标识对应系统分区槽中的系统可以成功启动。
本实施例中,需要说明的是,第一电平和第二电平的组合、第三电平和第四电平的组合、第五电平和第六电平的组合、第七电平和第八电平的组合为第一通用输入输出端口和第二通用输入输出端口的电平值的四种不同的组合,仍使用0代表高电平,1代表低电平,则第一电平和第二电平的组合、第三电平和第四电平的组合、第五电平和第六电平的组合、第七电平和第八电平的组合为00、01、10、11四种,比如第一电平和第二电平的组合为00(第一电平为0,且第二电平为0),第三电平和第四电平的组合为01(第三电平为0,且第四电平为1),第五电平和第六电平的组合为10(第五电平为1,且第六电平为0),第七电平和第八电平的组合为11(第七电平为1,且第八电平为1)。
在第一通用输入输出端口的值为第三电平且第二通用输入输出端口的值为第四电平时,服务器设备会对分区槽A设置第一标识、第二标识和第三标识,其中,第一标识为活动分区槽标识(可以为active标识),排它,代表对应系统分区槽为启动分区槽,bootloader程序总会选择该系统分区槽进行系统启动;第二标识(可以为bootable标识)标识对应系统分区槽中的系统可以启动;第三标识(可以为successful标识)标识对应系统分区槽中的系统可以成功启动。本实施例中,设置第一标识、第二标识和第三标识可以指的是将active标识的值、bootable标识的值和successful标识的值均设置为1,用于标识分区槽A中的系统可以成功启动。之后可以从分区槽A进入系统,为了从分区槽A进入非Recovery系统的系统(比如Android),需要清空用于控制进入Recovery系统的misc分区(misc分区是一个为系统启动和恢复等用途预留的特殊分区。此分区中存储的数据一般包括启动模式、恢复模式、系统更新及一些其他低级的系统设置)和pmic(power management Integrated Circuit,电源管理芯片)寄存器,以实现从分区槽A进入非Recovery系统的系统。
在第一通用输入输出端口的值为第五电平且第二通用输入输出端口的值为第六电平时的处理过程与在第一通用输入输出端口的值为第三电平且第二通用输入输出端口的值为第四电平时的处理过程一致,此处不再赘述,处理结果为进入分区槽B中的非Recovery系统的系统。
可以理解的是,前述实施例中如果是在分区槽A中进行OTA升级,那么可以将分区槽B的active标识的值、bootable标识的值和successful标识的值分别设置为1、1和0,则下次从分区槽B启动系统(非Recovery系统的系统),如果在预设的重启次数内启动成功(即启动起来后通过校验确定启动成功),则可以将successful标识的值设置为1;而如果在预设的重启次数内未启动成功,则可以将分区槽B的active标识的值、bootable标识的值和successful标识的值均设置为0,并将分区槽A的active标识的值设置为1。之后从分区槽A启动,如果分区槽A的bootable标识的值为1,会从分区槽A启动系统(非Recovery系统的系统),而如果分区槽A的bootable标识的值为0,则进入fastboot模式(刷机模式)。
active标识的值为1,表示对应系统分区槽为活动分区槽(active标识的值为0为相反含义);bootable标识的值为1,表示对应系统分区槽中的系统可以启动(bootable标识的值为0为相反含义);successful标识的值为1,表示对应系统分区槽中的系统可以成功启动(successful标识的值为0为相反含义)。
在第一通用输入输出端口的值为第七电平且第二通用输入输出端口的值为第八电平时,按照正常启动系统的逻辑启动系统,此处不再赘述,结果为分区槽A或B中的系统启动。
在前述方法实施例的基础上,所述出厂版本系统镜像的生成过程可以包括:
构建共享系统镜像SSI(Shared System Image)和厂商镜像Vendor Image,并合并所述SSI和Vendor Image;
基于所述SSI和Vendor Image的合并结果生成系统升级OTA包;
基于所述系统升级OTA包生成出厂版本系统镜像。
参照图2所示,本申请实施例提供了一种远程恢复服务器设备的系统的方法,包括:
S20、向服务器设备发送第一远程指令,以使所述服务器设备在启动时将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统,将出厂版本系统镜像分区挂载到指定挂载路径,从所述挂载路径获取出厂版本系统镜像,利用所述出厂版本系统镜像对第一系统分区槽和第二系统分区槽进行系统刷写,其中,所述当前系统分区槽为所述服务器设备的第一系统分区槽和第二系统分区槽中的一个,所述第一系统分区槽和第二系统分区槽中均新增一个恢复出厂功能分区,所述第一系统分区槽和第二系统分区槽的恢复出厂功能分区均存储有所述恢复出厂系统,所述出厂版本系统镜像分区为新增的系统分区,所述出厂版本系统镜像分区中存储有出厂版本系统镜像,所述出厂版本系统镜像基于系统升级OTA包生成。
本实施例中,可以理解的是,机房外的远程控制设备可以通过线路与机房内的每个服务器设备相连,以实现简单的电源开关控制和基于通用输入输出端口的控制过程;该远程控制设备可以例如是基于单片机的电子设备、台式计算机、平板电脑、操作面板,等等。在一个示例中,远程控制设备在需要对某台服务器设备进行远程系统恢复时,上述方法还包括在向服务器设备发送第一远程指令之前控制服务器设备上电,以使服务器设备在启动时直接进入上述步骤S10的流程。对应于上文所述示例,远程控制设备只需通过线路向每个服务器设备的通用输入输出端口提供电平,即可远程对大量服务器设备进行系统恢复操作,能够大大降低服务器设备维护的复杂度和时间,提升网络服务的稳定性和可靠性。
本申请实施例提供的远程恢复服务器设备的系统的方法,通过一个远程指令(即第一远程指令),服务器设备即可在启动时将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统,将出厂版本系统镜像分区挂载到指定挂载路径,从所述挂载路径获取出厂版本系统镜像,利用所述出厂版本系统镜像对第一系统分区槽和第二系统分区槽进行系统刷写,从而能够在无网络连接的状态下以不占用USB端口的方式实现服务器设备的远程系统恢复。
在前述方法实施例的基础上,所述向服务器设备发送第一远程指令,以使所述服务器设备在启动时将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统,可以包括:
分别向所述服务器设备的第一通用输入输出端口和第二通用输入输出端口提供第一电平和第二电平,以使所述服务器设备在启动时获取到所述第一通用输入输出端口和第二通用输入输出端口的电平值,基于所述电平值将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统。
参照图3所示,为本申请实施例提供的一种系统恢复装置,应用于服务器设备,包括:
启动单元30,用于响应于第一远程指令控制所述服务器设备在启动时将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统,其中,所述当前系统分区槽为所述服务器设备的第一系统分区槽和第二系统分区槽中的一个,所述第一系统分区槽和第二系统分区槽中均新增一个恢复出厂功能分区,所述第一系统分区槽和第二系统分区槽的恢复出厂功能分区均存储有所述恢复出厂系统;
挂载单元31,用于控制所述服务器设备将出厂版本系统镜像分区挂载到指定挂载路径,其中,所述出厂版本系统镜像分区为新增的系统分区,所述出厂版本系统镜像分区中存储有出厂版本系统镜像,所述出厂版本系统镜像基于系统升级OTA包生成;
刷写单元32,用于控制所述服务器设备从所述挂载路径获取出厂版本系统镜像,利用所述出厂版本系统镜像对第一系统分区槽和第二系统分区槽进行系统刷写。
本申请实施例提供的系统恢复装置,通过一个远程指令(即第一远程指令),服务器设备即可在启动时将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统,将出厂版本系统镜像分区挂载到指定挂载路径,从所述挂载路径获取出厂版本系统镜像,利用所述出厂版本系统镜像对第一系统分区槽和第二系统分区槽进行系统刷写,从而能够在无网络连接的状态下以不占用USB端口的方式实现服务器设备的远程系统恢复。
本申请实施例提供的系统恢复装置,其实现过程与本申请实施例提供的服务器设备进行系统恢复的方法一致,所能达到的效果也与本申请实施例提供的服务器设备进行系统恢复的方法相同,在此不再赘述。
参照图4所示,为本申请实施例提供的一种远程恢复服务器设备的系统的装置,包括:
发送单元40,用于向服务器设备发送第一远程指令,以使所述服务器设备在启动时将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统,将出厂版本系统镜像分区挂载到指定挂载路径,从所述挂载路径获取出厂版本系统镜像,利用所述出厂版本系统镜像对第一系统分区槽和第二系统分区槽进行系统刷写,其中,所述当前系统分区槽为所述服务器设备的第一系统分区槽和第二系统分区槽中的一个,所述第一系统分区槽和第二系统分区槽中均新增一个恢复出厂功能分区,所述第一系统分区槽和第二系统分区槽的恢复出厂功能分区均存储有所述恢复出厂系统,所述出厂版本系统镜像分区为新增的系统分区,所述出厂版本系统镜像分区中存储有出厂版本系统镜像,所述出厂版本系统镜像基于系统升级OTA包生成。
本申请实施例提供的远程恢复服务器设备的系统的装置,通过一个远程指令(即第一远程指令),服务器设备即可在启动时将当前系统分区槽的恢复出厂功能分区作为启动分区,进入恢复出厂系统,将出厂版本系统镜像分区挂载到指定挂载路径,从所述挂载路径获取出厂版本系统镜像,利用所述出厂版本系统镜像对第一系统分区槽和第二系统分区槽进行系统刷写,因而能够在无网络连接的状态下以不占用USB端口的方式实现服务器设备的远程系统恢复。
本申请实施例提供的远程恢复服务器设备的系统的装置,其实现过程与本申请实施例提供的远程恢复服务器设备的系统的方法一致,所能达到的效果也与本申请实施例提供的远程恢复服务器设备的系统的方法相同,在此不再赘述。
如图5所示,本申请实施例提供的一种电子设备,包括:处理器50、存储器51和总线52,所述存储器51存储有所述处理器50可执行的机器可读指令,当电子设备运行时,所述处理器50与所述存储器51之间通过总线52通信,所述处理器50执行所述机器可读指令,以执行如上述服务器设备进行系统恢复的方法的步骤或远程恢复服务器设备的系统的方法的步骤。
具体地,上述存储器51和处理器50能够为通用的存储器和处理器,这里不做具体限定,当处理器50运行存储器51存储的计算机程序时,能够执行上述服务器设备进行系统恢复的方法或远程恢复服务器设备的系统的方法。
对应于上述服务器设备进行系统恢复的方法或远程恢复服务器设备的系统的方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述服务器设备进行系统恢复的方法的步骤或远程恢复服务器设备的系统的方法的步骤。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。