一种基于池化实现NVMe设备配置的方法及系统与流程

专利2022-06-30  76


本发明属于nvme设备管理技术领域,具体涉及一种基于池化实现nvme设备配置的方法及系统。



背景技术:

随着计算机存储技术的不断发展,nvmessd(non-volatilememoryexpresssolidstatedrive,非易失性内存主机控制器接口固态驱动器)正在越来越多的部署在服务器中,应用于大数据集的分析管理以及关键业务数据的快速分析等业务。

nvme是通过pciexpress总线将存储连接到服务器的接口规范,简单来说就是,使ssd与主机系统通信的速度更快。nvmessd可以看作pciessd的一种特殊形式/它有助于缓解闪存通过最初为硬盘设计的sas或sata连接到系统时出现的瓶颈。相比于其他存储控制器,如hdd/satassd/pciessd,nvmessd其具有延迟低、性能高、功耗管理灵活以及比传统pciessd兼容性强大等优势。凭借这些显著有点,nvmessd作为pciessd设备中应用最多的一种设备,将成为未来关键数据处理的主要部件。

nvmessd的应用覆盖度越来越高,intel在purley平台上针对性的开发了intelvmd(volumemanagementdevice),该设备整合于cpu中,通过pcie端口对nvmessd工作进行支持,例如支持pciessd的热拔插操作、相关存储管理功能以及容错功能的实现。

目前针对不同的nvme设备,手动查找技术规格书,按照规格书和实际应用情况、定制化需求手动进入biossetup,在setup中一一寻找对应选项,并对其进行修改。但是针对nvme这个部件来说,nvme的生产厂商、型号不同,vmd的设置、实际布局都可能不同。在服务器上,每次使用nvme均需要查看技术规格书、甚至开发针对该nvme的bios等固件,非常麻烦,且耗费精力与财力;而且服务器产品不同,bios开发时各个设置项的位置及是否隐藏都存在可能,且同样的功能也可能基于定制化需求在setup页面中显示为不同的选项,因此,手动修改容易出错,且可能找不到对应选项;再次应用中,不同的pcie端口不仅会接入nvmessd,而且还会接入其他诸如网卡/显卡等其他设备,而intelvmd功能的仅针对于pciessd(含nvmessd)设备有效,而在接入其他设备的pcie端口上是不应开启intelvmd功能的,但为了满足服务器pcie设备的多样性,每个pcie端口都存在intelvmd功能开启的可能,因此在实际应用中就可能出现接入其他设备(如网卡)时pcie端口intelvmd功能打开,而导致该网卡功能受影响的情况。

此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于池化实现nvme设备配置的方法及系统,是非常有必要的。



技术实现要素:

针对现有技术的上述不同nvme设备参数复杂,在bios中通过手动方式修改设置费时费力,且容易出错的缺陷,本发明提供一种基于池化实现nvme设备配置的方法及系统,以解决上述技术问题。

第一方面,本发明提供一种基于池化实现nvme设备配置的方法,包括如下步骤:

s1.建立nvme设备资料池;按照需求对nvme设备进行分类,为不同类别的nvme设备建立不同bios设置方式;

s2.服务器配置测试脚本;服务器上电开机,测试脚本通过读取bios信息获取pcie设备信息,再从pcie设备信息中识别出nvme设备;

s3.测试脚本从nvme设备资料池获取对应bios设置方式并导入bios,对nvme设备开启intelvmd功能,而非nvme设备关闭intelvmd功能;

s4.测试脚本验证bios中pcie设备的intelvmd功能是否设置成功。

进一步地,步骤s1中,按照项目名称、产品名称或者客户名称的不同需求对nvme设备进行分类,bios设置方式采用bios底层代码。bios设置方式采用bios底层代码避免bios前台可能将相同设置项设为不同的选项名。

进一步地,步骤s2具体步骤如下:

s21.服务器上电开机;

s22.测试脚本通过读取bios信息获取pcie设备信息;

s23.测试脚本从pcie设备信息中识别出pcie存储设备;

s24.测试脚本从pcie存储设备中识别出nvme设备。从pcie设备信息中识别出pcie存储设备,从而避免非存储类的pcie设备,如pcie网卡和显卡;从pcie存储设备中识别出nvme设备,从而避免非nvme的存储设备,如raid卡和moc卡。

进一步地,步骤s22中,测试脚本通过bios扫描服务器的所有硬件设备,并自动向所有pcie硬件设备分配pcie地址;

步骤s23中,测试脚本将直连在主板存储接口下的pcie存储设备单独析出;

步骤s24中,测试脚本获取pcie存储设备的详细信息,并根据详细信息分离出nvme设备。nvme设备中有一个固定的数据块,此固定数据块不能读写数据,用于专门记录该nvme设备的信息,如生产厂商、设备型号moudle、存储容量以及固件版本,当从bios的各个设备分离出需要设置的nvme设备后,从此固定数据块中即可获取到这些信息,可用记录的pcie地址对这些nvme设备进行定位和区分。

进一步地,步骤s2中,还记录首次服务器上电开机的pcie设备信息;

步骤s4具体步骤如下:

s41.更新nvme设备资料池,服务器再次上电开机,测试脚本再次获取pcie设备信息及nvme设备信息;

s42.测试脚本比对再次获取的pcie设备信息与首次开机记录的pcie设备信息是否相同;

若是,进入步骤s43;

s43.测试脚本从更新的nvme设备资料池中获取对应bios设置方式,并与bios实际设置进行比对;

若完全一致,则验证通过;

若比对不一致,则重新导入bios设置方式,并触发告警。再次获取的pcie设备信息与首次开机记录的pcie设备信息相同时,同样的pcie设备对应的bios设置方式应该是相同的,即使从更新的nvme设备资料池获取bios设置方式,也应该是一致的,若不一致,即说明首次对pcie设备的bios设置方式是错误的。

进一步地,步骤s42中,若再次获取的pcie设备信息与首次开机记录的pcie设备信息不同,则判断是否使用新的nvme设备;

若是,则从更新的nvme设备资料池中获取新的nvme设备名称及其对应的bios设置方式并导入bios;

若否,则判断是否存在掉盘及设备运行故障,对服务器进行设备维护。使用新的nvme设备即出现了换盘现象;若没有换盘,且出现pcie设备信息的改变,应该判断是否出现了掉盘。

第二方面,本发明提供一种基于池化实现nvme设备配置的系统,包括:

nvme设备资料池建立模块,用于建立nvme设备资料池;按照需求对nvme设备进行分类,为不同类别的nvme设备建立不同bios设置方式;

nvme设备识别模块,用于在服务器配置测试脚本;服务器上电开机后,配置测试脚本通过读取bios信息获取pcie设备信息,再从pcie设备信息中识别出nvme设备;

bios设置导入模块,用于配置测试脚本从nvme设备资料池获取对应bios设置方式并导入bios,对nvme设备开启intelvmd功能,而非nvme设备关闭intelvmd功能;

bios设置验证模块,用于配置测试脚本验证bios中pcie设备的intelvmd功能是否设置成功。

进一步地,nvme设备识别模块包括:

上电开机单元,用于对服务器上电开机;

pcie设备信息获取单元,用于配置测试脚本通过读取bios信息获取pcie设备信息;

pcie存储设备识别单元,用于配置测试脚本从pcie设备信息中识别出pcie存储设备;

nvme设备识别单元,用于配置测试脚本从pcie存储设备中识别出nvme设备。

进一步地,bios设置验证模块包括:

pcie设备信息再次获取单元,用于更新nvme设备资料池,服务器再次上电开机后,再次获取pcie设备信息及nvme设备信息;

pcie设备比对单元,用于配置测试脚本比对再次获取的pcie设备信息与首次开机记录的pcie设备信息是否相同;

bios设置方式比对单元,用于当再次获取的pcie设备信息与首次开机记录的pcie设备信息不同时,配置测试脚本从更新的nvme设备资料池中获取对应bios设置方式,并与bios实际设置进行比对,并在不对一致时,通过验证,以及在比对不一致时,重新导入bios设置方式,触发告警。

进一步地,bios设置验证模块还包括:

新nvme设备判定单元,用于当再次获取的pcie设备信息与首次开机记录的pcie设备信息不同时,判断是否使用新的nvme设备;并在使用新的nvme设备时,从更新的nvme设备资料池中获取新的nvme设备名称及其对应的bios设置方式并导入bios以及在没有使用新的nvme设备时,判断是否存在掉盘及设备运行故障,对服务器进行设备维护。

本发明的有益效果在于,

本发明提供的基于池化实现nvme设备配置的方法及系统,通过区别pcie端口接入的设备(pciessd/非pciessd),通过测试脚本自动进行bios开启或关闭intelvmd功能,从而实现对nvmessd设备的自动快速部署,减少手动操作的耗费时间,节省人力操作,提高了设置的准确性及部署效率,也可以避免人工操作带来的不确定性失误导致的功能异常,确保服务器设备能够稳定运行。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的方法流程示意图一;

图2是本发明的方法流程示意图二;

图3为本发明的系统示意图;

图中,1-nvme设备资料池建立模块;2-nvme设备识别模块;2.1-上电开机单元;2.2-pcie设备信息获取单元;2.3-pcie存储设备识别单元;2.4-nvme设备识别单元;3-bios设置导入模块;4-bios设置验证模块;4.1-pcie设备信息再次获取单元;4.2-pcie设备比对单元;4.3-bios设置方式比对单元;4.4-新nvme设备判定单元。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

实施例1:

如图1所示,本发明提供一种基于池化实现nvme设备配置的方法,包括如下步骤:

s1.建立nvme设备资料池;按照需求对nvme设备进行分类,为不同类别的nvme设备建立不同bios设置方式;按照项目名称、产品名称或者客户名称的不同需求对nvme设备进行分类,bios设置方式采用bios底层代码;

s2.服务器配置测试脚本;服务器上电开机,测试脚本通过读取bios信息获取pcie设备信息,再从pcie设备信息中识别出nvme设备;

s3.测试脚本从nvme设备资料池获取对应bios设置方式并导入bios,对nvme设备开启intelvmd功能,而非nvme设备关闭intelvmd功能;

s4.测试脚本验证bios中pcie设备的intelvmd功能是否设置成功。

实施例2:

如图2所示,本发明提供一种基于池化实现nvme设备配置的方法,包括如下步骤:

s1.建立nvme设备资料池;按照需求对nvme设备进行分类,为不同类别的nvme设备建立不同bios设置方式;按照项目名称、产品名称或者客户名称的不同需求对nvme设备进行分类,bios设置方式采用bios底层代码;对于每款需要加入bom使用的nvme设备,都首先录入nvme设备资料池,并在nvme设备资料池内按照不同的需求建立其对应的bios设置方式;bios设置方式采用bios底层代码避免bios前台可能将相同设置项设为不同的选项名;

s2.服务器配置测试脚本;服务器上电开机,测试脚本通过读取bios信息获取pcie设备信息,再从pcie设备信息中识别出nvme设备,并记录首次服务器上电开机的pcie设备信息;具体步骤如下:

s21.服务器上电开机;

s22.测试脚本通过读取bios信息获取pcie设备信息;测试脚本通过bios扫描服务器的所有硬件设备,并自动向所有pcie硬件设备分配pcie地址;

s23.测试脚本从pcie设备信息中识别出pcie存储设备;测试脚本将直连在主板存储接口下的pcie存储设备单独析出;

s24.测试脚本从pcie存储设备中识别出nvme设备;测试脚本获取pcie存储设备的详细信息,并根据详细信息分离出nvme设备;从pcie设备信息中识别出pcie存储设备,从而避免非存储类的pcie设备,如pcie网卡和显卡;从pcie存储设备中识别出nvme设备,从而避免非nvme的存储设备,如raid卡和moc卡;nvme设备中有一个固定的数据块,此固定数据块不能读写数据,用于专门记录该nvme设备的信息,如生产厂商、设备型号moudle、存储容量以及固件版本,当从bios的各个设备分离出需要设置的nvme设备后,从此固定数据块中即可获取到这些信息,可用记录的pcie地址对这些nvme设备进行定位和区分;

s3.测试脚本从nvme设备资料池获取对应bios设置方式并导入bios,对nvme设备开启intelvmd功能,而对非nvme的pcie设备关闭intelvmd功能;首先从步骤s2中获取nvme设备,再从nvme设备资料池找到该nvme设备的bios设置方式对应的bios底层代码,从nvme设备资料池导出,利用pcie地址作区分,导入bios内,实现对应intelvmd功能的开启,其他的pcie设备则进行intelvmd功能的关闭;

s4.测试脚本验证bios中pcie设备的intelvmd功能是否设置成功;具体步骤如下:

s41.更新nvme设备资料池,服务器再次上电开机,测试脚本再次获取pcie设备信息及nvme设备信息;

s42.测试脚本比对再次获取的pcie设备信息与首次开机记录的pcie设备信息是否相同;

若是,进入步骤s43;

若否,进入步骤s44;

s43.测试脚本从更新的nvme设备资料池中获取对应bios设置方式,并与bios实际设置进行比对;

若完全一致,则验证通过;

若比对不一致,则重新导入bios设置方式,并触发告警;结束;

s44.判断是否使用新的nvme设备;

若是,则从更新的nvme设备资料池中获取新的nvme设备名称及其对应的bios设置方式并导入bios;

若否,则判断是否存在掉盘及设备运行故障,对服务器进行设备维护。

上述实施例2中,再次获取的pcie设备信息与首次开机记录的pcie设备信息相同时,同样的pcie设备对应的bios设置方式应该是相同的,即使从更新的nvme设备资料池获取bios设置方式,也应该是一致的,若不一致,即说明首次对pcie设备的bios设置方式是错误的;

使用新的nvme设备即出现了换盘现象;若没有换盘,且出现pcie设备信息的改变,应该判断是否出现了掉盘。

实施例3:

如图3所示,本发明提供一种基于池化实现nvme设备配置的系统,包括:

nvme设备资料池建立模块1,用于建立nvme设备资料池;按照需求对nvme设备进行分类,为不同类别的nvme设备建立不同bios设置方式;

nvme设备识别模块2,用于在服务器配置测试脚本;服务器上电开机后,配置测试脚本通过读取bios信息获取pcie设备信息,再从pcie设备信息中识别出nvme设备;nvme设备识别模块2包括:

上电开机单元2.1,用于对服务器上电开机;

pcie设备信息获取单元2.2,用于配置测试脚本通过读取bios信息获取pcie设备信息;

pcie存储设备识别单元2.3,用于配置测试脚本从pcie设备信息中识别出pcie存储设备;

nvme设备识别单元2.4,用于配置测试脚本从pcie存储设备中识别出nvme设备;

bios设置导入模块3,用于配置测试脚本从nvme设备资料池获取对应bios设置方式并导入bios,对nvme设备开启intelvmd功能,而非nvme设备关闭intelvmd功能;

bios设置验证模块4,用于配置测试脚本验证bios中pcie设备的intelvmd功能是否设置成功;bios设置验证模块4包括:

pcie设备信息再次获取单元4.1,用于更新nvme设备资料池,服务器再次上电开机后,再次获取pcie设备信息及nvme设备信息;

pcie设备比对单元4.2,用于配置测试脚本比对再次获取的pcie设备信息与首次开机记录的pcie设备信息是否相同;

bios设置方式比对单元4.3,用于当再次获取的pcie设备信息与首次开机记录的pcie设备信息不同时,配置测试脚本从更新的nvme设备资料池中获取对应bios设置方式,并与bios实际设置进行比对,并在不对一致时,通过验证,以及在比对不一致时,重新导入bios设置方式,触发告警;

新nvme设备判定单元4.4,用于当再次获取的pcie设备信息与首次开机记录的pcie设备信息不同时,判断是否使用新的nvme设备;并在使用新的nvme设备时,从更新的nvme设备资料池中获取新的nvme设备名称及其对应的bios设置方式并导入bios以及在没有使用新的nvme设备时,判断是否存在掉盘及设备运行故障,对服务器进行设备维护。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。


技术特征:

1.一种基于池化实现nvme设备配置的方法,其特征在于,包括如下步骤:

s1.建立nvme设备资料池;按照需求对nvme设备进行分类,为不同类别的nvme设备建立不同bios设置方式;

s2.服务器配置测试脚本;服务器上电开机,测试脚本通过读取bios信息获取pcie设备信息,再从pcie设备信息中识别出nvme设备;

s3.测试脚本从nvme设备资料池获取对应bios设置方式并导入bios,对nvme设备开启intelvmd功能,而非nvme设备关闭intelvmd功能;

s4.测试脚本验证bios中pcie设备的intelvmd功能是否设置成功。

2.如权利要求1所述的基于池化实现nvme设备配置的方法,其特征在于,

步骤s1中,按照项目名称、产品名称或者客户名称的不同需求对nvme设备进行分类,bios设置方式采用bios底层代码。

3.如权利要求1所述的基于池化实现nvme设备配置的方法,其特征在于,步骤s2具体步骤如下:

s21.服务器上电开机;

s22.测试脚本通过读取bios信息获取pcie设备信息;

s23.测试脚本从pcie设备信息中识别出pcie存储设备;

s24.测试脚本从pcie存储设备中识别出nvme设备。

4.如权利要求3所述的基于池化实现nvme设备配置的方法,其特征在于,步骤s22中,测试脚本通过bios扫描服务器的所有硬件设备,并自动向所有pcie硬件设备分配pcie地址;

步骤s23中,测试脚本将直连在主板存储接口下的pcie存储设备单独析出;

步骤s24中,测试脚本获取pcie存储设备的详细信息,并根据详细信息分离出nvme设备。

5.如权利要求1所述的基于池化实现nvme设备配置的方法,其特征在于,

步骤s2中,还记录首次服务器上电开机的pcie设备信息;

步骤s4具体步骤如下:

s41.更新nvme设备资料池,服务器再次上电开机,测试脚本再次获取pcie设备信息及nvme设备信息;

s42.测试脚本比对再次获取的pcie设备信息与首次开机记录的pcie设备信息是否相同;

若是,进入步骤s43;

s43.测试脚本从更新的nvme设备资料池中获取对应bios设置方式,并与bios实际设置进行比对;

若完全一致,则验证通过;

若比对不一致,则重新导入bios设置方式,并触发告警。

6.如权利要求5所述的基于池化实现nvme设备配置的方法,其特征在于,步骤s42中,若再次获取的pcie设备信息与首次开机记录的pcie设备信息不同,则判断是否使用新的nvme设备;

若是,则从更新的nvme设备资料池中获取新的nvme设备名称及其对应的bios设置方式并导入bios;

若否,则判断是否存在掉盘及设备运行故障,对服务器进行设备维护。

7.一种基于池化实现nvme设备配置的系统,其特征在于,包括:

nvme设备资料池建立模块(1),用于建立nvme设备资料池;按照需求对nvme设备进行分类,为不同类别的nvme设备建立不同bios设置方式;

nvme设备识别模块(2),用于在服务器配置测试脚本;服务器上电开机后,配置测试脚本通过读取bios信息获取pcie设备信息,再从pcie设备信息中识别出nvme设备;

bios设置导入模块(3),用于配置测试脚本从nvme设备资料池获取对应bios设置方式并导入bios,对nvme设备开启intelvmd功能,而非nvme设备关闭intelvmd功能;

bios设置验证模块(4),用于配置测试脚本验证bios中pcie设备的intelvmd功能是否设置成功。

8.如权利要求7所述的基于池化实现nvme设备配置的系统,其特征在于,nvme设备识别模块(2)包括:

上电开机单元(2.1),用于对服务器上电开机;

pcie设备信息获取单元(2.2),用于配置测试脚本通过读取bios信息获取pcie设备信息;

pcie存储设备识别单元(2.3),用于配置测试脚本从pcie设备信息中识别出pcie存储设备;

nvme设备识别单元(2.4),用于配置测试脚本从pcie存储设备中识别出nvme设备。

9.如权利要求7所述的基于池化实现nvme设备配置的系统,其特征在于,bios设置验证模块(4)包括:

pcie设备信息再次获取单元(4.1),用于更新nvme设备资料池,服务器再次上电开机后,再次获取pcie设备信息及nvme设备信息;

pcie设备比对单元(4.2),用于配置测试脚本比对再次获取的pcie设备信息与首次开机记录的pcie设备信息是否相同;

bios设置方式比对单元(4.3),用于当再次获取的pcie设备信息与首次开机记录的pcie设备信息不同时,配置测试脚本从更新的nvme设备资料池中获取对应bios设置方式,并与bios实际设置进行比对,并在不对一致时,通过验证,以及在比对不一致时,重新导入bios设置方式,触发告警。

10.如权利要求9所述的基于池化实现nvme设备配置的系统,其特征在于,bios设置验证模块(4)还包括:

新nvme设备判定单元(4.4),用于当再次获取的pcie设备信息与首次开机记录的pcie设备信息不同时,判断是否使用新的nvme设备;并在使用新的nvme设备时,从更新的nvme设备资料池中获取新的nvme设备名称及其对应的bios设置方式并导入bios以及在没有使用新的nvme设备时,判断是否存在掉盘及设备运行故障,对服务器进行设备维护。

技术总结
本发明提供一种基于池化实现NVMe设备配置的方法及系统,方法:建立NVMe设备资料池;按照需求对NVMe设备进行分类,为不同类别的NVMe设备建立不同BIOS设置方式;服务器上电开机,通过读取BIOS信息获取PCIe设备信息,再从PCIe设备信息中识别出NVMe设备;从NVMe设备资料池获取对应BIOS设置方式并导入BIOS,对NVMe设备开启Intel VMD功能,而非NVMe设备关闭Intel VMD功能;验证BIOS中PCIE设备的Intel VMD功能是否设置成功。本发明实现对NVMe设备自动快速部署,减少手动操作耗费,提高设置准确性,避免人工操作的不确定性,确保服务器设备稳定运行。

技术研发人员:孙玉超;周磊
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2020.01.18
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-58713.html

最新回复(0)