System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种故障倒换Bus资源分配方法、系统及装置制造方法及图纸_技高网

一种故障倒换Bus资源分配方法、系统及装置制造方法及图纸

技术编号:41239620 阅读:3 留言:0更新日期:2024-05-09 23:52
本发明专利技术提供了一种故障倒换Bus资源分配方法、系统及装置,该方法包括:在第一switch上预留第二Host上的PCIe子树资源;在第二switch上预留第一Host的PCIe子树资源;当第一Host检测到第二Host出现故障时,触发故障切换;基于上一级PCI桥的Bus资源以及PCI桥集合,遍历第二Host的PCIe子树并为普通PCI桥和热插拔PCI桥分配Bus资源;当第二Host的PCIe子树遍历完毕并且Bus资源分配成功后,将原故障的第二Host隔离,并拆除倒换口,完成对整个第二Host上的PCIe子树的接管。本方案对于故障倒换流程无需全部重起设备即可实现故障侧业务快速恢复,解决了带热插拔能力的PCIe子树的资源预留问题,可以实现PCIe子树的动态接入;本方案可显著提升系统的健壮性。

【技术实现步骤摘要】

本专利技术涉及计算机数据处理及集成电路领域,尤其涉及一种支持pcie switch子树故障倒换的bus资源分配方法、系统及装置。


技术介绍

1、在基于pcie的高可用系统中,要想实现高可用就要避免使用单点,假设单台服务器再强应用优化再到极致,只要单台服务器宕机,基本就不可用,只有在冗余备份上,其他备用的服务器才可以顶替上以保证可用性,才可能实现高可用,现有技术中一般采用主备模式与主主模式进行pcie系统资源系统的部署,从而保证系统的高可用性。

2、在高可用的主主模式下,当其中一个host出现故障的时候,由另一个host对故障host下的pcie设备进行接管,从而保证系统的高可用性。然而当要接管故障host下的pcie子树时,在不影响原先host下的pcie设备的正常工作的情况下,需要接管侧的端口能够预留足够的bus资源,用来保证被接入的pcie子树能够在新host中重新枚举出来,这时候就可以让新host可以管控到故障侧的pcie设备;在主主模式下,必须同时保证两个主host端的接口也能够预留bus资源(因为不知道谁接管谁,可以互相接管)。

3、在目前的linux版本的pcie子系统中,支持hotplug的端口的bus的预留是固定的,当接入的pcie子树中含有支持hotplug能力的端口时,会分配固定的预留资源,从而导致资源分配不足(因为倒换接口预留为a,则如果子树含有一个hotplug端口的话,直接将a资源占用了,从而导致其他端口无法分配到bus资源)。从而导致主主模式下故障切换失败,影响整个系统的高可用性,因此如何进行合理的bus分配变得尤为重要。


技术实现思路

1、有鉴于此,为解决上述现有技术中存在的linux pcie子树热插入的缺点,本专利技术提供了一种针对pcie switch子树故障倒换的bus资源分配方法、系统及装置。具体而言,本专利技术提供了以下技术特征:

2、一方面,本专利技术提供了一种故障倒换bus资源分配方法,所述方法包括:

3、s1、在第一switch上预留第二host上的pcie子树资源;在第二switch上预留第一host的pcie子树资源;在所述第一host及第二host之间做保活,并在所述第一switch上的第二倒换口及第二switch上的第一倒换口均预留资源;

4、s2、当第一host检测到第二host出现故障时,触发故障切换,进入步骤s3;

5、s3、基于上一级pci桥下的bus资源以及pci桥集合,遍历第二host的pcie子树并为普通pci桥和热插拔pci桥分配bus资源,并验证各级bus资源是否分配成功;

6、当第二host的pcie子树遍历完毕并且bus资源分配成功后,执行步骤s4,否则重复执行s3;

7、s4、将原故障的第二host隔离,并拆除倒换口,完成对整个第二host上的pcie子树的接管。

8、优选地,所述第一host与第一switch的上行口相连,所述第二host与第二switch的上行口相连;

9、所述第一switch与第二switch之间通过倒换口相连。

10、优选地,所述s3进一步包括:

11、s301、获取上一级pci桥的bus资源集合rset = {a,a+1,…,b},其中,已分配pci桥集合rassigned = {m,m+1,…,n},未分配pci桥集合rnassigned = {h, h+1,…,g},则已分配pci桥集合占用的bus资源集合为rset1 = {a, a+1,…,n-m},剩余可用bus资源集合为rremain = {n-m+1,…,b};

12、其中,a、b、m、n、h、g为正整数;

13、s302、在未分配pci桥集合rnassigned中,普通桥集合rnornal = {h,h+1,…,l},热插拔桥集合 rhotplug = {l+1,l+2,…,g};

14、s303、为每个普通桥分配1个bus资源,并为每个热插拔桥分配bus资源;并形成上一级pci桥的子树集合st和对应的预留资源集合bt;

15、s304、获取本级各pci桥下的子树端口个数,形成对应的子树集合pt;

16、s305、基于预留资源集合bt及子树集合pt,验证本级bus资源分配是否成功;

17、s306、遍历第二host的pcie子树,直至完成bus资源分配。

18、优选地,所述s4进一步包括:

19、s401、拆除第一switch的第一倒换口;

20、s402、重新扫描可以看到的第二switch端的倒换口;

21、s403、通过s402中扫描到的第二switch端的倒换口,将第二host隔离;

22、s404、拆除第二switch端的倒换口,并触发本地端口下的总线复位;

23、s405、重新扫描bus,完成对整个第二host上的pcie子树的接管。

24、优选地,所述s303中,为每个热插拔桥分配bus资源的数量为:

25、。

26、优选地,所述s305中,验证本级bus资源分配是否成功的方式为:

27、将预留资源集合bt与子树集合pt对应位置上的元素进行比较,如果pi > bi,则分配失败,否则分配成功,记结果集合为rt={r1,r2,…,ri,…,rn};若ri全部为成功,则本级bus资源分配成功;

28、其中,pi为子树集合pt中的第i个元素,bi为预留资源集合bt中的第i个元素。

29、优选地,所述s403中,将第二host隔离的方式为:

30、将第二switch上的倒换口的配置转移到第二host一侧的pcie交换芯片的上行口上,以完成隔离。

31、优选地,若本级bus资源分配失败,则发送报错信息,并重新启动bus资源分配。

32、另一方面,本专利技术还提供了一种故障倒换bus资源分配系统,所述系统包括:

33、包含第一host的第一switch,以及包含第二host的第二switch;在第一switch上预留第二host上的pcie子树资源;在第二switch上预留第一host的pcie子树资源;在所述第一host及第二host之间做保活,并在所述第一switch上的第二倒换口及第二switch上的第一倒换口均预留资源;

34、故障切换模块,用于当第一host检测到第二host出现故障时,触发故障切换;

35、bus资源分配模块,基于上一级pci桥下的bus资源以及pci桥集合,遍历第二host的pcie子树并为普通pci桥和热插拔pci桥分配bus资源,并验证各级bus资源是否分配成功;以及

36、当第二host的pcie子树遍历完毕并且bus资源分配成功后,触发倒换接入模块进行host2子树的倒换接入;...

【技术保护点】

1.一种故障倒换Bus资源分配方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述第一Host与第一switch的上行口相连,所述第二Host与第二switch的上行口相连;

3.根据权利要求1所述的方法,其特征在于,所述S3进一步包括:

4.根据权利要求1所述的方法,其特征在于,所述S4进一步包括:

5.根据权利要求3所述的方法,其特征在于,所述S303中,为每个热插拔桥分配Bus资源的数量为:

6.根据权利要求3所述的方法,其特征在于,所述S305中,验证本级Bus资源分配是否成功的方式为:

7.根据权利要求4所述的方法,其特征在于,所述S403中,将第二Host隔离的方式为:

8.根据权利要求6所述的方法,其特征在于,若本级Bus资源分配失败,则发送报错信息,并重新启动Bus资源分配。

9.一种故障倒换Bus资源分配系统,其特征在于,所述系统包括:

10.一种故障倒换Bus资源分配装置,其特征在于,所述装置包括至少两个PCIe交换芯片,以及存储器,所述PCIe交换芯片调用所述存储器中的指令,以执行权利要求1-8任一所述的一种故障倒换Bus资源分配方法;所述存储器设置于所述PCIe交换芯片中,或者独立设置。

...

【技术特征摘要】

1.一种故障倒换bus资源分配方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述第一host与第一switch的上行口相连,所述第二host与第二switch的上行口相连;

3.根据权利要求1所述的方法,其特征在于,所述s3进一步包括:

4.根据权利要求1所述的方法,其特征在于,所述s4进一步包括:

5.根据权利要求3所述的方法,其特征在于,所述s303中,为每个热插拔桥分配bus资源的数量为:

6.根据权利要求3所述的方法,其特征在于,所述s305中,验证本级bus资源分配是否成功的方...

【专利技术属性】
技术研发人员:朱珂常超张明伟闻亮肖峰万雪翔薛鹏飞姚领彦田境遴
申请(专利权)人:井芯微电子技术天津有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1