CN113485756A - 硬件设备配置方法、装置、设备及存储介质 - Google Patents

硬件设备配置方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113485756A
CN113485756A CN202110742605.8A CN202110742605A CN113485756A CN 113485756 A CN113485756 A CN 113485756A CN 202110742605 A CN202110742605 A CN 202110742605A CN 113485756 A CN113485756 A CN 113485756A
Authority
CN
China
Prior art keywords
hardware
information
operating system
configuration
bus address
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.)
Pending
Application number
CN202110742605.8A
Other languages
English (en)
Inventor
程方全
杨森
代青松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Clerware Technology Co ltd
Original Assignee
Shenzhen Clerware Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Clerware Technology Co ltd filed Critical Shenzhen Clerware Technology Co ltd
Priority to CN202110742605.8A priority Critical patent/CN113485756A/zh
Publication of CN113485756A publication Critical patent/CN113485756A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种硬件设备配置方法、装置、设备及存储介质。该方法包括:获取目标主机与若干硬件设备连接时对应的总线地址信息和配置信息;根据总线地址信息将若干硬件设备按相同总线地址映射到虚拟机中,在虚拟机上启动待迁移或待还原操作***;在操作***中安装若干硬件设备对应的驱动程序;根据配置信息对若干硬件设备进行配置,得到安装有驱动程序且配置好参数的操作***。本发明通过总线地址信息将目标主机连接的硬件设备映射到虚拟机中,使得虚拟机与目标主机设置有相同的设备插槽位置和配置,在该虚拟机上启动待迁移或待还原的操作***,安装设备驱动程序和配置硬件设备,使得迁移或还原后的操作***能直接正常使用目标主机上的硬件设备。

Description

硬件设备配置方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种硬件设备配置方法、装置、设备及存储介质。
背景技术
在进行操作***迁移或者操作***还原时,如果目标计算机的硬件配置和源计算机的硬件配置不一样,操作***上没有安装目标计算机硬件设备的驱动程序,那么迁移后的操作***无法正常使用这个设备,***可能启动失败。另外,如果目标主机的设备的插槽位置和源主机的不一样,即使安装了对应的驱动程序,目标主机也可能无法正常使用该设备,需要重新配置才能使用。比如网卡,迁移、还原后的***需要重新配置网卡IP地址、网卡名字,业务***才能正常使用网络。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种硬件设备配置方法、装置、设备及存储介质,旨在解决当前的操作***迁移、还原之后,硬件配置或者设备插槽位置不同,硬件设备无法正常使用的技术问题。
为实现上述目的,本发明提供了一种硬件设备配置方法,所述方法包括以下步骤:
获取目标主机与若干硬件设备连接时对应的总线地址信息以及配置信息;
根据所述总线地址信息将所述若干硬件设备按相同总线地址映射到虚拟机中,并在所述虚拟机上启动待迁移或待还原操作***;
在所述操作***中安装所述若干硬件设备对应的若干驱动程序;
根据所述配置信息对所述若干硬件设备进行配置,得到安装有若干驱动程序且配置好参数的操作***。
可选地,所述获取目标主机与若干硬件设备连接时对应的总线地址信息以及配置信息,包括:
与目标主机进行通信,以使所述目标主机扫描PCI总线,确定若干硬件设备与所述PCI总线连接时对应的连接状态信息,并获取若干硬件设备对应的硬件特征;
获取所述目标主机反馈的所述连接状态信息以及所述硬件特征,根据所述连接状态信息确定若干硬件设备对应的总线地址信息;
将所述总线地址信息以及所述硬件特征发送给控制服务器,以使所述控制服务器对所述总线地址信息以及所述硬件特征进行展示,并基于展示界面接收各总线地址信息对应的配置信息;
获取所述控制服务器反馈的所述配置信息,并将所述配置信息存储至预设配置文件中。
可选地,所述根据所述连接状态信息确定若干硬件设备对应的总线地址信息,包括:
在目标硬件设备对应的连接状态信息为预设数值时,将所述目标硬件设备与所述PCI总线连接的总线号、设备号以及功能号作为所述目标硬件设备对应的总线地址信息。
可选地,所述根据所述配置信息对所述若干硬件设备进行配置,得到安装有若干驱动程序且配置好参数的操作***,包括:
根据若干硬件设备对应的总线地址信息在所述预设配置文件中匹配对应的若干配置信息;
在所述虚拟机运行的操作***中通过所述若干配置信息对所述若干硬件设备进行配置,得到安装有若干驱动程序且配置好参数的操作***。
可选地,所述将所述总线地址信息以及所述硬件特征发送给控制服务器,以使所述控制服务器对所述总线地址信息以及所述硬件特征进行展示,并基于展示界面接收各总线地址信息对应的配置信息,包括:
将所述总线地址信息以及所述硬件特征发送给控制服务器,以使所述控制服务器将所述硬件特征转化为辨识描述信息,根据所述总线地址信息将若干硬件设备依据树形结构进行展示,并在展示界面上展示若干硬件设备对应的所述辨识描述信息,基于所述展示界面接收各总线地址信息对应的配置信息以及驱动程序信息。
可选地,所述将所述总线地址信息以及所述硬件特征发送给控制服务器之后,所述方法还包括:
获取所述控制服务器反馈的所述配置信息以及所述驱动程序信息,并将所述配置信息以及所述驱动程序信息存储至预设配置文件中;
所述在所述操作***中安装所述若干硬件设备对应的若干驱动程序,包括:
根据若干硬件设备对应的总线地址信息在所述预设配置文件中匹配对应的若干驱动程序信息;
根据所述若干驱动程序信息在预设驱动库目录下查找对应的若干驱动程序;
在所述虚拟机运行的操作***中安装所述若干驱动程序。
可选地,所述在所述虚拟机上启动待迁移或待还原操作***之前,还包括:
查找所述虚拟机上虚拟空闲插槽对应的目标接口编号,根据所述目标接口编号创建虚拟桥通道;
在所述虚拟桥通道上挂接虚拟硬盘以及其他虚拟机运行所需的虚拟硬件设备,所述虚拟硬盘中存储待迁移或待还原操作***数据;
所述在所述虚拟机上启动待迁移或待还原操作***,包括:
根据所述虚拟硬盘中存储的操作***数据启动待迁移或待还原操作***。
此外,为实现上述目的,本发明还提出一种硬件设备配置装置,所述硬件设备配置装置包括:
获取模块,用于获取目标主机与若干硬件设备连接时对应的总线地址信息以及配置信息;
映射模块,用于根据所述总线地址信息将所述若干硬件设备按相同总线地址映射到虚拟机中,并在所述虚拟机上启动待迁移或待还原操作***;
安装模块,用于在所述操作***中安装所述若干硬件设备对应的若干驱动程序;
配置模块,用于根据所述配置信息对所述若干硬件设备进行配置,得到安装有若干驱动程序且配置好参数的操作***。
此外,为实现上述目的,本发明还提出一种硬件设备配置设备,所述硬件设备配置设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的硬件设备配置程序,所述硬件设备配置程序配置为实现如上文所述的硬件设备配置方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有硬件设备配置程序,所述硬件设备配置程序被处理器执行时实现如上文所述的硬件设备配置方法的步骤。
本发明通过获取目标主机与若干硬件设备连接时对应的总线地址信息以及配置信息;根据总线地址信息将若干硬件设备按相同总线地址映射到虚拟机中,并在虚拟机上启动待迁移或待还原操作***;在操作***中安装若干硬件设备对应的若干驱动程序;根据配置信息对若干硬件设备进行配置,得到安装有若干驱动程序且配置好参数的操作***。通过上述方式,将目标计算机的硬件设备映射到虚拟机中,并在该虚拟机上启动待迁移或待还原的操作***,进行驱动程序的安装以及硬件设备信息的配置,由于虚拟机连接的虚拟设备与目标主机连接的硬件设备的插槽位置以及配置信息相同,在该虚拟机上启动待迁移或待还原的操作***,并安装设备驱动程序和配置硬件设备,通过虚拟机中安装有若干驱动程序的操作***进行操作***的迁移或还原,使得迁移或还原后的操作***能直接正常使用目标主机上的硬件设备,解决了当前的操作***迁移、还原之后,硬件配置或者设备插槽位置不同,硬件设备无法正常使用的问题。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的硬件设备配置设备的结构示意图;
图2为本发明硬件设备配置方法第一实施例的流程示意图;
图3为本发明硬件设备配置方法一实施例的设备映射示意图;
图4为本发明硬件设备配置方法第二实施例的流程示意图;
图5为本发明硬件设备配置方法一实施例的硬件设备展示示意图;
图6为本发明硬件设备配置装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的硬件设备配置设备结构示意图。
如图1所示,该硬件设备配置设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对硬件设备配置设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及硬件设备配置程序。
在图1所示的硬件设备配置设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明硬件设备配置设备中的处理器1001、存储器1005可以设置在硬件设备配置设备中,所述硬件设备配置设备通过处理器1001调用存储器1005中存储的硬件设备配置程序,并执行本发明实施例提供的硬件设备配置方法。
本发明实施例提供了一种硬件设备配置方法,参照图2,图2为本发明硬件设备配置方法第一实施例的流程示意图。
本实施例中,所述硬件设备配置方法包括以下步骤:
步骤S10:获取目标主机与若干硬件设备连接时对应的总线地址信息以及配置信息。
可以理解的是,本实施例的执行主体为硬件设备配置设备,所述硬件设备配置设备可以为与目标主机通信的启动有虚拟机的计算机、服务器等设备,也可以为操作***迁移到的目标主机,本实施例以与目标主机通信的启动有虚拟机的计算机为例进行说明。目标主机是指将PCI设备映射出去的计算机,例如,把计算机A的PCI设备映射给计算机B的虚拟机,那么计算机A就是目标主机。PCI(Peripheral Component Interconnect)是一种计算机连接***设备的总线。在实施例中PCI总线是一个统称,包括PCI、PCI-X以及PCI-E总线,本实施例的PCI设备包括PCI设备、PCI-X设备以及PCI-E设备。
需要说明的是,将一台计算机的操作***和数据迁移到另外一台计算机上的操作称为操作***迁移。操作***包括windows、linux等,也可以为其他操作***,本实施例对此不加以限制。迁移前的计算机叫源计算机(源主机),迁移到的计算机称为目标计算机(目标主机),源计算机以及目标计算机可以是物理计算机,也可以是虚拟的计算机。本实施例对此不加以限制。
应当理解的是,操作***的还原是指将计算机的操作***以及数据恢复到之前的某一个状态。执行备份操作的计算机称为备份源计算机(源主机),备份数据库中保存的状态叫作还原点,还原的时候就是把备份数据库中的还原点恢复到目标计算机(目标主机)上。源计算机以及目标计算机可以是物理计算机,也可以是虚拟的计算机。
具体地,所述总线地址信息包括总线号、设备号以及功能号。
需要说明的是,X86体系计算机的***设备基本连接在PCI总线或者子总线上,形成一个树形结构,PCI总线规范规定:每个总线体系中最多只能有256个子总线(假设编号是0到255),每个总线上最多能连接32个PCI设备(设备的编号是0到31),每个设备最多8个功能(编号是0到7),计算机的程序是通过“总线号:设备号:功能号”方式来寻址和操作PCI设备。如果PCI总线上的设备换了一个插槽,那么该设备的“总线号:设备号:功能号”会发生改变,操作***会认为该设备是一个新接入的设备,需要重新配置才能使用,例如计算机的网卡设备。
可以理解的是,配置信息为用户配置的参数信息或者自动获取的默认参数信息,例如网卡的IP地址以及子网掩码等等。
步骤S20:根据所述总线地址信息将所述若干硬件设备按相同总线地址映射到虚拟机中,并在所述虚拟机上启动待迁移或待还原操作***。
需要说明的是,在进行操作***的迁移或者还原前,通过总线号、设备号以及功能号将若干硬件设备映射到虚拟机中,使得虚拟机在与硬件设备交互时,通过总线号、设备号以及功能号来寻址,映射后的虚拟机与目标主机的总线编号、设备编号以及功能编号保持一致,在虚拟机上启动待迁移或待还原操作***时,所得到的PCI映射设备以及设备拓扑(即树形结构),和目标主机上迁移或还原后操作***所得到的设备以及设备拓扑是一致的,也即“总线号:设备号:功能号”是一致的,如果在虚拟机启动的操作***中对硬件设备做了配置,那么迁移或还原后的操作***无需再对该设备进行配置。
可以理解的是,虚拟机是指通过软件模拟的具有完整硬件***功能的、运行在一个完全隔离环境中的完整计算机***。虚拟机也叫guest机,虚拟机所在的运行平台叫host机。模拟计算机硬件***的程序称为虚拟化引擎。
需要说明的是,创建虚拟机时,虚拟化引擎会创建虚拟PCI设备,虚拟PCI设备包括两部分,一部分是从目标主机映射过来的,一部分是通过软件模拟的。映射过来的PCI设备的总线号、设备号以及功能号维持不变(即以相同的BDF映射过来),BDF(Bus,Device,Function),也即“总线号:设备号:功能号”;纯软件模拟的PCI设备是挂接在空闲总线的空闲插槽上,功能号则由设备的属性决定。纯软件模拟的PCI设备包括虚拟硬盘控制器、虚拟硬盘、虚拟显卡、虚拟网卡……等运行虚拟机所必需的设备。
应当理解的是,虚拟机启动的时候,虚拟固件程序(如虚拟BIOS、虚拟UEFI)会为所有的虚拟PCI设备分配资源,如IO端口、MMIO、硬件中断等资源,虚拟化引擎会把这些资源和PCI设备关联起来。待虚拟机启动之后,虚拟机的操作***以及驱动程序会通过“配置地址寄存器”、“配置数据寄存器”(实际上是读取IO端口),或ECAM(实际上是读取MMIO)扫描PCI总线上的设备,以及读取每个PCI设备的配置空间信息,这些读取IO端口、MMIO的行为被虚拟化引擎捕获。虚拟化引擎从读取指令中获取PCI设备的“总线号、设备号、功能号”,然后判断这些设备是否属于映射设备,如果这些设备属于映射设备,虚拟化引擎把相应的读操作重定向至目标主机,再将目标主机的读取结果返回给虚拟机的操作***以及驱动程序。
具体地,所述在所述虚拟机上启动待迁移或待还原操作***之前,还包括:查找所述虚拟机上虚拟空闲插槽对应的目标接口编号,根据所述目标接口编号创建虚拟桥通道;在所述虚拟桥通道上挂接虚拟硬盘以及其他虚拟机运行所需的虚拟硬件设备,所述虚拟硬盘中存储待迁移或待还原操作***数据;所述在所述虚拟机上启动待迁移或待还原操作***,包括:根据所述虚拟硬盘中存储的操作***数据启动待迁移或待还原操作***。
参照图3,图3为本发明硬件设备配置方法一实施例的设备映射示意图,为了使迁移或还原后的操作***能够正常使用目标主机的硬件设备,在迁移、还原操作***前,先创建一台虚拟机,然后把目标主机上所有的PCI设备映射到虚拟机中,使得总线号、设备号以及功能号都保持一致。然后在总线空闲的插槽位置虚拟PCI-PCI桥,在该桥挂接启动虚拟机***所必需的虚拟硬盘以及虚拟网卡等设备,其中虚拟硬盘的存储数据为待迁移或待还原操作***的硬盘数据。
步骤S30:在所述操作***中安装所述若干硬件设备对应的若干驱动程序。
应当理解的是,设备驱动程序是一种可以让操作***与计算机设备正常交互的程序。如果操作***没有安装硬件设备的驱动程序,那么操作***就无法使用这个设备。
需要说明的是,由于虚拟机启动的操作***中没有安装目标硬件的设备驱动程序,操作***、应用程序还无法正常配置和使用这些硬件。操作***在检测到新硬件设备之后,自动到***预置的预设驱动库目录下匹配对应的驱动程序,匹配驱动程序的过程可以为查询硬件设备的设备标识,根据设备标识到驱动库中查找对应的驱动程序,例如windows操作***预置的预设驱动库目录是C:\Windows\System32\DriverStore\FileRepository。本实施例中的设备标识是指PCI设备的“厂商ID、设备ID、版本信息、子***厂商ID、子***设备ID”。
在具体实现中,匹配驱动程序的过程还可以为通过迁移代理程序读取配置阶段生成的配置文件(其中包含驱动程序信息),读取配置阶段选取的驱动程序信息,根据预设配置(“总线号、设备号、功能号”、“驱动程序名”)以及硬件特征(厂商ID、设备ID、版本信息、子***厂商ID、子***设备ID)安装驱动程序。例如,对于linux***,具体做法是先把每个PCI设备的驱动程序拷贝到/lib/modules/kernel-xxx目录下,然后重新生成modules.alias、initrd文件,对于windows***,根据每个PCI设备的配置,以“厂商ID、设备ID、版本信息、子***厂商ID、子***设备ID”以及驱动程序信息为参数,调用***编程接口函数UpdateDriverForPlugAndPlayDevices,逐一安装驱动。
步骤S40:根据所述配置信息对所述若干硬件设备进行配置,得到安装有若干驱动程序且配置好参数的操作***。
需要说明的是,本实施例的硬件设备配置程序可以根据迁移或还原的操作指令对设备进行配置,例如配置网卡的IP地址以及子网掩码等。在根据安装有若干驱动程序的操作***进行操作***的迁移或还原操作后,目标主机上运行的操作***就能正常使用这些设备,并且不需要重新配置。
应当理解的是,所述步骤S40之后,所述方法还包括:根据所述安装有若干驱动程序的操作***对所述目标主机进行操作***的迁移或还原操作。
可以理解的是,在安装完驱动程序之后,操作***、驱动程序以及即插即用服务会根据设备的类型生成一些默认的配置,保存在***中。例如,对于网卡设备,默认配置包括网卡名字、IP地址配置方式(手动配置、自动配置)以及对应的IP地址、网卡工作模式(是否聚合)……等,对于显卡设备,默认配置包括分辨率、刷新频率、渲染方式……等。对于linux***来说,这些配置一般保存在/etc目录下;而对于windows***,这些配置一般保存在注册表的“HKLM\SYSTEM\CurrentControlSet”路径下,这些默认配置在业务环境中一般都无法正常使用,需要重新配置。
需要说明的是,本实施例中,待若干硬件设备对应的若干驱动程序全部安装完毕之后,迁移代理程序读取管理员预先设定的配置信息,对设备进行配置。在完成所有配置工作之后,关闭操作***,将***迁移或者还原到目标主机上,操作***在目标主机上启动之后就能正常使用目标主机上的硬件设备,无需再重新配置,避免了用户再进机房时,需要接鼠标、键盘以及显示器等设备进行配置,减少了工作量,提升了工作效率。
本实施例通过获取目标主机与若干硬件设备连接时对应的总线地址信息以及配置信息;根据总线地址信息将若干硬件设备按相同总线地址映射到虚拟机中,并在虚拟机上启动待迁移或待还原操作***;在操作***中安装若干硬件设备对应的若干驱动程序;根据配置信息对若干硬件设备进行配置,得到安装有若干驱动程序且配置好参数的操作***。通过上述方式,将目标计算机的硬件设备映射到虚拟机中,并在该虚拟机上启动待迁移或待还原的操作***,进行驱动程序的安装以及硬件设备信息的配置,由于虚拟机连接的虚拟设备与目标主机连接的硬件设备的插槽位置以及配置信息相同,在该虚拟机上启动待迁移或待还原的操作***,并安装设备驱动程序和配置硬件设备,通过虚拟机中安装有若干驱动程序的操作***进行操作***的迁移或还原,使得迁移或还原后的操作***能直接正常使用目标主机上的硬件设备,解决了当前的操作***迁移、还原之后,硬件配置或者设备插槽位置不同,硬件设备无法正常使用的问题。
参考图4,图4为本发明硬件设备配置方法第二实施例的流程示意图。
基于上述第一实施例,本实施例硬件设备配置方法的所述步骤S10,包括:
步骤S101:与目标主机进行通信,以使所述目标主机扫描PCI总线,确定若干硬件设备与所述PCI总线连接时对应的连接状态信息,并获取若干硬件设备对应的硬件特征。
可以理解的是,在进行操作***的迁移或还原操作之前,与目标主机通信,以使目标主机通过“配置地址寄存器”(CONFIG_ADDRESS,即IO端口0xCF8)和“配置数据寄存器”(CONFIG_DATA,即IO端口0xCFC)扫描PCI总线上的所有设备,确定若干硬件设备与所述PCI总线连接时对应的连接状态信息,并获取每个设备的硬件特征。扫描过程中,如果设备不存在,那么配置数据寄存器的返回值会是0xffffffff,否则是其他的值。由于每个PCI总线体系中最多只能有256个子总线,每个总线上最多能连接32个设备,每个设备最多8个功能,在扫描前,设置一个三维的内存数组devstatus[256][32][8]来记录硬件设备与PCI总线连接的连接状态信息,每一个元素代表一个设备的扫描状态,假设为1代表设备存在,为0代表不存在。例如,在扫描的时候,0号总线的0号设备0号功能存在,那么devstatus[0][0][0]的值为1;255号总线的31号设备7号功能不存在,那么devstatus[255][31][7]为0。
需要说明的是,硬件设备对应的硬件特征包括PCI配置空间中的厂商ID(VendorID)、设备ID(Device ID)、设备类型(Class Code)、版本信息(Revision ID)、子***厂商ID(Subsystem Vendor ID)、子***设备ID(Subsystem Device ID)等,本实施例中将这些硬件特征信息称为辨识配置空间信息。除了上述硬件特征以外,还有些附加的特征,例如网卡设备的MAC地址、网卡的连接状态等,网卡的MAC地址为网卡的唯一标识。
步骤S102:获取所述目标主机反馈的所述连接状态信息以及所述硬件特征,根据所述连接状态信息确定若干硬件设备对应的总线地址信息。
进一步地,所述根据所述连接状态信息确定若干硬件设备对应的总线地址信息,包括:在目标硬件设备对应的连接状态信息为预设数值时,将所述目标硬件设备与所述PCI总线连接的总线号、设备号以及功能号作为所述目标硬件设备对应的总线地址信息。
可以理解的是,在本实施例中,预设数值为1,在确定目标硬件设备对应的连接状态信息为1时,确定目标硬件设备存在,记录该目标硬件设备与PCI总线连接的总线号、设备号以及功能号,例如,目标硬件设备对应的连接状态信息devstatus[0][0][0]的值为1,表征0号总线的0号设备0号功能存在,此时目标硬件设备对应的总线地址信息为总线号:设备号:功能号(0:0:0)。
步骤S103:将所述总线地址信息以及所述硬件特征发送给控制服务器,以使所述控制服务器对所述总线地址信息以及所述硬件特征进行展示,并基于展示界面接收各总线地址信息对应的配置信息。
需要说明的是,硬件设备配置设备在获取到目标主机扫描得到的连接状态信息以及硬件特征后,将连接状态信息以及硬件特征发送给控制服务器,控制服务器根据扫描结果,将所有存在的设备根据总线地址信息以及硬件特征展示出来。
可以理解的是,目标主机连接的硬件设备中有些设备是可配置的,例如网卡、声卡、显卡,有些是不可配置的,例如PCI-PCI桥、PCI-ISA桥。因此,控制服务器在对若干硬件设备进行展示后,对设备类型进行分析,识别设备类型和可配置属性,对于可配置设备,提供配置界面,管理员通过该配置界面可以设定迁移后***使用的配置信息,例如***迁移之后给某个网卡设定某个IP。不同类型的设备,配置界面不相同,例如,对于网卡设备配置界面显示有网卡名、IP地址、子网掩码、网关、聚合状态……等信息的填写栏,对于声卡设备配置界面可以指定声音大小,对于显卡设备可以指定分辨率等。用户通过这个统一的界面,可以很方便的对所有设备进行配置,这些配置会应用于迁移、还原后的操作***,避免了再进机房工作时,需要接鼠标、键盘以及显示器等设备进行配置,提升了用户体验,提高了工作效率。
步骤S104:获取所述控制服务器反馈的所述配置信息,并将所述配置信息存储至预设配置文件中。
需要说明的是,控制服务器的配置信息以“总线号:设备号:功能号”、“配置内容”形式保存到预设配置文件中。
进一步地,所述步骤S103,包括:将所述总线地址信息以及所述硬件特征发送给控制服务器,以使所述控制服务器将所述硬件特征转化为辨识描述信息,根据所述总线地址信息将若干硬件设备依据树形结构进行展示,并在展示界面上展示若干硬件设备对应的所述辨识描述信息,基于所述展示界面接收各总线地址信息对应的配置信息以及驱动程序信息。
需要说明的是,由于目标主机扫描得到的信息比较抽象,无法为管理员提供可以看懂的描述信息,因此控制服务器将目标主机扫描得到的硬件特征转换成人们容易辨识的辨识描述信息,例如,Windows设备管理器通过右键属性看到的详细信息:“设备描述”、“友好名称”、“显示名称”,linux***lspci命令看到的设备描述信息。将辨识配置空间信息进行转换得到辨识描述信息,管理员通过这些辨识描述信息可以很容易的知道设备的用途以及将各硬件设备区分开来,方便管理员辨识和配置。
可以理解的是,将辨识配置空间信息进行转换得到辨识描述信息的过程具体为:预先采集所有PCI设备的辨识描述信息,并根据辨识配置空间信息将对应的辨识描述信息保存到预设数据库中。在控制服务器获取到硬件特征(辨识配置空间信息)对若干硬件设备进行展示时,根据辨识配置空间信息查询数据库,获得对应的辨识描述信息,再在界面上展示(同时还展示设备的附加特征,例如网卡是否接了网线、网卡的MAC地址等等),方便管理员辨识。
如图5所示,图5为本发明硬件设备配置方法一实施例的硬件设备展示示意图,根据图5举例进行说明:0号总线上有4个设备,每个设备只有一个功能。其中1号设备0号功能的辨识配置空间信息是0x8086、0x34b0、0x060400、0x30、0x097b、0x1028,通过查询得知0x8086是intel公司的,0x34b0是控制器设备、0x060400是PCI-PCI桥设备,0x097b、0x1028此处可以忽略,所以在界面展示了“Intel PCI-PCI桥设备”,管理员通过这些文字知道该设备是一个桥设备。对于其他的PCI设备,通过相同方法生成辨识描述信息。通过辨识描述信息,可知总线8设备3功能0、总线8设备4功能0、总线8设备4功能1是网卡设备;总线1设备0功能1是声卡设备;总线0设备1功能0、总线1设备1功能0是显卡设备。根据这些信息,管理员知道任一硬件设备是否需要配置。如果存在多个相同类型设备(总线8设备4功能0、总线8设备4功能1,他们都是intel网卡),则可以结合附加特征信息(如mac地址、是否已连接网线)来辨识,如果某张网卡没有接网线,表征状态为未使用状态,不需要配置。
需要说明的是,每个硬件设备都有对应的设备驱动程序,同一个硬件设备也存在不同版本、不同厂商提供的驱动程序,本实施例中管理员可以通过展示界面为每一个硬件设备指定待安装的驱动程序。本实施例提供一种具体实现方式:预先采集所有硬件设备的驱动程序(可以从已发布的***中提取、从厂商的官网下载,并用源代码编译),然后根据驱动程序对应的厂商ID、设备ID、版本信息、子***厂商ID、子***设备ID(操作***是根据这些信息适配硬件驱动的)保存到数据库中,在控制服务器展示硬件设备的时候,为每一个设备查询可供候选安装的驱动程序,并展示在界面中,管理员通过界面为每个设备选择待安装的驱动程序。控制服务器基于展示界面接收管理员选择的驱动程序信息。
进一步地,所述步骤S103之后,所述方法还包括:获取所述控制服务器反馈的所述配置信息以及所述驱动程序信息,并将所述配置信息以及所述驱动程序信息存储至预设配置文件中;
所述步骤S30,包括:根据若干硬件设备对应的总线地址信息在所述预设配置文件中匹配对应的若干驱动程序信息;根据所述若干驱动程序信息在预设驱动库目录下查找对应的若干驱动程序;在所述虚拟机运行的操作***中安装所述若干驱动程序。
需要说明的是,控制服务器反馈的驱动程序信息以“总线号:设备号:功能号”、“厂商ID、设备ID、版本信息、子***厂商ID、子***设备ID”、“驱动程序名”对应的方式保存到预设配置文件中。
可以理解的是,在操作***启动之后,通过迁移代理程序读取配置阶段存储的预设配置文件(其中包含驱动程序信息),读取配置阶段选取的驱动程序信息,根据管理员预设配置(“总线号、设备号、功能号”、“驱动程序名”)以及硬件特征(厂商ID、设备ID、版本信息、子***厂商ID、子***设备ID)安装驱动程序。例如,对于linux***,具体做法是先把每个PCI设备的驱动程序拷贝到/lib/modules/kernel-xxx目录下,然后重新生成modules.alias、initrd文件,对于windows***,根据每个PCI设备的配置,以“厂商ID、设备ID、版本信息、子***厂商ID、子***设备ID”以及驱动程序信息为参数,调用***编程接口函数UpdateDriverForPlugAndPlayDevices,逐一安装驱动。
进一步地,所述步骤S40,包括:根据若干硬件设备对应的总线地址信息在所述预设配置文件中匹配对应的若干配置信息;在所述虚拟机运行的操作***中通过所述若干配置信息对所述若干硬件设备进行配置,得到安装有若干驱动程序且配置好参数的操作***。
需要说明的是,通过迁移代理程序读取管理员预先存储在预设配置文件中的配置信息,根据配置信息对硬件设备进行配置。具体过程可以为通过代理程序枚举***上所有的硬件设备,获取所有硬件设备的“总线号、设备号、功能号”,根据“总线号、设备号、功能号”在预设配置文件中获取对应的配置内容,根据读取到的配置内容对设备进行配置(如果获取不到,则不需要配置)。
应当理解的是,以linux***centos7.2的网卡配置为例,所有的网卡设备名保存在/sys/class/net目录下,通过迁移代理程序枚举该目录时,得到/sys/class/net/em2文件,根据文件名确定网卡设备名为em2,同时该文件也是一个链接,指向了“/sys/devices/pci0000:00/0000:00:1d.0/0000:03:00.1/net/em2”文件,其中文件路径中“net”的前面部分“03:00.1”,就是该网卡设备的“总线号、设备号、功能号”,在预设配置文件读取3号总线0号设备1号功能对应的配置内容,根据读取到的配置内容进行配置。通常情况下,em2的配置内容保存在/etc/sysconfig/network-scripts目录下,文件名是ifcfg-em2,里面保存了网卡IP地址、子网掩码……等,通过对该文件的修改可以实现网卡信息的配置。网卡的设备命名规则都保存在/etc/udev/rules.d下的配置文件中(如70-persistent-net.rules),在检测到“总线号、设备号、功能号”为“03:00.1”的网卡设备的时候,将网卡名字设定为管理员配置的名字。
以windows***网卡设备配置为例进行说明,通过IpHelper系列编程接口枚举***中所有的网卡设备名,然后通过SetupAPI系列编程接口获取网卡设备的“总线号、设备号、功能号”,通过“总线号、设备号、功能号”从预设配置文件中获取管理员预先设定的配置内容,根据配置内容通过IpHelper系列编程接口对网卡设备进行配置(这些编程接口最终会操作注册表“HKLM\SYSTEM\CurrentControlSet”路径下的配置)。此外,也可以调用注册表的编程接口,直接修改注册表“HKLM\SYSTEM\CurrentControlSet”路径下的配置。本实施例对此不加以限制。
本实施例与目标主机进行通信,以使目标主机扫描PCI总线,确定若干硬件设备与PCI总线连接时对应的连接状态信息,并获取若干硬件设备对应的硬件特征;获取目标主机反馈的连接状态信息以及硬件特征,根据连接状态信息确定若干硬件设备对应的总线地址信息;将总线地址信息以及硬件特征发送给控制服务器,以使控制服务器对总线地址信息以及硬件特征进行展示,并基于展示界面接收各总线地址信息对应的配置信息;获取控制服务器反馈的配置信息,并将配置信息存储至预设配置文件中;根据总线地址信息将若干硬件设备按相同总线地址映射到虚拟机中,并在虚拟机上启动待迁移或待还原操作***;在操作***中安装若干硬件设备对应的若干驱动程序;根据配置信息对若干硬件设备进行配置,得到安装有若干驱动程序且配置好参数的操作***。通过上述方式,获取硬件设备的总线地址信息和硬件特征,通过控制服务器对硬件设备进行展示,以通过展示界面接收配置信息,将目标计算机的硬件设备映射到虚拟机中,并在该虚拟机上启动待迁移或待还原的操作***,进行驱动程序的安装,根据配置信息对硬件设备进行配置,由于虚拟机连接的虚拟设备与目标主机连接的硬件设备的插槽位置以及配置信息相同,在该虚拟机上启动待迁移或待还原的操作***,并安装设备驱动程序和配置硬件设备,通过虚拟机中安装有若干驱动程序的操作***进行操作***的迁移或还原,使得迁移或还原后的操作***能直接正常使用目标主机上的硬件设备,解决了当前的操作***迁移、还原之后,硬件配置或者设备插槽位置不同,硬件设备无法正常使用的问题。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有硬件设备配置程序,所述硬件设备配置程序被处理器执行时实现如上文所述的硬件设备配置方法的步骤。
参照图6,图6为本发明硬件设备配置装置第一实施例的结构框图。
如图6所示,本发明实施例提出的硬件设备配置装置包括:
获取模块10,用于获取目标主机与若干硬件设备连接时对应的总线地址信息以及配置信息。
映射模块20,用于根据所述总线地址信息将所述若干硬件设备按相同总线地址映射到虚拟机中,并在所述虚拟机上启动待迁移或待还原操作***。
安装模块30,用于在所述操作***中安装所述若干硬件设备对应的若干驱动程序。
配置模块40,用于根据所述配置信息对所述若干硬件设备进行配置,得到安装有若干驱动程序且配置好参数的操作***。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
本实施例通过获取目标主机与若干硬件设备连接时对应的总线地址信息以及配置信息;根据总线地址信息将若干硬件设备按相同总线地址映射到虚拟机中,并在虚拟机上启动待迁移或待还原操作***;在操作***中安装若干硬件设备对应的若干驱动程序;根据配置信息对若干硬件设备进行配置,得到安装有若干驱动程序且配置好参数的操作***。通过上述方式,将目标计算机的硬件设备映射到虚拟机中,并在该虚拟机上启动待迁移或待还原的操作***,进行驱动程序的安装以及硬件设备信息的配置,由于虚拟机连接的虚拟设备与目标主机连接的硬件设备的插槽位置以及配置信息相同,在该虚拟机上启动待迁移或待还原的操作***,并安装设备驱动程序和配置硬件设备,通过虚拟机中安装有若干驱动程序的操作***进行操作***的迁移或还原,使得迁移或还原后的操作***能直接正常使用目标主机上的硬件设备,解决了当前的操作***迁移、还原之后,硬件配置或者设备插槽位置不同,硬件设备无法正常使用的问题。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的硬件设备配置方法,此处不再赘述。
在一实施例中,所述获取模块10,还用于与目标主机进行通信,以使所述目标主机扫描PCI总线,确定若干硬件设备与所述PCI总线连接时对应的连接状态信息,并获取若干硬件设备对应的硬件特征,获取所述目标主机反馈的所述连接状态信息以及所述硬件特征,根据所述连接状态信息确定若干硬件设备对应的总线地址信息,将所述总线地址信息以及所述硬件特征发送给控制服务器,以使所述控制服务器对所述总线地址信息以及所述硬件特征进行展示,并基于展示界面接收各总线地址信息对应的配置信息,获取所述控制服务器反馈的所述配置信息,并将所述配置信息存储至预设配置文件中。
在一实施例中,所述获取模块10,还用于在目标硬件设备对应的连接状态信息为预设数值时,将所述目标硬件设备与所述PCI总线连接的总线号、设备号以及功能号作为所述目标硬件设备对应的总线地址信息。
在一实施例中,所述配置模块40,还用于根据若干硬件设备对应的总线地址信息在所述预设配置文件中匹配对应的若干配置信息,在所述虚拟机运行的操作***中通过所述若干配置信息对所述若干硬件设备进行配置,得到安装有若干驱动程序且配置好参数的操作***。
在一实施例中,所述获取模块10,还用于将所述总线地址信息以及所述硬件特征发送给控制服务器,以使所述控制服务器将所述硬件特征转化为辨识描述信息,根据所述总线地址信息将若干硬件设备依据树形结构进行展示,并在展示界面上展示若干硬件设备对应的所述辨识描述信息,基于所述展示界面接收各总线地址信息对应的配置信息以及驱动程序信息。
在一实施例中,所述获取模块10,还用于获取所述控制服务器反馈的所述配置信息以及所述驱动程序信息,并将所述配置信息以及所述驱动程序信息存储至预设配置文件中;
在一实施例中,所述安装模块30,还用于根据若干硬件设备对应的总线地址信息在所述预设配置文件中匹配对应的若干驱动程序信息,根据所述若干驱动程序信息在预设驱动库目录下查找对应的若干驱动程序,在所述虚拟机运行的操作***中安装所述若干驱动程序。
在一实施例中,所述映射模块20,还用于查找所述虚拟机上虚拟空闲插槽对应的目标接口编号,根据所述目标接口编号创建虚拟桥通道,在所述虚拟桥通道上挂接虚拟硬盘以及其他虚拟机运行所需的虚拟硬件设备,所述虚拟硬盘中存储待迁移或待还原操作***数据,根据所述虚拟硬盘中存储的操作***数据启动待迁移或待还原操作***。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种硬件设备配置方法,其特征在于,所述硬件设备配置方法包括:
获取目标主机与若干硬件设备连接时对应的总线地址信息以及配置信息;
根据所述总线地址信息将所述若干硬件设备按相同总线地址映射到虚拟机中,并在所述虚拟机上启动待迁移或待还原操作***;
在所述操作***中安装所述若干硬件设备对应的若干驱动程序;
根据所述配置信息对所述若干硬件设备进行配置,得到安装有若干驱动程序且配置好参数的操作***。
2.如权利要求1所述的硬件设备配置方法,其特征在于,所述获取目标主机与若干硬件设备连接时对应的总线地址信息以及配置信息,包括:
与目标主机进行通信,以使所述目标主机扫描PCI总线,确定若干硬件设备与所述PCI总线连接时对应的连接状态信息,并获取若干硬件设备对应的硬件特征;
获取所述目标主机反馈的所述连接状态信息以及所述硬件特征,根据所述连接状态信息确定若干硬件设备对应的总线地址信息;
将所述总线地址信息以及所述硬件特征发送给控制服务器,以使所述控制服务器对所述总线地址信息以及所述硬件特征进行展示,并基于展示界面接收各总线地址信息对应的配置信息;
获取所述控制服务器反馈的所述配置信息,并将所述配置信息存储至预设配置文件中。
3.如权利要求2所述的硬件设备配置方法,其特征在于,所述根据所述连接状态信息确定若干硬件设备对应的总线地址信息,包括:
在目标硬件设备对应的连接状态信息为预设数值时,将所述目标硬件设备与所述PCI总线连接的总线号、设备号以及功能号作为所述目标硬件设备对应的总线地址信息。
4.如权利要求2所述的硬件设备配置方法,其特征在于,所述根据所述配置信息对所述若干硬件设备进行配置,得到安装有若干驱动程序且配置好参数的操作***,包括:
根据若干硬件设备对应的总线地址信息在所述预设配置文件中匹配对应的若干配置信息;
在所述虚拟机运行的操作***中通过所述若干配置信息对所述若干硬件设备进行配置,得到安装有若干驱动程序且配置好参数的操作***。
5.如权利要求2所述的硬件设备配置方法,其特征在于,所述将所述总线地址信息以及所述硬件特征发送给控制服务器,以使所述控制服务器对所述总线地址信息以及所述硬件特征进行展示,并基于展示界面接收各总线地址信息对应的配置信息,包括:
将所述总线地址信息以及所述硬件特征发送给控制服务器,以使所述控制服务器将所述硬件特征转化为辨识描述信息,根据所述总线地址信息将若干硬件设备依据树形结构进行展示,并在展示界面上展示若干硬件设备对应的所述辨识描述信息,基于所述展示界面接收各总线地址信息对应的配置信息以及驱动程序信息。
6.如权利要求5所述的硬件设备配置方法,其特征在于,所述将所述总线地址信息以及所述硬件特征发送给控制服务器之后,所述方法还包括:
获取所述控制服务器反馈的所述配置信息以及所述驱动程序信息,并将所述配置信息以及所述驱动程序信息存储至预设配置文件中;
所述在所述操作***中安装所述若干硬件设备对应的若干驱动程序,包括:
根据若干硬件设备对应的总线地址信息在所述预设配置文件中匹配对应的若干驱动程序信息;
根据所述若干驱动程序信息在预设驱动库目录下查找对应的若干驱动程序;
在所述虚拟机运行的操作***中安装所述若干驱动程序。
7.如权利要求1-6中任一项所述的硬件设备配置方法,其特征在于,所述在所述虚拟机上启动待迁移或待还原操作***之前,还包括:
查找所述虚拟机上虚拟空闲插槽对应的目标接口编号,根据所述目标接口编号创建虚拟桥通道;
在所述虚拟桥通道上挂接虚拟硬盘以及其他虚拟机运行所需的虚拟硬件设备,所述虚拟硬盘中存储待迁移或待还原操作***数据;
所述在所述虚拟机上启动待迁移或待还原操作***,包括:
根据所述虚拟硬盘中存储的操作***数据启动待迁移或待还原操作***。
8.一种硬件设备配置装置,其特征在于,所述硬件设备配置装置包括:
获取模块,用于获取目标主机与若干硬件设备连接时对应的总线地址信息以及配置信息;
映射模块,用于根据所述总线地址信息将所述若干硬件设备按相同总线地址映射到虚拟机中,并在所述虚拟机上启动待迁移或待还原操作***;
安装模块,用于在所述操作***中安装所述若干硬件设备对应的若干驱动程序;
配置模块,用于根据所述配置信息对所述若干硬件设备进行配置,得到安装有若干驱动程序且配置好参数的操作***。
9.一种硬件设备配置设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的硬件设备配置程序,所述硬件设备配置程序配置为实现如权利要求1至7中任一项所述的硬件设备配置方法。
10.一种存储介质,其特征在于,所述存储介质上存储有硬件设备配置程序,所述硬件设备配置程序被处理器执行时实现如权利要求1至7中任一项所述的硬件设备配置方法。
CN202110742605.8A 2021-06-30 2021-06-30 硬件设备配置方法、装置、设备及存储介质 Pending CN113485756A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110742605.8A CN113485756A (zh) 2021-06-30 2021-06-30 硬件设备配置方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110742605.8A CN113485756A (zh) 2021-06-30 2021-06-30 硬件设备配置方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113485756A true CN113485756A (zh) 2021-10-08

Family

ID=77937339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110742605.8A Pending CN113485756A (zh) 2021-06-30 2021-06-30 硬件设备配置方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113485756A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115484227A (zh) * 2022-08-31 2022-12-16 湖南锐思华创科技有限公司 一种hud自动适配方法、***、装置及车辆
CN115904520A (zh) * 2023-03-13 2023-04-04 珠海星云智联科技有限公司 基于pcie拓扑状态变更的配置保存方法及相关设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103516802A (zh) * 2013-09-30 2014-01-15 中国科学院计算技术研究所 一种实现跨异构虚拟交换机无缝迁移的方法和装置
CN103843302A (zh) * 2011-10-04 2014-06-04 国际商业机器公司 有状态环境中的网络适配器硬件状态迁移发现
CN103942087A (zh) * 2014-03-31 2014-07-23 华为技术有限公司 虚拟机热迁移方法及相关装置和集群***
CN106803794A (zh) * 2017-01-22 2017-06-06 郑州云海信息技术有限公司 一种用于主机的kvm虚拟机网卡直通方法及其装置
CN107992381A (zh) * 2017-12-11 2018-05-04 深圳市科力锐科技有限公司 ***还原方法、装置、***、备份还原服务器及存储介质
CN109144672A (zh) * 2018-09-07 2019-01-04 郑州云海信息技术有限公司 一种分配PCIe设备的方法、***及相关组件
CN112148421A (zh) * 2019-06-29 2020-12-29 华为技术有限公司 虚拟机迁移的方法以及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103843302A (zh) * 2011-10-04 2014-06-04 国际商业机器公司 有状态环境中的网络适配器硬件状态迁移发现
CN103516802A (zh) * 2013-09-30 2014-01-15 中国科学院计算技术研究所 一种实现跨异构虚拟交换机无缝迁移的方法和装置
CN103942087A (zh) * 2014-03-31 2014-07-23 华为技术有限公司 虚拟机热迁移方法及相关装置和集群***
CN106803794A (zh) * 2017-01-22 2017-06-06 郑州云海信息技术有限公司 一种用于主机的kvm虚拟机网卡直通方法及其装置
CN107992381A (zh) * 2017-12-11 2018-05-04 深圳市科力锐科技有限公司 ***还原方法、装置、***、备份还原服务器及存储介质
CN109144672A (zh) * 2018-09-07 2019-01-04 郑州云海信息技术有限公司 一种分配PCIe设备的方法、***及相关组件
CN112148421A (zh) * 2019-06-29 2020-12-29 华为技术有限公司 虚拟机迁移的方法以及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
孙世昶;李忠明;: "XEN虚拟机***直接I/O访问机制的研究与实现", 大连民族学院学报, no. 03, 15 May 2007 (2007-05-15), pages 30 - 32 *
王展;曹政;刘小丽;苏勇;***;安学军;孙凝晖;: "基于单根I/O虚拟化的多根I/O资源池化方法", 计算机研究与发展, vol. 52, no. 01, 15 January 2015 (2015-01-15), pages 83 - 91 *
马昌伟: "lspci命令详解", pages 1 - 11, Retrieved from the Internet <URL:https://www.cnblogs.com/machangwei-8/p/10403495.html> *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115484227A (zh) * 2022-08-31 2022-12-16 湖南锐思华创科技有限公司 一种hud自动适配方法、***、装置及车辆
CN115484227B (zh) * 2022-08-31 2024-03-08 湖南锐思华创科技有限公司 一种hud自动适配方法、***、装置及车辆
CN115904520A (zh) * 2023-03-13 2023-04-04 珠海星云智联科技有限公司 基于pcie拓扑状态变更的配置保存方法及相关设备

Similar Documents

Publication Publication Date Title
US7743242B2 (en) Method and system for automatic generation of operating system boot images
US20020108002A1 (en) Method for automatically configuring network interface card and capable of randomizing a media access controller address of the network interface card
US6804774B1 (en) Software image transition aid comprising building a disk image based on identified hardware
US7971047B1 (en) Operating system environment and installation
US5748980A (en) System for configuring a computer system
US7421620B2 (en) Configuration proxy service for the extended firmware interface environment
US20040003135A1 (en) Technique for driver installation
US9052940B2 (en) System for customized virtual machine for a target hypervisor by copying image file from a library, and increase file and partition size prior to booting
CN113835644B (zh) 整机迁移方法、装置、设备及存储介质
CZ293315B6 (cs) Počítačový systém s automatickou změnou konfigurace a způsob jeho konfigurace
CN113485756A (zh) 硬件设备配置方法、装置、设备及存储介质
CN113326105B (zh) 基于主机迁移的硬件设备配置方法、装置及设备
CN110618822B (zh) 无盘工作站启动阶段预安装网卡驱动的方法
CN108363608B (zh) 一种虚拟机配置方法及其***
US20060129788A1 (en) System and method for initially configuring and booting a device using a device identifier
JP2000222179A (ja) コンピュ―タシステムおよびコンピュ―タシステムを動作させる方法
CN106325859B (zh) 安装驱动的方法和服务器
JPH06332716A (ja) リモートブートシステム
CN113111025B (zh) Pci设备映射方法、装置、设备及存储介质
JP2006011506A (ja) 起動イメージ提供システム及び方法、ブートノード装置、ブートサーバ装置並びにプログラム
CN114816491A (zh) 用于多***移动终端的***升级方法、装置及终端
US8549545B2 (en) Abstraction of computer disk image cloning capabilities from bootable media
US7284120B2 (en) Method and system for allowing a system under test (SUT) to boot a plurality of operating systems without a need for local media
CN109445803A (zh) 一种自动化快速部署安装k-ux操作***的方法
JP2002366501A (ja) 周辺デバイス、コンピュータシステム、及びインストーラプログラム

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