CN110998517B - 用于定制化的操作系统转换的系统和方法 - Google Patents
用于定制化的操作系统转换的系统和方法 Download PDFInfo
- Publication number
- CN110998517B CN110998517B CN201880048725.4A CN201880048725A CN110998517B CN 110998517 B CN110998517 B CN 110998517B CN 201880048725 A CN201880048725 A CN 201880048725A CN 110998517 B CN110998517 B CN 110998517B
- Authority
- CN
- China
- Prior art keywords
- computing device
- file
- partition
- data storage
- host computing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/441—Multiboot arrangements, i.e. selecting an operating system to be loaded
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
操作系统转换(OSC)计算设备为具有第一OS的主机计算设备生成包括与第二操作系统(OS)相关联的OS映像文件的定制存档文件。OSC计算设备格式化主机计算设备的数据存储设备以包括与第一OS相关联的第一分区和与第二OS相关联的第二分区,将定制存档文件传输到主机计算设备,并使用定制存档文件生成安装到主机计算设备以模拟物理数据存储设备的回送文件系统。可通过回送文件系统访问OS映像文件。OSC计算设备将OS映像文件存储在第二分区的安装目录内,并将在主机计算设备上操作的OS从第一OS转换成第二OS。
Description
相关申请的交叉引用
本申请要求于2017年8月2日提交的美国专利申请No.15/667,093的权益和优先权。上述申请的全部公开内容通过引用并入本文。
技术领域
本公开的领域一般而言涉及转换在主机计算设备上操作的操作系统,并且更具体而言,涉及用于在主机计算设备上操作的操作系统的远程可定制化转换的基于网络的系统和方法。
背景技术
服务器和其它数据存储设备用于存储和传送用于各种应用的数据。例如,服务器可以用于存储与支付网络相关联的数据,该支付网络处理使用支付卡(例如,信用卡或借记卡)和支付账户的交易。服务器通常包括多个数据存储设备(例如,硬盘驱动器和固态驱动器)以提供数据冗余和/或增加的数据存储。在每个服务器上安装操作系统,以使该服务器能够执行标准功能,诸如与其它设备进行通信、存储数据以及显示图形用户界面(GUI)。操作系统包括用于控制每个功能的协议集合,使得根据由操作系统支持的具体格式接收、处理和传输数据。例如,操作系统可以包括一个或多个文件系统架构用于连接的存储设备来存储数据,诸如文件分配表(FAT)、第四扩展文件系统(ext4)和/或新技术文件系统(NTFS)。
在一些情况下,可以调度服务器以改变或转换操作系统(即,由于缺乏支持、替代操作系统等)。但是,在操作系统之间进行转换会对存储在新操作系统不支持的文件系统架构中的数据造成问题。因而,服务器可能需要现场技术概况、附加数据存储设备和/或一个或多个重新引导才能安装新操作系统。对于试图访问服务器和由服务器存储的数据(特别是对于对由服务器执行的特定处理或服务至关重要的数据)的用户,安装和转换处理导致的停机时间可能长且不便。
发明内容
在一方面,一种操作系统转换(OSC)计算设备包括至少一个处理器和与至少一个处理器通信的存储器。至少一个处理器被编程成为具有第一操作系统(OS)的主机计算设备生成定制存档文件。定制存档文件包括与第二OS相关联的OS映像文件。至少一个处理器还被编程为格式化主机计算设备的第一数据存储设备以包括与第一OS相关联的第一分区和与第二OS相关联的第二分区,将定制存档文件传输到主机计算设备,并且使用定制存档文件生成安装到主机计算设备以模拟物理数据存储设备的回送(loopback)文件系统。可通过回送文件系统访问OS映像文件。至少一个处理器还被编程为将OS映像文件存储在第二分区的安装目录内,并将在主机计算设备上操作的OS从第一OS转换成第二OS。OS映像文件从安装目录将第二OS安装在主机计算设备的第二数据存储设备上。
在另一方面,提供了一种用于将主机计算设备从第一OS转换成第二OS的方法。该方法至少部分地由OS转换(OSC)计算设备执行。主机计算设备包括第一数据存储设备。该方法包括为主机计算设备生成定制存档文件。定制存档文件包括与第二OS相关联的OS映像文件。该方法还包括格式化第一数据存储设备以包括与第一OS相关联的第一分区和与第二OS相关联的第二分区,将定制存档文件传输到主机计算设备,使用定制存档文件生成安装到主机计算设备以模拟物理数据存储设备的回送文件系统。可通过回送文件系统访问OS映像文件。该方法还包括将OS映像文件存储在第二分区的安装目录内,并将在主机计算设备上操作的OS从第一OS转换成第二OS。OS映像文件从安装目录将第二OS安装在主机计算设备的第二数据存储设备上。
在又一方面,提供了至少一种在其上实施有计算机可执行指令的非暂态计算机可读存储介质。计算机可执行指令在由至少一个处理器执行时,使处理器为具有第一OS的主机计算设备生成定制存档文件。定制存档文件包括与第二OS相关联的OS映像文件。计算机可执行指令还使处理器格式化主机计算设备的第一数据存储设备以包括与第一OS相关联的第一分区和与第二OS相关联的第二分区,将定制存档文件传输到主机计算设备,并使用定制存档文件生成安装到主机计算设备以模拟物理数据存储设备的回送文件系统。可通过回送文件系统访问OS映像文件。计算机可执行指令还使处理器将OS映像文件存储在第二分区的安装目录内,并将在主机计算设备上操作的OS从第一OS转换成第二OS。OS映像文件从安装目录将第二OS安装在主机计算设备的第二数据存储设备上。
附图说明
图1-图6示出了本文描述的方法和系统的示例实施例。
图1是图示根据本公开的一个实施例的用于将主机计算设备从第一操作系统转换成第二操作系统的示例操作系统转换(OSC)系统的框图。
图2是使用图1所示的系统进行操作系统转换处理的示例数据流程图。
图3是在图1所示的系统中使用的远程设备的示例实施例的扩展框图。
图4图示了在图1所示的系统中使用的主机系统的示例配置。
图5是用于使用图1所示的系统转换操作系统的示例处理的流程图。
图6是可以在所描述的系统和方法的实施例中使用的一个或多个示例计算设备的组件的图。
具体实施方式
根据本公开的系统和方法涉及使用操作系统转换系统将主机计算设备上的操作系统从第一操作系统转换成第二操作系统。更具体而言,本公开描述了包括操作系统转换系统的基于网络的系统和方法,该操作系统转换系统被配置为将主机计算设备上的操作系统从第一操作系统远程转换成第二操作系统。
本文描述的操作系统转换(OSC)系统促进在主机计算设备处安装操作系统(OS),而无需对主机计算设备进行物理访问。在示例实施例中,OSC系统包括可通信地耦合到主机计算设备的OSC计算设备,该主机计算设备被配置为执行一个或多个服务或处理。在一个示例中,主机计算设备被配置为存储、生成、接收和传输与支付网络相关联的数据。支付网络是具有特定消息传递协议的封闭网络(例如,私有的或安全的),其被配置为使支付交易中涉及的各方能够相互通信以使用支付账户和支付卡(例如,信用卡和借记卡)来认证、授权、结算和/或以其它方式处理支付交易。在其它实施例中,主机计算设备被配置为执行各种不同的服务或处理。
主机计算设备至少包括第一数据存储设备和第二数据存储设备。在其它实施例中,主机计算设备包括附加的数据存储设备。第一和第二数据存储设备可以是硬盘驱动器(HDD)、固态驱动器(SSD)和/或任何其它合适类型的数据存储装置。每个数据存储设备包括一个或多个分区。在至少一些实施例中,分区可以包括多个切片。每个切片可以被配置为包括由与分区相关联的OS支持的不同的文件系统架构。在至少一些实施例中,第一和第二数据存储设备被配置在多盘(MD)阵列中,以用于数据冗余、增加的存储和/或改善的性能。例如,第一和第二数据存储设备可以在独立磁盘(RAID)配置的冗余阵列中,诸如RAID1或RAID5。
在示例实施例中,第一和第二数据存储设备包括与第一OS(在本文中有时也称为“已安装的OS”或“先前的OS”)相关联的至少一个分区。即,与第一OS相关联的分区存储用于第一OS的OS数据和/或根据由第一OS支持的特定文件系统架构来格式化,从而使得第一OS能够从分区中读取和写入数据。
在至少一些实施例中,已安装的OS可以被新的OS(“第二OS”)代替。例如,如果已安装的OS由于缺乏支持而失去价值,则新的OS可以被安装在主机计算设备上。为了将主机计算设备转换成第二OS,OSC计算设备被配置为对主机计算设备执行OS转换处理。即,OSC计算设备被配置为促进将第二OS安装在主机计算设备上,而无需技术人员对主机计算设备进行物理访问(例如,使用便携式物理数据存储设备来安装第二OS)。另外,OSC计算设备被配置为在不移除第一OS的情况下安装第二OS,从而使得主机计算设备能够在必要时使用第一OS进行操作。
在示例实施例中,为了开始OS转换处理,OSC计算设备被配置为检索与第二OS相关联的存档文件。在至少一些实施例中,从通信地耦合到OSC计算设备的数据库中检索存档文件。存档文件以压缩格式存储用于安装第二OS的数据,从而有利于减少检索时间并减少用于存储数据的存储空间。存档文件可以是例如根据由国际标准组织设置的标准(例如,ISO-9660)格式化的ISO文件。在示例实施例中,存档文件包括模拟物理数据存储设备的OS映像文件。OS映像文件包括用于将第二OS安装在数据存储设备上的数据,诸如安装内核、软件包等。
在某些实施例中,存档文件可能太大而无法在OS转换处理中使用。在一个示例中,本文描述的至少一些文件系统架构可能不支持对超过四千兆字节(GB)的数据文件的操作(读取、写入等)。在这样的实施例中,OSC计算设备被配置为从存档文件中提取OS映像文件,并从OS映像文件中移除一个或多个软件包。软件包包括一个或多个数据文件,该一个或多个数据文件向第二OS提供一个或多个应用。移除的软件包可以是从OS映像文件中手动移除的,以移除不必要或不想要的软件应用。替代地,可以预定义要移除的软件包,使得OSC计算设备自动移除软件包。例如,在其中OSC计算设备将多个主机计算设备转换成第二OS的实施例中,软件包的移除可以被重复若干次,并且因此被自动化以减少所需的用户输入量。
在示例实施例中,OSC计算设备被配置为生成与第二OS相关联的kickstart文件。kickstart文件是一组预定义的指令,这些指令在执行时,促进根据由该组指令定义的设置来自动安装第二OS,而无需来自用户的手动输入。在如本文所述的第二OS的安装期间,第二OS(或引导加载程序)可以检测kickstart文件并自动执行该组指令。在示例实施例中,OSC计算设备存储用于生成kickstart文件的kickstart模板。kickstart模板包含一个或多个定义变量,这些定义变量填充有特定于主机计算设备的环境信息,诸如但不限于,主机名称、互联网协议(IP)地址、网络掩码、默认网络网关、网络速度、以及与第一和第二数据存储设备相关联的盘大小。在一些实施例中,OSC计算设备从主机计算设备请求环境信息,并且用接收到的环境信息填充kickstart模板以生成kickstart文件。在其它实施例中,OSC计算设备可以生成包括kickstart模板的脚本,以使主机计算设备填充模板。脚本是一组计算机指令,该组计算机指令在由计算设备执行时,使计算设备自动执行一个或多个任务。
在生成kickstart文件之后,OSC计算设备被配置为生成第二OS的定制存档文件。定制存档文件包括压缩格式的OS映像文件和kickstart文件。在一些实施例中,定制存档文件还可以包括其它数据,诸如被配置用于第二OS的数据文件或其它脚本。定制存档文件用于促进OS映像文件和kickstart文件在主机计算设备处的传送和存储。
在示例实施例中,OSC计算设备被配置为控制主机计算设备的操作。即,执行主机计算设备从OSC计算设备接收到的指令(例如,命令行指令)而无需物理访问主机计算设备。虽然本文将OSC计算设备描述为执行OS转换处理的步骤,但是应该理解的是,执行OS转换处理的步骤可以包括OSC计算设备控制主机计算设备执行这些步骤。在一个实施例中,OSC计算设备被配置为将用于OS转换处理的指令单独提供给主机计算设备。在其它实施例中,OSC计算设备生成用于OS转换处理的脚本,并将该脚本传输到主机计算设备。
OSC计算设备被配置为在主机计算设备内的数据存储设备之一上为第二OS创建一个或多个分区。在示例实施例中,OSC计算设备通过检查数据存储设备的状况以确定任一数据存储设备是处于降级状态还是故障状态来开始。如果任一数据存储设备处于降级状态,则OSC计算设备可以终止OS转换处理,以促进维修和/或替换降级的数据存储设备。数据存储设备根据第一OS所支持的协议被配置在分区阵列中。更具体而言,数据存储设备存储定义第一和第二数据存储设备之间的分区阵列的元数据。在其它实施例中,数据存储设备不在阵列中,而是彼此独立地存储数据。在示例实施例中,OSC计算设备通过更新由第一数据存储设备和第二数据存储设备存储的元数据使第一数据存储设备与分区阵列分离来移除第一数据存储设备的(一个或多个)分区。
OSC计算设备被配置为格式化第一数据存储设备以包括与第一OS相关联的第一分区和与第二OS相关联的第二分区。更具体而言,OSC计算设备更新由第一数据存储设备存储的分区表,以包括分别由第一和第二OS支持的特定文件系统架构中的第一和第二分区。一些文件系统架构可能被两个OS支持,诸如32位文件分配表(FAT32)。分区表是由数据存储设备存储的元数据,其指示相应数据存储设备内每个分区的名称、大小和文件系统架构。
OSC计算设备在第一数据存储设备的第二分区上创建由第二OS支持的文件系统,以促进将数据存储在定制存档文件内并将第二OS安装在第二数据存储设备(或主机计算设备的另一个数据存储设备)上。在示例实施例中,文件系统是FAT文件系统,更具体而言,是FAT32文件系统。在其它实施例中,文件系统是至少由第二OS支持的不同的文件系统。
然后,OSC计算设备格式化第一分区以匹配第二数据存储设备上的与第一OS相关联的第三分区的大小。更具体而言,第一分区的至少一个切片被配置为镜像第三分区的对应切片。第一和第三分区的切片存储与第一OS相关联的数据。然后通过更新由第一和第二数据存储设备存储的元数据以包括指向第一分区的引用指针,来将第一分区重新加入到分区阵列。通过将第一分区与第三分区进行匹配,数据存储设备继续以第一OS的镜像状态(即,冗余阵列)来操作。
在示例实施例中,OSC计算设备将第二分区安装到由第一OS支持的文件系统(即,提供对第二分区的访问),从而使主机计算设备能够访问(即,读取和写入)第二分区。在一个实施例中,第二分区被安装到个人计算机文件系统(PCFS)。PCFS被配置为使第一OS能够使用由第一OS支持的协议来访问第二分区。当安装第二OS时,PCFS可以被配置为还促进第二OS的访问。在示例实施例中,OSC计算设备传输定制存档文件以存储在第二分区中。在一些实施例中,OSC计算设备被配置为支持第二分区的文件系统架构,并且直接存储定制存档文件。在其它实施例中,主机计算设备接收定制存档文件,并且使用PCFS将定制存档文件存储在第二分区中。
OSC计算设备被配置为使用定制存档文件生成回送文件系统。回送文件系统使定制存档文件模拟物理数据存储设备,以提供对定制存档文件(即,OS映像文件和kickstart文件)内的数据的访问。即,第一OS将定制存档文件视为数据存储设备。回送文件系统还可以使OS映像文件模拟数据存储设备,从而提供对OS映像文件内的数据(例如,安装内核、安装储存库、软件包等)的访问。OSC计算设备将回送文件系统安装到主机计算设备,以提供对回送文件系统的访问。在一个示例中,OSC计算设备将回送文件系统作为光盘只读存储器(CD-ROM)安装到主机计算设备。更具体而言,OSC计算设备将回送文件系统安装在与CD-ROM相关联的目录中。在另一个示例中,OSC计算设备将回送文件系统安装为通用串行总线(USB)设备。
在安装回送文件系统之后,OSC计算设备在第二分区内创建安装目录,以存储来自OS映像文件中的数据。安装目录是文件系统内用于存储文件和其它目录的可识别位置。在示例实施例中,经由第一OS支持的PCFS在第二分区上创建安装目录。然后,OS映像文件和kickstart文件被存储在安装目录中,并且回送文件系统从主机计算设备被卸载。在至少一些实施例中,OS映像文件内的数据文件(例如,安装内核、软件包等)被提取并存储在安装目录内。
在安装目录被填充之后,OS计算设备被配置为将在主机计算设备上操作的OS从第一OS转换成第二OS。在至少一些实施例中,OSC计算设备可以更新主机计算设备的引导加载程序以识别安装目录。引导加载程序是在主机计算设备上加载或启动OS的软件应用。引导加载程序具有相关联的引导菜单,该引导菜单识别可以被启动的不同OS。在示例实施例中,引导菜单包括用于引导菜单上的每个条目的引导标识符,其指向存储在数据存储设备内的OS。OSC计算设备创建与安装目录相关联的引导标识符,并更新引导菜单以包括创建的引导标识符。在一些实施例中,创建的引导标识符引用安装目录和/或OS映像文件。在其它实施例中,创建的引导标识符引用第二分区或第一数据存储设备。在这样的实施例中,引导加载程序扫描分区或数据存储设备以识别任何存储的OS映像文件。在示例实施例中,OSC计算设备更新引导加载程序以将创建的引导标识符设置为默认选项(即,当主机计算设备被重新引导时,第二OS被自动启动)。在至少一些实施例中,OSC计算设备被配置为将与kickstart文件相关联的引用指针添加到第二OS的引导标识符。在这样的实施例中,当第二OS被初始化以开始安装时,引导加载程序被配置为基于引导标识符中的引用指针来识别kickstart文件,并使存储在kickstart文件中的指令被自动执行以安装第二OS。
在示例实施例中,然后重新引导主机计算设备以开始第二OS在第二数据存储设备上的安装处理。可以在重新引导之前备份存储在第二数据存储设备上的至少一些数据。kickstart文件使主机计算设备根据预定义的配置设置自动安装和配置第二OS。例如,kickstart文件可以配置主机计算设备的主机名称、接口和/或盘布局。在示例实施例中,kickstart文件使第二数据存储设备内的数据被移除,以促进第二OS在第二数据存储设备上的安装。Kickstart文件不会将第一OS从主机计算设备中完全移除,以使得如果第二OS发生任何问题,那么能够回退到用第一OS进行操作。即,第一OS被存储在第一数据存储设备上以促进双重引导(即,每次主机计算设备被打开或重启时在第一OS和第二OS之间进行选择)。
在至少一些实施例中,主机计算设备使用第二OS操作一段时间以进行测试。在做出完全切换到第二OS的确定之后,将第一OS从数据存储设备中移除,并将数据存储设备配置在第二OS内的多盘阵列中以用于数据冗余。特别地,(例如,由主机计算设备)执行数据对齐处理以格式化第一数据存储设备和第二数据存储设备以针对阵列彼此镜像,同时限制格式化对由主机计算设备执行的服务或处理的影响。
kickstart文件可以被配置为在第二OS的安装期间格式化数据存储设备,以促进数据对齐处理。在一个示例中,kickstart文件被配置为在第二数据存储设备上创建分区阵列。分区阵列是冗余的分区阵列(即,阵列中的每个分区至少具有一个匹配的分区)。kickstart文件被配置为将分区的一部分识别为故障分区或设备。更具体而言,kickstart文件更新与分区阵列相关联的元数据,以将分区的一部分识别为故障分区。分区阵列包括作为“活动”分区(即非故障分区)的分区的第一子集和作为故障分区的分区的第二子集。创建故障分区促进了利用冗余阵列的“热交换”能力。热交换是使替换分区或数据存储设备来替换故障设备而无需附加配置的特征。因而,在数据对齐处理中,将故障分区从分区阵列中移除,并且将第一数据存储设备配置为存储分区的新子集,以替换阵列中的故障分区,而无需多次重新引导主机计算设备。然后将第二数据存储设备上的分区的第一子集和第一数据存储设备上的分区的新子集对齐以相互匹配,并完成数据对齐处理。
可以使用包括计算机软件、固件、硬件或其任何组合或子集的计算机编程或工程技术来实现本文描述的方法和系统,其中可以通过执行以下步骤之一来实现技术效果:(i)为具有第一OS或已安装的OS的主机计算设备生成kickstart文件,kickstart文件包括与主机计算设备相关联的环境信息;(ii)检索与第二OS或新的OS相关联的存档文件,该存档文件包括第二OS的OS映像文件;(iii)从存档文件中提取OS映像文件;(iv)从OS映像文件中移除至少一个软件包;(v)生成包括OS映像文件和kickstart文件的定制存档文件;(vi)格式化主机计算设备的第一数据存储设备以包括与第一OS相关联的第一分区和与第二OS相关联的第二分区;(vii)将定制存档文件传输到主机计算设备;(viii)将第二分区安装到PCFS,以使第一OS能够访问第二分区;(ix)使用定制存档文件生成安装到主机计算设备上的回送文件系统,以提供对定制存档文件内的OS映像文件和kickstart文件的访问;(x)将OS映像文件和kickstart文件存储在第二分区的安装目录内,用于将第二OS安装在主机计算设备的第二数据存储设备上;以及(xi)基于OS映像文件和kickstart文件,将在主机计算设备上操作的OS从第一OS转换成第二OS。
本文描述的系统和方法被配置为促进(a)在转换到新的OS时使用存储数据存储设备上的数据来减少带宽以及对服务和处理的处理干扰;(b)通过使用脚本自动化OS转换处理来减少专业概况;(c)通过使得能够在不与主机计算设备进行物理接触的情况下进行安装来降低安装成本,从而减少旅行、人工和装备(例如,安装介质)成本;(d)通过在OS转换处理之前移除软件包,提高了OS映像文件的数据传送和处理速度;以及(e)通过提供在测试新的OS时返回到初始OS的选项来提高数据安全性。
本文描述的是计算机系统,诸如主机计算设备和OSC计算设备。如本文所述,所有这样的计算机系统都包括处理器和存储器。
另外,本文提到的计算机设备中的任何处理器还可以指一个或多个处理器,其中处理器可以在一个计算设备或多个并行工作的计算设备中。此外,本文提到的计算机设备中的任何存储器还可以指一个或多个存储器,其中存储器可以在一个计算设备中或多个并行工作的计算设备中。
如本文所使用的,处理器可以包括任何可编程系统,包括使用微控制器、精简指令集电路(RISC)、专用集成电路(ASIC)、逻辑电路以及能够执行本文所述功能的任何其它电路或处理器的系统。以上示例仅仅是示例,因此不旨在以任何方式限制术语“处理器”的定义和/或含义。
如本文所使用的,术语“数据库”可以指数据的主体、或关系数据库管理系统(RDBMS)或两者。如本文所使用的,数据库可以包括任何数据集合,包括分层数据库、关系数据库、平面文件数据库、对象关系数据库、面向对象的数据库以及存储在计算机系统中的任何其它结构化的记录或数据集合。以上示例仅仅是示例,并且因此不旨在以任何方式限制术语数据库的定义和/或含义。RDBMS的示例包括但不限于包括数据库、MySQL、DB2、/>SQL Server、/>和PostgreSQL。但是,可以使用启用本文描述的系统和方法的任何数据库。(Oracle是加利福尼亚州RedwoodShores的甲骨文公司的注册商标;IBM是纽约Armonk的国际商用机器公司的注册商标;Microsoft是华盛顿州Redmond的微软公司的注册商标;并且Sybase是加利福尼亚州Dublin的Sybase的注册商标)。
在一个实施例中,提供了一种计算机程序,并且该程序在计算机可读介质上实施。在示例实施例中,系统在单个计算机系统上执行,而不需要连接到服务器计算机。在另一个实施例中,系统在环境中运行(Windows是华盛顿州Redmond的微软公司的注册商标)。在又一个实施例中,系统在大型机环境和/>服务器环境上运行(UNIX是位于英国Reading,Berkshire的X/Open有限公司的注册商标)。应用是灵活的并且被设计为在各种不同环境中运行,而不会影响任何主要功能。在一些实施例中,系统包括分布在多个计算设备中的多个组件。一个或多个组件可以是在计算机可读介质中实施的计算机可执行指令的形式。
如本文所使用的,以单数形式叙述和前面带有单词“一”或“一个”的元素或步骤应当被理解为不排除多个元素或步骤,除非明确叙述了这种排除。此外,对本公开的“示例实施例”或“一个实施例”的引用不旨在被解释为排除也包含所述特征的附加实施例的存在。
如本文所使用的,术语“软件”和“固件”是可互换的,并且包括存储在存储器中以供处理器执行的任何计算机程序,其中存储器包括RAM存储器、ROM存储器、EPROM存储器、EEPROM存储器和非易失性RAM(NVRAM)存储器。上述存储器类型仅仅是示例,因此不限制可用于存储计算机程序的存储器的类型。
系统和处理不限于本文描述的具体实施例。此外,每个系统和每个处理的组件可以独立实践并与本文描述的其它组件和处理分离。每个组件和处理也可以与其它组装包和处理结合使用。
以下详细描述通过示例而非限制的方式图示了本公开的实施例。可以预期本公开具有转换远程主机计算设备的操作系统的一般应用。
图1是用于将主机计算设备102从第一操作系统(OS)转换成第二OS的示例操作系统转换(OSC)系统100的框图。在示例实施例中,系统100包括可通信地耦合到主机计算设备102的OSC计算设备104。OSC计算设备104包括处理器106和与处理器106通信的存储器设备108。OSC计算设备104与数据库105通信,用于存储和检索如本文所述的脚本、kickstart文件、OS映像等。在其它实施例中,系统100可以包括附加的、更少的或替代的组件,包括本文其它地方描述的那些组件。
主机计算设备102包括处理器110、与处理器110通信的存储器设备112、第一数据存储设备114和第二数据存储设备116。在一些实施例中,第一和/或第二数据存储设备114、116在物理上与主机计算设备102分开。例如,第一和第二数据存储设备114、116可以被配置为与主机计算设备102通信的网络附加存储(NAS)。在一些实施例中,主机计算设备102可以包括三个或更多个数据存储设备。
在示例实施例中,第一和第二数据存储设备114、116被配置在多盘阵列中以用于数据冗余。在一个示例中,数据存储设备114、116在RAID1配置中。数据存储设备114、116存储定义阵列的结构的阵列元数据118。为了添加设备、移除设备或以其它方式调整阵列的配置,主机计算设备102修改与阵列相关联的每个数据存储设备中的阵列元数据118。
主机计算设备102被配置为提供与存储在第一和第二数据存储设备114、116中的数据相关联的一个或多个处理或服务。例如,主机计算设备102可以被配置为促进支付网络中不同方之间的数据通信,诸如以传输和接收关于认证、授权、结算和/或以其它方式处理支付网络中的支付交易的消息。在其它实施例中,主机计算设备102被配置为使用存储在数据存储设备114、116中的数据来提供不同的服务或处理。
当做出将主机计算设备102从第一OS过渡到第二OS的确定时,OSC计算设备104被配置为执行OS转换处理。OS转换处理将第二OS安装在第二数据存储设备116上,同时将第一OS维持在第一数据存储设备114上,直到执行了到第二OS的完全转换为止。OSC计算设备104被配置为使得能够执行OS转换处理而无需物理访问主机计算设备102来将物理介质(例如,CD-ROM、USB设备等)手动插入到主机计算设备中以安装第二OS。
图2是在由图1所示的系统100执行的示例OS转换处理期间的数据流程图。在其它实施例中,OS转换处理可以包括附加的、更少的或替代的数据和/或步骤,包括本文其它地方描述的那些步骤。
在示例实施例中,为了开始OS转换处理,OSC计算设备104被配置为检索与第二OS相关联的存档文件202。在至少一些实施例中,从数据库105中检索存档文件202。存档文件202以压缩格式存储用于安装第二OS的数据,从而有利于减少检索时间并减少用于存储数据的存储空间。存档文件202可以是例如根据由国际标准组织设置的标准(例如,ISO-9660)格式化的ISO文件。在示例实施例中,存档文件202包括模拟物理数据存储设备的OS映像文件204。OS映像文件204包括用于将第二OS安装在数据存储设备上的数据。例如,OS映像文件204可以包括与第二OS相关联的安装内核、安装储存库和/或软件包。
在某些实施例中,存档文件202可能太大而不能在OS转换处理中使用。在一个示例中,至少一些文件系统架构可能不支持对超过四千兆字节(GB)的数据文件的操作(读取、写入等)。在这样的实施例中,OSC计算设备104被配置为从存档文件202中提取OS映像文件204,并从OS映像文件204中移除一个或多个软件包206。软件包206包括一个或多个数据文件,该一个或多个数据文件向第二OS提供一个或多个应用。移除的软件包206可以是从OS映像文件204中手动移除的,以移除不必要或不想要的软件应用。替代地,可以预定义要移除的软件包206,使得OSC计算设备104自动移除软件包206。例如,在其中OSC计算设备104正在将多个主机计算设备102转换成第二OS的实施例中,软件包206的移除可以被重复若干次,并且因此被自动化以减少所需的用户输入量。
在示例实施例中,OSC计算设备104被配置为生成与第二OS相关联的kickstart文件208。kickstart文件208是一组预定义的指令,这些指令在执行时,促进根据由该组指令定义的设置来自动安装第二OS,而无需来自用户的手动输入。在如本文所述的第二OS的安装期间,第二OS(或引导加载程序)可以检测kickstart文件208并自动执行该组指令。在示例实施例中,OSC计算设备104将用于生成kickstart文件208的kickstart模板210存储在数据库105中。kickstart模板210包含一个或多个定义变量212,这些定义变量212填充有特定于主机计算设备102的环境信息214,诸如但不限于,主机名称、互联网协议(IP)地址、网络掩码、默认网络网关、网络速度以及与第一和第二数据存储设备114、116相关联的盘大小。在一些实施例中,OSC计算设备104从主机计算设备102请求环境信息214,并且用接收到的环境信息214填充kickstart模板210以生成kickstart文件208。在其它实施例中,OSC计算设备104可以生成包括kickstart模板210的脚本(未示出),以使主机计算设备102填充模板210。
在生成kickstart文件208之后,OSC计算设备104被配置为生成第二OS的定制存档文件216。定制存档文件216包括压缩格式的OS映像文件204和kickstart文件208。在一些实施例中,定制存档文件216还可以包括其它数据,诸如用于第二OS的数据文件或其它脚本。定制存档文件216用于促进OS映像文件204和kickstart文件208在主机计算设备102处的传送和存储。
在示例实施例中,OSC计算设备104被配置为控制主机计算设备102的操作。即,执行主机计算设备102从OSC计算设备104接收到的指令(例如,命令行指令)而无需物理访问主机计算设备102。虽然本文将OSC计算设备104描述为执行OS转换处理的步骤,但是应该理解的是,执行OS转换处理的步骤可以包括控制主机计算设备102执行这些步骤。在一个实施例中,OSC计算设备104被配置为将用于OS转换处理的指令单独提供给主机计算设备104。在其它实施例中,OSC计算设备104生成用于OS转换处理的脚本,并将该脚本传输到主机计算设备102。
OSC计算设备104被配置为在第一数据存储设备114上为第二OS创建一个或多个分区。在示例实施例中,OSC计算设备104通过检查数据存储设备114、116的状况以确定任一数据存储设备114或116是处于降级状态还是故障状态来开始。如果任一数据存储设备114、116处于降级或故障,则OS转换处理可以终止,直到降级或故障的数据存储设备得到修复。在示例实施例中,OSC计算设备104通过更新由第一数据存储设备114和第二数据存储设备116存储的元数据118使第一数据存储设备114与分区阵列分离来移除与第一数据存储设备114的(一个或多个)分区相关联的数据。
OSC计算设备104被配置为格式化第一数据存储设备114以包括与第一OS相关联的第一分区218和与第二OS相关联的第二分区220。更具体而言,OSC计算设备104更新由第一数据存储设备114存储的分区表222,以包括分别由第一OS和第二OS支持的特定文件系统架构中的第一分区218和第二分区220。在示例实施例中,两个OS都支持与第二分区220相关联的文件系统架构,诸如32位文件分配表(FAT32)。在某些实施例中,两个OS也都可以支持与第一分区218相关联的文件系统架构。分区表222是由数据存储设备114、116存储的元数据,其指示相应数据存储设备内每个分区的名称、大小和文件系统架构。
OSC计算设备104在第一数据存储设备114的第二分区220上创建文件系统,以促进存储定制存档文件和安装第二OS。在示例实施例中,文件系统是FAT文件系统,更具体而言,是FAT32文件系统。在其它实施例中,文件系统是由第一OS和第二OS支持的不同的文件系统。
然后,OSC计算设备104格式化第一分区218以匹配第二数据存储设备116上的与第一OS相关联的第三分区224的大小。更具体而言,第一分区218的至少一个切片被配置为与第三分区224的对应切片进行镜像。镜像的切片被配置为存储与第一OS相关联的数据。然后通过更新由第一和第二数据存储设备114、116存储的阵列元数据118以包括指向第一分区218的引用指针,来将第一分区218重新加入到分区阵列。通过将第一分区218与第三分区224进行匹配,数据存储设备114、116继续以第一OS的镜像状态(即,冗余阵列)来操作,直到安装了第二OS。
在示例实施例中,OSC计算设备104将第二分区220安装到由第一OS支持的文件系统226(即,提供对第二分区220的访问),从而使主机计算设备102能够访问(即,读取和写入)第二分区220。在一个实施例中,第二分区220被安装到个人计算机文件系统(PCFS)226。PCFS 226被配置为使第一OS能够使用由第一OS支持的协议来访问第二分区220。在一些实施例中,PCFS 226可以被配置为使第二OS能够访问第一和/或第二分区218、220。在示例实施例中,OSC计算设备104传输定制存档文件216以存储在第二分区220中。在一些实施例中,OSC计算设备104被配置为支持第二分区220的文件系统架构,并且直接存储定制存档文件216。在其它实施例中,主机计算设备102接收定制存档文件216并且使用PCFS 226将定制存档文件216存储在第二分区220中。
OSC计算设备104被配置为使用定制存档文件216生成回送文件系统228。回送文件系统228使定制存档文件216模拟物理数据存储设备,以提供对定制存档文件216(即,OS映像文件204和kickstart文件208)内的数据的访问。即,第一OS将定制存档文件216视为数据存储设备。在示例实施例中,回送文件系统228还被配置为使OS映像文件204模拟数据存储设备,从而促进对OS映像文件204内的数据(例如,安装内核、安装储存库等)的访问。OSC计算设备104将回送文件系统228安装到主机计算设备102,以提供对回送文件系统228的访问。在一个示例中,OSC计算设备10将回送文件系统228作为CD-ROM安装到主机计算设备102。在另一个示例中,OSC计算设备104将回送文件系统228安装为USB设备。
在安装回送文件系统228之后,OSC计算设备104在第二分区220内创建安装目录230,以存储OS映像文件204。安装目录230是文件系统内用于存储文件和其它目录的可识别位置。在示例实施例中,经由第一OS支持的PCFS 226在第二分区220上创建安装目录230。然后,OS映像文件204和kickstart文件208被存储在安装目录230中,并且回送文件系统228从主机计算设备102被卸载。
在安装目录230被填充之后,OSC计算设备104被配置为将在主机计算设备102上操作的OS从第一OS转换成第二OS。在至少一些实施例中,OSC计算设备104可以更新主机计算设备102的引导加载程序232以识别安装目录230。引导加载程序232是在主机计算设备102上加载或启动OS的软件应用。引导加载程序232具有相关联的引导菜单234,该引导菜单234识别可以被启动的不同OS。在示例实施例中,引导菜单234包括用于引导菜单234上的每个条目的引导标识符236,其指向存储在数据存储设备114、116内的OS。OSC计算设备104创建与安装目录230相关联的引导标识符236,并更新引导菜单234以包括创建的引导标识符236。在一些实施例中,创建的引导标识符236引用安装目录230和/或OS映像文件204。在其它实施例中,创建的引导标识符236引用第二分区220或第一数据存储设备114。在这样的实施例中,引导加载程序232扫描引用的分区或数据存储设备以识别任何存储的OS映像文件。在示例实施例中,OSC计算设备104更新引导加载程序232以将创建的引导标识符236设置为默认选项(即,当主机计算设备102被重新引导时,第二OS被自动启动)。在至少一些实施例中,引导标识符236包括与kickstart文件208相关联的引用指针。当引导加载程序232选择引导标识符236以启动第二OS时,kickstart文件208被检索并且被执行以安装第二OS。
在示例实施例中,然后重新引导主机计算设备102以开始第二OS在第二数据存储设备116上的安装处理。可以在重新引导之前备份存储在第二数据存储设备116上的至少一些数据。kickstart文件208使主机计算设备102根据预定义的配置设置自动安装和配置第二OS。例如,kickstart文件208可以在第二OS内配置主机计算设备102的主机名称、接口和/或盘布局。移除存储在第二数据存储设备116中的数据的至少一部分,以将第二OS安装在第二数据存储设备116上。kickstart文件208不会将第一OS从主机计算设备102中完全移除,以使得如果第二OS发生任何问题,那么能够回退到用第一OS进行操作。在示例实施例中,第一OS保持安装在第一数据存储设备114上,而第二OS安装在第二数据存储设备116上。因为第二分区220具有两个OS都可访问的文件系统架构,因此第一OS和第二OS可以使用第二分区220来彼此传输数据(例如,用于备份数据)。
在对第二OS进行测试和操作之后,可以做出将主机计算设备102完全转换成第二OS的确定。在完全转换到第二OS期间,将第一OS从第一数据存储设备114中移除以安装与第二OS相关联的数据,并且将数据存储设备114、116配置为冗余阵列以促进提高由主机计算设备102执行的服务和处理的数据安全性。
图3描绘了远程或用户计算设备302,诸如OSC计算设备104(在图1中示出)的示例性配置。计算设备302可以包括用于执行指令的处理器305。在一些实施例中,可执行指令可以存储在存储器区域310中。处理器305可以包括一个或多个处理单元(例如,在多核配置中)。存储器区域310可以是允许存储和检索诸如可执行指令和/或其它数据之类的信息的任何设备。存储器区域310可以包括一个或多个计算机可读介质。
计算设备302还可以包括用于向用户301呈现信息的至少一个媒体输出组件315。媒体输出组件315可以是能够向用户301传达信息的任何组件。在一些实施例中,媒体输出组件315可以包括输出适配器,诸如视频适配器和/或音频适配器。输出适配器可以可操作地耦合到处理器305并可操作地耦合到输出设备,诸如显示设备(例如,液晶显示器(LCD)、有机发光二极管(OLED)显示器、阴极射线管(CRT)或“电子墨水”显示器)或音频输出设备(例如,扬声器或耳机)。在一些实施例中,媒体输出组件315可以被配置为向用户301呈现交互式用户界面(例如,web浏览器或客户端应用)。
在一些实施例中,计算设备302可以包括用于接收来自用户301的输入的输入设备320。输入设备320可以包括例如键盘、指点设备、鼠标、触控笔、触敏板(例如,触摸板或触摸屏)、相机、陀螺仪、加速度计、位置检测器和/或音频输入设备。诸如触摸屏的单个组件既可以用作媒体输出组件315的输出设备又可以用作输入设备320。
计算设备302还可以包括通信接口325,其可以通信地耦合到远程设备。通信接口325可以包括例如与移动电话网络(例如,全球移动通信系统(GSM)、3G、4G或蓝牙)或其它移动数据网络(例如,全球微波接入互操作性(WIMAX))一起使用的有线或无线网络适配器或无线数据收发器。
存储在存储器区域310中的是例如计算机可读指令,用于经由媒体输出组件315向用户301提供用户界面,并且可选地,从输入设备320接收并处理输入。除了其它可能性之外,用户界面尤其可以包括web浏览器和客户端应用。Web浏览器使用户301能够显示通常嵌入在来自web服务器的网页或网站上的媒体和其它信息并与之交互。客户端应用允许用户301与例如与供应商或企业相关联的服务器应用进行交互。
图4描绘了主机计算设备402的示例性配置,诸如主机计算设备102和OSC计算设备104(两者都在图1中示出)。主机计算设备402可以包括用于执行指令的处理器405。例如,指令可以存储在存储器区域410中。处理器405可以包括一个或多个处理单元(例如,在多核配置中)。
处理器405可以可操作地耦合到通信接口415,使得主机计算设备402能够与诸如图3中所示的计算设备302或另一个主机计算设备402之类的远程设备通信。例如,通信接口415可以经由互联网接收来自用户计算设备302的请求。
处理器405还可以可操作地耦合到存储设备425(例如,图1中所示的第一和第二数据存储设备108、110)。存储设备425可以是适合于存储和/或检索数据的任何计算机操作的硬件。在一些实施例中,存储设备425可以被集成在主机计算设备402中。例如,主机计算设备402可以包括一个或多个硬盘驱动器作为存储设备425。在其它实施例中,存储设备425可以在主机计算设备402外部,并且可以由多个主机计算设备402访问。例如,存储设备425可以包括多个存储单元,诸如在廉价盘冗余阵列(RAID)配置中的硬盘或固态盘。存储设备425可以包括存储区域网络(SAN)和/或网络附加存储(NAS)系统。
在一些实施例中,处理器405可以经由存储接口420可操作地耦合到存储设备425。存储接口420可以是能够向处理器405提供对存储设备425的访问的任何组件。存储接口420可以包括例如高级技术附件(ATA)适配器、串行ATA(SATA)适配器、小型计算机系统接口(SCSI)适配器、RAID控制器、SAN适配器、网络适配器和/或向处理器305提供对存储设备425的访问的任何组件。
存储器区域310(在图3中示出)和410可以包括但不限于随机存取存储器(RAM),诸如动态RAM(DRAM)或静态RAM(SRAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和非易失性RAM(NVRAM)。上述存储器类型仅仅是示例,并且因此对于可用于存储计算机程序的存储器的类型不是限制性的。
图5是用于使用诸如系统100(在图1中示出)的OSC系统将主机计算设备从第一OS转换成第二OS的示例方法500的流程图。方法500至少部分地由OSC计算设备(例如,图1中示出的OSC计算设备104)执行。在其它实施例中,方法500可以包括附加的、更少的或替代的步骤,包括本文其它地方所描述的那些步骤。
方法500开始于OSC计算设备为主机计算设备生成502kickstart文件。在至少一些实施例中,OSC计算设备检索kickstart模板并从主机计算设备收集环境信息。用环境信息自动填充kickstart模板,以生成502kickstart文件。OSC计算设备为主机计算设备生成504定制存档文件。定制存档文件包括第二OS的OS映像文件和kickstart文件。在一些实施例中,在生成504定制存档文件之前,OSC计算设备检索存储OS映像文件的存档文件、提取OS映像文件,并从OS映像文件中移除一个或多个软件包以减小OS映像文件的大小。然后,减小的OS映像文件被添加到定制存档文件。
OSC计算设备格式化506主机计算设备的第一数据存储设备以包括与第一OS相关联的第一分区和与第二OS相关联的第二分区。OSC计算设备还将定制存档文件传输508到主机计算设备,以促进第二OS的安装。在至少一些实施例中,OSC计算设备将第二分区安装到第一OS的PCFS,以促进从第一OS对第二分区的访问。然后,OSC计算设备使用定制存档文件在主机计算设备处生成510回送文件系统。回送文件系统被安装到主机计算设备,以模拟存储OS映像文件和kickstart文件的物理数据存储设备。OSC计算设备在第二分区内创建安装目录,并且在安装目录内存储512OS映像文件和kickstart文件,以将第二OS安装在主机计算设备的第二数据存储设备上。然后,OSC计算设备至少部分地基于OS映像文件和kickstart文件,将在主机计算设备上操作的OS从第一OS转换514成第二OS。在一些实施例中,OSC计算设备更新主机计算设备的引导加载程序以识别安装目录和kickstart文件,使得引导加载程序可以通过访问OS映像文件的数据(诸如安装内核)来启动第二OS和kickstart文件。
图6是可以在图5所示的方法中使用的一个或多个示例计算设备的组件的示图600。图6还示出了数据存储系统610的配置,该数据存储系统610耦合到执行特定任务的OSC计算设备104(在图1中示出)内的若干单独的组件。
OSC计算设备104包括生成组件602,该生成组件602被配置为生成用于主机计算设备的kickstart文件和定制存档文件。生成组件602还被配置为使用定制存档文件生成安装到主机计算设备的回送文件系统。OSC计算设备104还包括格式化组件604,该格式化组件604被配置为格式化主机计算设备的第一数据存储设备以包括与第一OS相关联的第一分区和与第二OS相关联的第二分区。OSC计算设备104还包括传输组件606,该传输组件606被配置为将定制存档文件传输到主机计算设备。OSC计算设备104还包括存储组件608,该存储组件608被配置为在第二分区的安装目录内存储OS映像文件和kickstart文件。OSC计算设备104还包括转换组件610,该转换组件610被配置为将在主机计算设备上操作的OS从第一OS转换成第二OS。
在示例性实施例中,数据存储系统612被划分为多个扇区,包括但不限于OS数据扇区614、kickstart数据扇区616和设备元数据扇区618。这些扇区通过OSC计算设备104互连,以根据需要更新和检索信息。
如基于前述说明书将认识到的,本公开以上讨论的实施例可以使用包括计算机软件、固件、硬件或其任何组合或子集的计算机编程或工程技术来实现。根据本公开所讨论的实施例,具有计算机可读和/或计算机可执行指令的任何这样的结果计算机程序可以在一个或多个计算机可读介质内体现或提供,从而制造计算机程序产品,即,制造物。这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或以汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”、“计算机可读介质(medium)”和“计算机可读介质(media)”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD),包括接收机器指令作为机器可读信号的机器可读介质。但是,“机器可读介质”,“计算机可读介质(medium)”和“计算机可读介质(media)”不包括暂态信号(即,它们是“非暂态的”)。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
本书面描述使用示例来公开本发明,包括最佳模式,并且还使得本领域技术人员能够实践本发明,包括制造和使用任何设备或系统以及执行任何结合的方法。本发明的专利范围由权利要求限定,并且可以包括本领域技术人员想到的其它示例。如果这些其它示例具有不与权利要求的字面语言不同的结构元素,或者如果它们包括与权利要求的字面语言无实质区别的等同结构元素,那么这些其它示例意图在权利要求的范围内。
Claims (16)
1.一种操作系统转换OSC计算设备,用于将主机计算设备从第一操作系统OS转换成第二OS,该主机计算设备至少包括被配置在多盘阵列中的第一数据存储设备和第二数据存储设备,第一数据存储设备和第二数据存储设备每个具有根据由第一OS支持的文件系统架构而格式化的至少一个分区,该OSC计算设备包括至少一个处理器和与所述至少一个处理器通信的存储器,其中所述至少一个处理器被编程为:
为具有第一OS的主机计算设备生成定制存档文件,该定制存档文件包括与第二OS相关联的OS映像文件和kickstart文件,该kickstart文件包括用于自动安装第二OS的一组预定义指令,其中该组预定义指令填充有与主机计算设备相关联的环境信息;
通过更新由第一数据存储设备和第二数据存储设备存储的元数据使第一数据存储设备与所述阵列分离来从所述阵列中移除第一数据存储设备的所述至少一个分区;
格式化主机计算设备的第一数据存储设备以包括与第一OS相关联的第一分区和与第二OS相关联的第二分区,其中所述格式化包括更新由第一数据存储设备存储的分区表,以包括由第一OS支持的第一文件系统架构中的第一分区和由第二OS支持的第二文件系统架构中的第二分区;
将定制存档文件传输到主机计算设备;
使用定制存档文件生成回送文件系统,该回送文件系统被安装到主机计算设备以模拟物理数据存储设备,其中OS映像文件能通过回送文件系统访问;
将OS映像文件和kickstart文件存储在第二分区的安装目录内;以及
将在主机计算设备上操作的OS从第一OS转换成第二OS,其中所述转换包括更新主机计算设备的引导加载程序以标识安装目录,使得当重新引导主机计算设备时,使主机计算设备将第二OS从安装目录自动安装在第二数据存储设备上。
2.根据权利要求1所述的OSC计算设备,其中kickstart文件被配置为在第二数据存储设备上为第二OS创建分区阵列,该分区阵列包括分区的第一子集和分区的第二子集,其中分区的第二子集在与分区阵列的相关联的元数据中被标识为故障分区。
3.根据权利要求1所述的OSC计算设备,其中所述至少一个处理器还被编程为格式化第一分区以与主机计算设备的第二数据存储设备上的第三分区的大小相匹配,以用于冗余分区阵列。
4.根据权利要求1所述的OSC计算设备,其中所述至少一个处理器还被编程为将第二分区安装到个人计算机文件系统(PCFS),以使第一OS能够访问第二分区。
5.根据权利要求1所述的OSC计算设备,其中所述处理器还被编程为:
检索与第二OS相关联的包括OS映像文件的存档文件;
从存档文件中提取OS映像文件;
从OS映像文件中移除至少一个软件包;以及
生成定制存档文件。
6.根据权利要求1所述的OSC计算设备,其中所述处理器还被编程为:
生成与第二OS相关联的引导标识符,该引导标识符引用安装目录以及与第二OS相关联的kickstart文件;
更新与主机计算设备相关联的引导加载程序的引导菜单以包括引导标识符;以及
将引导标识符设置为引导菜单的默认选择,其中主机计算设备被配置为基于引导标识符自动启动第二OS和kickstart文件。
7.一种用于将主机计算设备从第一操作系统OS转换成第二OS的方法,该主机计算设备至少包括被配置在多盘阵列中的第一数据存储设备和第二数据存储设备,第一数据存储设备和第二数据存储设备每个具有根据由第一OS支持的文件系统架构而格式化的至少一个分区,所述方法包括:
由OS转换OSC计算设备为主机计算设备生成定制存档文件,该定制存档文件包括与第二OS相关联的OS映像文件和kickstart文件,该kickstart文件包括用于自动安装第二OS的一组预定义指令,其中该组预定义指令填充有与主机计算设备相关联的环境信息;
由OSC计算设备,通过更新由第一数据存储设备和第二数据存储设备存储的元数据使第一数据存储设备与所述阵列分离来从所述阵列中移除第一数据存储设备的所述至少一个分区;
格式化第一数据存储设备以包括与第一OS相关联的第一分区和与第二OS相关联的第二分区,其中所述格式化包括更新由第一数据存储设备存储的分区表,以包括由第一OS支持的第一文件系统架构中的第一分区和由第二OS支持的第二文件系统架构中的第二分区;
将定制存档文件传输到主机计算设备;
使用定制存档文件生成回送文件系统,该回送文件系统被安装到主机计算设备以模拟物理数据存储设备,其中OS映像文件能通过回送文件系统访问;
由OSC计算设备将OS映像文件和kickstart文件存储在第二分区的安装目录内;以及
将在主机计算设备上操作的OS从第一OS转换成第二OS,其中所述转换包括更新主机计算设备的引导加载程序以标识安装目录,使得当重新引导主机计算设备时,使主机计算设备将第二OS从安装目录自动安装在第二数据存储设备上。
8.根据权利要求7所述的方法,其中kickstart文件被配置为在第二数据存储设备上为第二OS创建分区阵列,该分区阵列包括分区的第一子集和分区的第二子集,其中分区的第二子集在与分区阵列的相关联的元数据中被标识为故障分区。
9.根据权利要求7所述的方法,其中格式化第一数据存储设备还包括:由OSC计算设备格式化第一分区,以与主机计算设备的第二数据存储设备上的第三分区的大小相匹配,以用于冗余分区阵列。
10.根据权利要求7所述的方法,其中将定制存档文件传输到主机计算设备还包括:由OSC计算设备将第二分区安装到个人计算机文件系统(PCFS),以使第一OS能够访问第二分区。
11.根据权利要求7所述的方法,其中生成定制存档文件还包括:
由OSC计算设备检索与第二OS相关联的包括OS映像文件的存档文件;
从存档文件中提取OS映像文件;
由OSC计算设备从OS映像文件中移除至少一个软件包;以及
生成定制存档文件。
12.根据权利要求7所述的方法,其中转换在主机计算设备上操作的OS还包括:
由OSC计算设备生成与第二OS相关联的引导标识符,该引导标识符引用安装目录以及与第二OS相关联的kickstart文件;
更新与主机计算设备相关联的引导加载程序的引导菜单以包括引导标识符;以及
由OSC计算设备将引导标识符设置为引导菜单的默认选择,其中主机计算设备被配置为基于引导标识符自动启动第二OS和kickstart文件。
13.至少一种在其上实施有计算机可执行指令的非暂态计算机可读存储介质,其中所述计算机可执行指令在由至少一个处理器执行时,使所述处理器:
为具有第一操作系统OS的主机计算设备生成定制存档文件,该主机计算设备至少包括被配置在多盘阵列中的第一数据存储设备和第二数据存储设备,第一数据存储设备和第二数据存储设备每个具有根据由第一OS支持的文件系统架构而格式化的至少一个分区,该定制存档文件包括与第二OS相关联的OS映像文件和kickstart文件,该kickstart文件包括用于自动安装第二OS的一组预定义指令,其中该组预定义指令填充有与主机计算设备相关联的环境信息;
通过更新由第一数据存储设备和第二数据存储设备存储的元数据使第一数据存储设备与所述阵列分离来从所述阵列中移除第一数据存储设备的所述至少一个分区;
格式化主机计算设备的第一数据存储设备以包括与第一OS相关联的第一分区和与第二OS相关联的第二分区,其中所述格式化包括更新由第一数据存储设备存储的分区表,以包括由第一OS支持的第一文件系统架构中的第一分区和由第二OS支持的第二文件系统架构中的第二分区;
将定制存档文件传输到主机计算设备;
使用定制存档文件生成回送文件系统,该回送文件系统被安装到主机计算设备以模拟物理数据存储设备,其中OS映像文件能通过回送文件系统访问;
将OS映像文件和kickstart文件存储在第二分区的安装目录内;以及
将在主机计算设备上操作的OS从第一OS转换成第二OS,其中所述转换包括更新主机计算设备的引导加载程序以标识安装目录,使得当重新引导主机计算设备时,使主机计算设备将第二OS从安装目录自动安装在第二数据存储设备上。
14.根据权利要求13所述的计算机可读存储介质,其中所述计算机可执行指令还使所述处理器格式化第一分区,以与主机计算设备的第二数据存储设备上的第三分区的大小相匹配,以用于冗余分区阵列。
15.根据权利要求13所述的计算机可读存储介质,其中所述计算机可执行指令还使所述处理器将第二分区安装到个人计算机文件系统(PCFS),以使第一OS能够访问第二分区。
16.根据权利要求13所述的计算机可读存储介质,其中所述计算机可执行指令还使所述处理器:
检索与第二OS相关联的包括OS映像文件的存档文件;
从存档文件中提取OS映像文件;
从OS映像文件中移除至少一个软件包;以及
生成定制存档文件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/667,093 US10565162B2 (en) | 2017-08-02 | 2017-08-02 | Systems and methods for customized operating system conversion |
US15/667,093 | 2017-08-02 | ||
PCT/US2018/041945 WO2019027654A1 (en) | 2017-08-02 | 2018-07-13 | SYSTEMS AND METHODS FOR CONVERTING PERSONALIZED OPERATING SYSTEM |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110998517A CN110998517A (zh) | 2020-04-10 |
CN110998517B true CN110998517B (zh) | 2023-07-28 |
Family
ID=63209651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880048725.4A Active CN110998517B (zh) | 2017-08-02 | 2018-07-13 | 用于定制化的操作系统转换的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10565162B2 (zh) |
EP (1) | EP3662362B1 (zh) |
JP (1) | JP6861886B2 (zh) |
CN (1) | CN110998517B (zh) |
CA (1) | CA3071787A1 (zh) |
WO (1) | WO2019027654A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10963351B2 (en) * | 2018-01-17 | 2021-03-30 | Seagate Technology Llc | Data storage backup system |
CN111936969A (zh) * | 2018-01-31 | 2020-11-13 | 惠普发展公司,有限责任合伙企业 | 用于将操作系统存储在计算机可读介质上的bios代码 |
US11361080B2 (en) * | 2020-04-13 | 2022-06-14 | Cisco Technology, Inc. | Reducing the secure boot time of full network operating system images using a combination of partitioning, staging and amortized verification techniques |
WO2022256435A1 (en) * | 2021-06-01 | 2022-12-08 | Arris Enterprises Llc | Dynamic update system for a remote physical device |
CN113821221B (zh) * | 2021-06-15 | 2022-09-23 | 荣耀终端有限公司 | 安装操作系统的方法、设备及存储介质 |
CN114398089A (zh) * | 2021-12-30 | 2022-04-26 | 阿波罗智联(北京)科技有限公司 | 系统切换方法及装置、电子设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030023839A1 (en) * | 2001-07-24 | 2003-01-30 | Ryan Burkhardt | Method and system for creating and employing an operating system having selected functionality |
US20080307215A1 (en) * | 2007-06-05 | 2008-12-11 | Hewlett-Packard Development Company, L.P. | Remote computer operating system upgrade |
CN101430700A (zh) * | 2007-10-16 | 2009-05-13 | 巴比禄股份有限公司 | 文件系统管理装置和存储装置 |
CN102799691A (zh) * | 2012-08-15 | 2012-11-28 | 深圳市宏电技术股份有限公司 | 文件系统转换访问方法及文件系统转换访问设备 |
CN106796507A (zh) * | 2014-09-18 | 2017-05-31 | 英特尔公司 | 无需内容转换支持计算设备中的多操作系统环境 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6128734A (en) | 1997-01-17 | 2000-10-03 | Advanced Micro Devices, Inc. | Installing operating systems changes on a computer system |
US6101585A (en) * | 1997-11-04 | 2000-08-08 | Adaptec, Inc. | Mechanism for incremental backup of on-line files |
US6282641B1 (en) | 1998-11-18 | 2001-08-28 | Phoenix Technologies Ltd. | System for reconfiguring a boot device by swapping the logical device number of a user selected boot drive to a currently configured boot drive |
US7353240B1 (en) | 1999-09-29 | 2008-04-01 | Hitachi, Ltd. | Method and storage system that enable sharing files among multiple servers |
JP2001256066A (ja) | 2000-02-29 | 2001-09-21 | Internatl Business Mach Corp <Ibm> | コンピュータシステム、オペレーティングシステムの切り替えシステム、オペレーティングシステムの実装方法、オペレーティングシステムの切り替え方法、記憶媒体及びプログラム伝送装置 |
US7010584B1 (en) | 2000-11-09 | 2006-03-07 | International Business Machines Corporation | Changing the operating system in a computer operation without substantial interruption of operations through the use of a surrogate computer |
US8209680B1 (en) * | 2003-04-11 | 2012-06-26 | Vmware, Inc. | System and method for disk imaging on diverse computers |
US7266815B2 (en) * | 2003-09-29 | 2007-09-04 | International Business Machines Corporation | Automated control of a licensed internal code update on a storage controller |
US8041888B2 (en) * | 2004-02-05 | 2011-10-18 | Netapp, Inc. | System and method for LUN cloning |
TW201106271A (en) | 2009-08-14 | 2011-02-16 | Insyde Software Corp | Method of switching different operating systems in computer |
TW201248499A (en) | 2011-05-18 | 2012-12-01 | Asustek Comp Inc | Method of swapping between operating systems applied to computer system |
TWI515658B (zh) * | 2011-12-07 | 2016-01-01 | 萬國商業機器公司 | 用於創建虛擬裝置之方法及系統 |
US9430223B2 (en) | 2014-09-25 | 2016-08-30 | International Business Machines Corporation | Live operating system update mechanisms |
-
2017
- 2017-08-02 US US15/667,093 patent/US10565162B2/en active Active
-
2018
- 2018-07-13 JP JP2020505306A patent/JP6861886B2/ja active Active
- 2018-07-13 CN CN201880048725.4A patent/CN110998517B/zh active Active
- 2018-07-13 WO PCT/US2018/041945 patent/WO2019027654A1/en unknown
- 2018-07-13 EP EP18755581.8A patent/EP3662362B1/en active Active
- 2018-07-13 CA CA3071787A patent/CA3071787A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030023839A1 (en) * | 2001-07-24 | 2003-01-30 | Ryan Burkhardt | Method and system for creating and employing an operating system having selected functionality |
US20080307215A1 (en) * | 2007-06-05 | 2008-12-11 | Hewlett-Packard Development Company, L.P. | Remote computer operating system upgrade |
CN101430700A (zh) * | 2007-10-16 | 2009-05-13 | 巴比禄股份有限公司 | 文件系统管理装置和存储装置 |
CN102799691A (zh) * | 2012-08-15 | 2012-11-28 | 深圳市宏电技术股份有限公司 | 文件系统转换访问方法及文件系统转换访问设备 |
CN106796507A (zh) * | 2014-09-18 | 2017-05-31 | 英特尔公司 | 无需内容转换支持计算设备中的多操作系统环境 |
Also Published As
Publication number | Publication date |
---|---|
EP3662362A1 (en) | 2020-06-10 |
US20190042583A1 (en) | 2019-02-07 |
US10565162B2 (en) | 2020-02-18 |
JP2020530154A (ja) | 2020-10-15 |
CA3071787A1 (en) | 2019-02-07 |
JP6861886B2 (ja) | 2021-04-21 |
WO2019027654A1 (en) | 2019-02-07 |
CN110998517A (zh) | 2020-04-10 |
EP3662362B1 (en) | 2022-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110998517B (zh) | 用于定制化的操作系统转换的系统和方法 | |
US10877681B2 (en) | Systems and methods for redundant array data alignment | |
US8832028B2 (en) | Database cloning | |
JP5911504B2 (ja) | ストリーミング技術に基づくソフトウェア・イメージのアップグレード | |
CN1822004B (zh) | 使用文件系统将文件自动备份为世代文件的系统和方法 | |
US8495351B2 (en) | Preparing and preserving a system configuration during a hot upgrade | |
US11513921B1 (en) | Leveraging file-based backups to facilitate bare-metal and system-state recovery operations | |
US10474539B1 (en) | Browsing federated backups | |
US11409614B2 (en) | Systems and methods for multiple recovery types using single backup type | |
CN105138431A (zh) | 一种Linux系统的备份和还原方法 | |
CN111258666A (zh) | 计算机文件的读取方法、装置、计算机系统及存储介质 | |
US20190250926A1 (en) | Capturing pre-fetch blocks of an operating system to improve boot performance in a cloud environment | |
US11340882B2 (en) | Systems and methods for enforcing update policies while applying updates from bootable image file | |
US20220075525A1 (en) | Redundant Array of Independent Disks (RAID) Management Method, and RAID Controller and System | |
US20200310923A1 (en) | System and method of performing recovery using a backup image | |
US9672146B2 (en) | Retrieveing data from data storage systems | |
US11467738B2 (en) | Failsafe mechanism to import snapshots | |
US20240103973A1 (en) | Leveraging file-system metadata for direct to cloud object storage optimization | |
US11720551B1 (en) | Method and system for streaming data from portable storage devices | |
US20240103974A1 (en) | Leveraging backup process metadata for cloud object storage selective deletions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |