用于在网络环境中支持状态同步的系统和方法

文档序号:7791972阅读:348来源:国知局
用于在网络环境中支持状态同步的系统和方法
【专利摘要】系统和方法可在网络环境中支持网络管理。网络环境可包括多个配置守护进程(CD),其中每个CD驻留在网络环境中的交换机上。CD操作为接收包括已知管理密钥(M_Key)值的列表的配置文件。此外,CD还操作为存储配置文件,并且使配置文件对于交换机上的本地子网管理器(SM)可用,其中本地SM与当前使用的M_Key值相关联。然后,在从与网络环境中的主控SM相关联的主控CD接收到指令之后,CD操作为用新M_Key更新本地SM。
【专利说明】用于在网络环境中支持状态同步的系统和方法
[0001]版权声明
[0002]本专利文献公开的一部分包含受版权保护的内容。版权所有者不反对任何人如美国专商局专利文件或记录中出现的那样复制再现本专利文献或专利公开,但是保留所有其他版权权利。

【技术领域】
[0003]本发明总体上涉及计算机系统和软件,特别地,涉及支持网络环境。

【背景技术】
[0004]互连网络在下一代超级计算机、群集以及数据中心中扮演着有益的角色。诸如InfiniBand(IB)技术之类的高性能网络技术正在替代其中高带宽和低延迟是关键要求的高性能计算领域中的私有或低性能解决方案。
[0005]由于其低延迟、高带宽以及主机侧处理资源的高效利用,IB技术在高性能计算(HPC)领域作为构建大型可缩放计算机群集的解决方案而获得认可。


【发明内容】

[0006]此处描述了用于在网络环境中支持子网管理的系统和方法。网络环境可包括多个配置守护进程(⑶),其中每个⑶驻留在网络环境中的交换机上。⑶操作为接收包括已知管理密钥(M_Key)值的列表的配置文件。此外,⑶还操作为存储配置文件,并且使配置文件可用于交换机上的本地子网管理器(SM),其中本地SM与当前使用的M_Key值相关联。然后,CD操作为在从与网络环境中的主控SM相关联的主控CD接收到指令之后,利用新M_Key来更新本地SM。
[0007]此处描述了用于在网络环境中支持子网管理的系统和方法。网络环境中的网络交换机可以提供事务性接口,其中事务性接口允许用户使用事务来与网络环境进行交互。事务性接口允许用户在事务中集合一个或多个操作,并且确保没有冲突操作被包括在事务中。
[0008]此处描述了用于在网络环境中支持子网管理的系统和方法。网络环境可包括多个配置守护进程(⑶),其中主控⑶是带有主控子网管理器(SM)的交换机上的活动⑶。主控CD操作为对与网络环境中的一个或多个对等CD相关联的一个或多个状态执行一致性检查,并且将配置文件复制到一个或多个对等⑶,其中配置文件包括至少一个管理密钥(M_Key)值。
[0009]此处还描述了一种用于支持网络环境中的网络管理的系统。系统包括用于通过网络环境中的交换机上的配置守护进程(CD)接收配置文件的装置,其中配置文件包括已知管理密钥(MJfey)值的列表。系统还包括用于存储配置文件的装置,以及用于使配置文件可用于交换机上的本地子网管理器(SM)的装置,其中本地SM与当前所使用的M_Key值相关联。系统还包括用于在从与网络环境中的主控SM相关联的主控⑶接收到指令之后利用新M_Key来更新本地SM的装置。
[0010]此处进一步描述了一种用于支持网络环境中的网络管理的系统。系统包括交换机上的配置守护进程(⑶),其中⑶被配置成接收包括已知管理密钥(MJfey)值的列表的配置文件。系统还被配置成存储配置文件,并且使配置文件可用于交换机上的本地子网管理器(SM),其中本地SM与当前所使用的M_Key值相关联。系统被配置成在从与网络环境中的主控SM相关联的主控⑶接收到指令之后利用新M_Key来更新本地SM。
[0011]此处还描述了一种用于支持网络环境中的网络管理的系统。系统包括用于在网络交换机上提供事务性接口的装置,其中事务性接口允许用户使用事务与网络环境进行交互。系统还包括用于在事务中集合一个或多个操作的装置,以及用于确保没有冲突的操作被包括在事务中的装置。
[0012]此处进一步描述了一种用于支持网络环境中的网络管理的系统。系统包括网络交换机,其中网络交换机被配置成提供事务性接口,其中事务性接口允许用户使用事务与网络环境进行交互。系统被配置成在事务中集合一个或多个操作,确保没有冲突的操作被包括在事务中。
[0013]此处还描述了一种用于支持网络环境中的网络管理的系统。系统包括用于在网络环境中提供多个配置守护进程(⑶)的装置,其中主控⑶是带有主控子网管理器(SM)的交换机上的活动⑶。系统还包括:用于通过主控⑶对与网络环境中的一个或多个对等⑶相关联的一个或多个状态执行一致性检查的装置,其中每个对等CD都是带有备用SM的交换机上的活动CD ;以及用于将配置文件复制到一个或多个对等CD的装置,其中配置文件包括至少一个管理密钥(M_Key)值。
[0014]此处进一步描述了一种用于支持网络环境中的网络管理的系统。系统还包括主控配置守护进程(⑶),其中主控⑶是带有主控子网管理器(SM)的交换机上的活动⑶,其中主控CD被配置成对与网络环境中的一个或多个对等CD相关联的一个或多个状态执行一致性检查,其中每个对等CD都是带有备用SM的交换机上的活动CD。系统还被配置成将配置文件复制到一个或多个对等⑶,其中配置文件包括至少一个管理密钥(M_Key)值。

【专利附图】

【附图说明】
[0015]图1示出根据本发明一实施例用于在IB网络中支持管理密钥(MJfey)保护模型的图示。
[0016]图2示出根据本发明一实施例用于在网络环境中支持事务性命令行接口(CLI)的图示。
[0017]图3示出根据本发明一实施例用于在网络环境中支持事务性命令行接口(CLI)的示例性流程图。
[0018]图4示出根据本发明一实施例用于在网络环境中使用配置守护进程(⑶)来支持子网管理的图示。
[0019]图5示出根据本发明一实施例用于在网络环境中使用配置守护进程(⑶)来支持子网管理的示例性流程图。
[0020]图6示出根据本发明一实施例用于在网络环境中支持管理密钥(MJfey)配置文件的图示。
[0021]图7示出根据本发明一实施例用于在网络环境中的交换机上支持配置守护进程(CD)和子网管理器(SM)之间的状态同步的图示。
[0022]图8示出根据本发明一实施例用于在网络环境中的交换机上支持配置守护进程(⑶)和子网管理器(SM)之间的状态同步的示例性流程图。
[0023]图9示出根据本发明一实施例的特征的功能框图。

【具体实施方式】
[0024]在附图的图示中以示例而非限制的方式示范了本发明,附图中相似的附图标记指示相似的元件。应注意,在本发明中对“一”、“一个”或“一些”实施例的引用并不一定是指同一个实施例,这样的引用表示至少一个。
[0025]下面对本发明的描述使用Infiniband(IB)网络作为高性能网络的示例。对本领域技术人员显而易见的是,可以使用其他类型的高性能网络,而没有任何限制。
[0026]此处描述了可以在诸如IB网络之类的网络中支持子网管理的系统和方法。
[0027]InfiniBand(IB)网络和管理密钥(M_Key)保护模型
[0028]IB网络可被称为子网。IB子网可包括使用交换机和点对点链路互连的一组主机。另外,IB子网可包括至少一个子网管理器(SM),其负责初始化网络并且使其运转,包括子网中的所有交换机、路由器和主机通道适配器(HCA)的配置。
[0029]图1示出根据本发明一实施例用于在IB网络中支持管理密钥(MJfey)保护模型的图示。如图1所示,可以使用诸如M_Keyl02之类的管理密钥来保护诸如IB子网100之类的IB组构。M_Keyl02的值只能被组构管理员110知道,该值可以让管理员对交换机A-B103-104以及指定的子网管理器(SM)节点101进行访问。
[0030]在IB子网100中,HCA121-124中的安全HCA固件实现可以使各种组构节点的类型和身份意义明确。HCA121-124中的每个可以实现子网管理代理(SMA)组件,例如SMA131-134。SMA131-134 中的每个可以与 M_Key,例如 M_Keyl41_144 相关联。
[0031]此外,连接的交换机A-B103-104还可以由组构管理员110控制,组构管理员110可以在交换机103-104上带外(out-of-band)安装新的M_Key值102。如此,任何流氓SMA实现131-134都不能损害IB子网/组构100中使用的由组构管理员110定义的M_Keyl02值。
[0032]另外,组构管理员110还可以确保在交换机A-B103-104上有无限的M_Keyl02租用时间。如此,基于主机的软件161-164,例如不同主机111-114上的基于主机的子网管理器(包括操作系统151-154),不能劫持对IB子网/组构100中的任何交换机A-B103-104的控制。
[0033]根据本发明一实施例,基于IB规范定义的访问限制,单个M_Keyl02值(或单组皿_Key值)可以用于IB子网100中的各种节点。当前M_Keyl02的正确值可能需要在读取或者更新M_Keyl02之前指定,因为安全HCA固件能确保指定给本地HCA121-124的“受读取保护的”M_Key不暴露到本地基于主机的软件。
[0034]根据本发明一实施例,指定的子网管理器101可以忽略具有未知M_Key值的任何HCA端口,并且保留对应的链路未初始化。被劫持的HCA端口 M_Key的唯一影响可能是HCA端口不能操作,指定的子网管理器101可以防止基于主机的软件使用普通通信,即基于非SMP/VL15的通信,通过此HCA端口来进行通信。
[0035]此外,还可以利用M_Keyl02上的有限的租用时间来设置HCA端口,例如,由于维护M_Keyl02租用时间长度的子网管理器101的高可用性顾虑。
[0036]根据本发明一实施例,可以由组构管理员110创建和管理M_Keyl02,并将其存储在交换机A-B103-104和/或HCA121-124上的安全存储器中。交换机A-B103-104或HCA121-124上的微处理器可以访问存储器,以读出M_Keyl02或将M_Keyl02写入到存储器中。
[0037]事务性的命令行接口(CLI)
[0038]根据本发明一实施例,事务性命令行接口(CLI)可以在网络环境中操作,例如来自于带有当前主控子网管理器(SM)的网络交换机。
[0039]图2示出根据本发明一实施例用于在网络环境中支持事务性命令行接口(CLI)的图示。如图2所示,网络环境例如IB子网200中的交换机201可包括子网管理器(SM) 202和配置守护进程(⑶)203。
[0040]此外,交换机201还可以提供事务性CLI204,其允许用户基于M_Key205使用一个或多个事务来配置和管理IB子网200。如图2所示,允许系统执行各种操作的事务210可以在开始(start)命令111和提交(commit)命令213之间集合一个或多个命令212。
[0041]根据本发明一实施例,单个升级事务,例如事务210,可以不执行有冲突的操作。这可以以动态方式来实现,其中事务210内的初始操作可以定义事务210的类型和哪些操作被允许。例如,启动事务210的开始命令211可包括明确定义哪些操作被允许的参数。
[0042]可另选地,单个升级事务210中的逻辑提交操作可实现为若干连续的提交操作,每个操作可以表示将一组类似操作集合在一起的子事务。例如,所有移除(remove)操作可以在所有添加(add)操作可实现为后续子事务之前实现为子事务。这样的自动化方案可以具有使普通更新情况对于用户而言更简单的优点,也可能具有使对部分失败的事务的处理更复杂(就定义哪些操作已经完成而哪些没有完成而言)的缺点。
[0043]此外,系统还允许用户跟踪可集合在单个事务内的操作,以便就定义哪些操作可能已经完成以及哪些可能没有完成而言简化对部分失败的事务的处理。
[0044]根据本发明一实施例,事务开始命令211可以确保完成和提交事务的条件被满足。如果当前条件是不可接受的,则系统允许用户选择中止(abort)事务。此外,用户还可以在由于当前条件而导致普通提交失败之后在强制模式下重新发出提交操作。
[0045]另外,命令接口还可以生成带命名的模板220,其是没有被提交到组构而替代地存储在本地或远程文件系统中的配置。命名模板220也可以从已经提交的配置生成。
[0046]命令接口允许命名模板220在事务开始命令211之后被加载。命名模板220也可以是开始命令211的参数。用户被允许根据加载的命名模板220来修改配置信息,然后以与任何其他配置更新相同的方式提交它。
[0047]此外,系统还可以为不同的使用情况准备不同的命名模板220。此外,基于命名模板220,系统可以在可能会导致配置信息从组构中的所有对等CD实例206丢失的完全组构停机之后执行备份操作,从而为系统提供保护。此外,当管理员提交了不正确的配置时,命名模板120还允许管理员回滚到以前的一致配置。如此,管理员可以避免执行潜在地非常复杂的显式“撤销(undo) ”和“重做(redo) ”操作序列。
[0048]根据本发明一实施例,通过在同一事务中不允许改变当前M_Key值205的操作和删除(旧的)当前M_Key值205的操作,系统可以避免事务失败而进入其中一个SM可能具有其他SM实例中的一个或多个不知道的当前M_Key的状态时的竞争状况。
[0049]附录A提供了关于在网络环境中提供事务性命令行接口(CLI)以及在整个本发明中描述的平台的各方面的更进一步的信息。附录A中的信息只用于说明性目的,不应被解释为限制本发明的所有实施例。
[0050]图3示出根据本发明一实施例用于在网络环境中支持事务性命令行接口(CLI)的示例性流程图。如图3所示,在步骤301中,系统可以在网络交换机上提供事务性接口,其中事务性接口允许用户使用事务来与网络环境进行交互。然后在步骤302中,系统可以在事务中集合一个或多个操作。此外在步骤303中,系统还可以确保没有冲突操作能被包括在事务中。
[0051]配置守护进程(⑶)
[0052]图4示出根据本发明一实施例用于在网络环境中使用配置守护进程(⑶)来支持子网管理的图示。如图4所示,网络环境例如IB子网400可包括多个网络交换机,例如交换机 A-E401-405。
[0053]网络交换机A-E401-405中的每个可包括子网管理器(SM)和配置守护进程(⑶)。例如,除SM A 411之外,交换机A401还可包括⑶A421。这里,SM A411是负责管理子网400的主控SM。另外,交换机B-E402-405中的每个包括备用SM,例如SM B-E412-415之一,以及⑶实例,例如CD B-E422-425之一。
[0054]在系统允许在IB子网400上执行操作之前,主控⑶A411可以对于对等⑶实例B-E422-425上的各种状态信息执行一致性检查。这样的状态信息可包括可用性、兼容实现/协议版本、正确的当前守护进程运行时状态、以及正确的当前配置状态/版本。
[0055]然后,在指示CD B-E422-425利用当前M_Key值更新相关的SMB-E412-415之前,主控⑶A411可以将新管理密钥(M_Key)配置文件410复制到对等⑶B-E422-425。
[0056]根据本发明一实施例,系统可以确保主控SM411始终具有已知M_Key的列表430,列表430长于由备用SM实例维护的任何其他列表,或至少与其一样长。此外,复制顺序可以确保新的较短列表在被应用于主控SM之前应用到备用SM。
[0057]如此,主控SM可以决不会具有比备用SM实例中的任何一个更短的已知M_Key的列表430,并且系统可以使用已知M_Key的列表430的长度作为用于确定主控身份的标准。
[0058]此外,复制顺序可以基于事务类型。当事务是“仅添加(addonly)”事务时,可以首先使用新配置文件来更新本地(主控)SM的已知列表,接下来是备用SM实例。如果事务不是“仅添加”,那么在新的已知列表被复制到备用SM之后,利用新的已知列表来更新本地(主控)SM。
[0059]在所有对等CD都确认接收和存储了配置文件,并且配置文件通过了校验和(checksum)和元数据检查之后,复制过程被认为成功完成。然后,主控⑶A421可以通过指示每一对等CD B-E422-425利用新的当前M_Key值来更新相关的SM B-E412-415,来完成提交操作。
[0060]根据本发明一实施例,在所有对等⑶B-E422-425都成功更新之后,主控⑶A421可以更新本地SM A411。此序列可以独立于特定类型的事务。
[0061]另外,系统可以不指示SM实例改变当前M_Key值,直到所有SM实例(S卩,实际SM实例,不只是对应的CD实例)都接收到更新的已知M_Key列表。如此,新的当前M_Key值可以始终被所有SM知道,甚至在更新当前值时事务失败的情况下。
[0062]根据本发明一实施例,活动CD,例如Oracle匪2网络交换机上的分区守护进程(H)),可以在本地SM节点配置没有用主机名和InfiniBand上的网际协议(IPOIB)地址列表增强时不接受任何提交或开始命令。此外,SM节点列表中的CD可能需要具有允许启动和/或提交操作的合适的固件版本。
[0063]此外,系统中的交换机(即,在SM节点列表中包括交换机)在允许使用安全M_Key设置之前,需要具有合适的固件版本。在具有不兼容的固件版本例如较老的匪2固件的系统中配置安全M_Key会导致诸如启用/禁用本地端口之类的一些本地操作变得不正常。这些不正常的本地操作可包括基于显式CLI命令的启用/禁用操作以及在系统引导和缆线热插拔过程中执行的自动启用/禁用操作二者。
[0064]根据本发明一实施例,系统可以记录和报告SM节点上的各种操作的进度。如果提交操作没有开始或没有对于所有SM节点完全完成,则可以记录并且作为警告显示相关信息。此外,当系统使用“强制(force) ”选项时,操作可被报告为“完全成功”或“部分成功”。另一方面,当系统不使用“强制”选项时,操作可以不被报告为“部分成功”。此外,如果SM节点在提交操作过程中丢失(即,当提交开始时,它存在),那么操作可被报告为失败,然后用户可以具有执行另一提交操作或执行强制提交操作的选项,带有相同的起作用的配置。
[0065]另外,甚至在一些SM节点定义的CD实例不可用的情况下,系统也可以执行强制操作。
[0066]例如,当SM节点实例在一时间点丢失,然后作为不兼容的SM节点实例(例如较老版本匪2节点)回来。此系统可要求在可以作出任何随后的秘密M_Key配置改变之前,从SM节点列表中去除有问题的实例,或者升级回到兼容的SM节点实例。
[0067]为了使有状态的故障转移(fail-over)与例如带有启用SM的旧版本匪2一起起作用,在组构中可能没有使用任何秘密M_Key。系统可以在降级之前执行disablesecretmkey CLI命令,或在降级之后执行带有“强制”选项的disablesecretmkeyCLI命令,作为临时降级SM节点实例的此情况的可行替代方法。
[0068]另外,带有“强制”选项的disablesecretmkey CLI命令也可以是当已经发生降级时恢复SM节点的方式。
[0069]图5示出根据本发明一实施例用于在网络环境中使用配置守护进程(⑶)来支持子网管理的示例性流程图。如图5所示,在步骤501中,系统可以在网络环境中提供多个配置守护进程(⑶),其中主控⑶是带有主控子网管理器(SM)的交换机上的活动⑶。然后在步骤502中,主控CD可以在网络环境中对与一个或多个对等CD相关联的一个或多个状态执行一致性检查,其中每个对等CD是带有备用SM的交换机上的活动CD。此外在步骤503中,主控⑶可以将配置文件复制到一个或多个对等⑶,其中配置文件包括至少一个管理密钥(MJfey)值。
[0070]管理密钥(MJfey)配置文件
[0071]根据本发明一实施例,可以在配置守护进程(⑶)之间传输管理密钥(MJfey)配置文件610。管理密钥(MJfey)配置文件可包括向用户呈现的受信任管理密钥(MJfey)值,以及基于受信任M_Key透明地生成的一个或多个密钥值。另外,M_Key配置文件可包括固定函数、函数参数以及本地生成的随机数中的一个或多个。
[0072]图6示出根据本发明一实施例用于在网络环境中支持管理密钥(MJfey)配置文件的图示。如图6所示,网络环境600中的交换机601可包括子网管理器(SM)602和配置守护进程(⑶)603。此外,交换机601还可以向用户提供命令行接口(CLI)604,例如“smsubnetprotect1n,,CLI 接口。
[0073]当CLI接口 604可以仅向用户呈现单组管理密钥(MJfey)值例如受信任的M_Key605值时,交换机601中的底层实现可以使用可以包括在M_Key配置文件(例如用于匪2网络交换机的“PD_M_Key-Config.conf ”文件)中的额外密钥组。
[0074]例如,M_Key配置文件610可包括:用于定义为“受信任”节点的受信任M_Key611,用于被视为不受信任节点的不受信任M_Key612,以及用于基本SM-SM认证和协商的子网管理器密钥(SM_Key)613。
[0075]对用于受信任和不受信任节点的不同M_Key的处理可以确保用于受信任节点(特别是交换机)的受信任M_Key611不能被不受信任节点观察/ 了解。此机制也可适用于通过基于加密的协议来显式地认证受信任节点而根本不认证不受信任节点的情况。
[0076]M_Key配置文件610可以包含符号的和十六进制的M_Key值的列表。此外,M_Key配置文件610还可以包含当前M_Key值的列表的显式标识。除了 M_Key信息之外,M_Key配置文件610还可以包括元数据信息,元数据信息包括格式修订、最近更新时间戳和ID (例如,匪2主机名+IP)、更新修订号和校验和。
[0077]此外,M_Key配置文件610还可以记录每一添加的值作为相关联的值的列表。此夕卜,⑶实例603还可以跟踪M_Key值的组的当前状态,诸如关于特定类型的所有M_Key值的信息。例如,M_Key配置文件610可包括多行,每行3个值,其中行内的每个位置定义密钥类型,完整的行可以被定义为“当前”或“新-当前”。
[0078]根据本发明一实施例,管理密钥(MJfey)配置文件610可以使用密码620 (例如,带有默认值)来加密。系统可以使用加密的传输(该传输基于每个节点上的公共私有密码),以便确保敏感数据不对能够观察连接不同CD实例的管理网络上的数据流量的任何人可用。
[0079]此外,当执行“添加(add) ”命令时,受信任的M_Key值605是CLI604的用户所涉及到的东西。然后,系统可以对CLI用户透明地生成其他密钥值。可以生成额外值作为用户指定的密钥值和基于当前密码的唯一排列(permutat1n)生成的64比特值的和。例如,可以对于每种密钥类型以定义的方式排列当前密码中的至少八个符号例如,旋转1,旋转2。
[0080]根据本发明一实施例,系统可以确保用于生成额外密钥值的任何公式或参数不是在SM节点之间复制和同步的信息的一部分。例如,可以作为准备更新事务信息的一部分生成M_Key值,而不依赖于当配置已经被定义时用于生成要在⑶或SM实例之间呈现的密钥的任何状态。
[0081]此外,还可以作为当前定义的加密密码和随机值两者的函数生成新的M_Key值,以便在密码或原始M_Key变得对已经知道导出的M_Key值的某人可用时最小化某人推导出原始密码或原始M_Key的风险。
[0082]例如,除两个64比特值的总和之外,平台所生成的随机数可以被包括在该总和中以防止泄露密码值。如此,知道不受信任M_Key和用密码加密的受信任M_Key两者的某一方将不能通过非常有限数量的算术运算来生成对应的密码或受信任M_Key。
[0083]另外,使用不正确的密码(例如由于没有在所有SM节点上正确地更新密码)会导致远程端的校验和错误。为了区别由于不正确的密码而导致的校验和错误类型与由于在传输过程中文件损坏而导致的校验和错误类型,可以有加密的文件的校验和和原始文件版本的校验和。这里,加密的文件的校验和错误可以指示传输错误,而未加密的文件的校验和错误可以指示不正确的密码。此外,还可以有加密的和未加密的文件两者的元数据,以便确保在两个级别的一致性和多版本兼容性。
[0084]根据本发明一实施例,在启动事务之前,系统可以确保对于每个CD —致的密码加
LU O
[0085]对于验证密码加密的一个挑战是密码本身可不跨潜在不安全的管理网络显式地传递。相反,系统可以使用密码来加密已知的消息串(即,被所有SM节点“先验”知道的)。然后,对当前密码的一致性验证可以通过发送已知消息的加密版本并让对等SM节点确认对消息的解密导致原始的已知消息来实现。
[0086]例如,已知消息可以是当前密码串本身。此外,专用的已知串还可以是更健壮的方案,因为密码串通常具有有限的长度。另外,通过维护历史密码或密钥值的列表,如果当前密码/密钥值失败,验证逻辑还可以检查旧的密码/密钥值,并由此标识SM节点之间的不完整更新的情况。此外,对当前值的远程检查的失败还可导致对旧的值的加密和检查,以判断远程SM节点是否已经利用当前密码值被更新。
[0087]根据本发明一实施例,这样的验证方法也可以被用来验证当前公钥/私钥基础结构在所涉及的SM节点之间是一致的,即,确保在发现/重新发现过程中在认证/验证之后没有意外更新发生。如果公钥/私钥基础结构起作用,那么这可用于所复制的配置信息的加密,以避免在每一 SM节点上都维护单独的加密密码。
[0088]开始(start)逻辑和一致性检查
[0089]根据本发明一实施例,当从当前主控节点执行事务开始命令时,可以验证各种子网管理器(SM)节点上的状态信息,以便可以检测到状态信息中的任何不一致性。此外,更新事务的前提条件还可以是,系统具有带相同配置更新修订号的一致的(即,提交完成以及正确的校验和)配置文件。
[0090]管理员可以确保在可能会导致SM节点上的状态信息不一致的失败的更新事务之后,正确的配置可以在IB子网中被带入。管理员可以启动新更新事务以使各种SM节点同步。另外,管理员还可以验证不一致的状态不表示任何未预期条件,并且能执行diff操作,这些操作可以显式地提供各种SM节点中的或指定SM节点对之间的详细差异。
[0091]此外,当在当前主控SM节点上的本地配置不是最近配置或不正确时,系统可以从主控SM节点执行特殊操作以从另一备用SM节点获取当前配置,并当执行新的更新事务时,使用此配置作为起作用的配置的起始点。另外,还可以使用特殊的“强制”选项来覆盖对于启动和提交操作两者的一致性检查,例如,在管理员已经分析了不一致的状态并且确定用于同步各种SM节点的正确配置之后。
[0092]根据本发明一实施例,当在IB子网中发生致命的同步问题时,可允许管理员在继续或重新启动任何更新事务之前解决底层问题。例如,当执行提交操作时,预期各种SM节点的配置状态与执行对应的开始操作时的配置状态完全相同,即,此时间段的任何变化都可能表明已经发生了一些未经请求的状态变化,并且可以指示各种SM节点之间的致命的同步误差。另外,在开始和提交时间,还可以验证在SM节点之间只有单个主控存在。否则的话,则在SM节点之间有致命的同步问题。
[0093]此外,还可以作为事务开始操作的一部分来验证各种SM节点之间的加密密码值的一致性,并且可以与没有配置改变发生的验证一起在提交操作的初始部分再次进行验证。另外,状态一致性检查可以作为命令行接口(CLI)子命令在任何时间点从任何SM节点可用。
[0094]⑶和SM之间的状态同步
[0095]图7示出根据本发明一实施例用于在网络环境中的交换机上支持配置守护进程(CD)和子网管理器(SM)之间的状态同步的图示。如图7所示,IB子网700中的交换机701可包括子网管理器(SM) 702和配置守护进程(CD) 703。
[0096]当⑶703接收到作为提交事务的一部分的新M_Key配置文件710时,⑶703可以存储新M_Key配置文件710并且使已知M_Key值704的列表对本地SM702可用。然后,SM702可以在子网探测/发现操作中开始使用新的已知M_Key值704的列表。当为任何子网管理代理(SMA)实例更新/设置M_Key值时,SM702可以继续使用先前定义的当前M_Key值705。
[0097]在从主控⑶接收到指令之前,⑶703可以不更新SM702所使用的当前M_Key值705。此外,⑶703,当它是备用⑶时,可以在操作被向实施分布式事务的主控⑶确认之前,可以将新的已知值704的列表传递到本地SM702。
[0098]与分区配置更新不同,可以使新的已知M_Key704的列表立即对SM702可用,因为这不会导致子网中的任何状态变化,并且人工和自动过程可以确保新已知M_Key值704的列表可以始终包括可以在系统中的交换机节点中存在的任何秘密M_Key值(即,包括具有禁用的SM的交换机节点)。
[0099]此外,为了使已知M_Key值704的列表作为一致性检查以及在子网中的启用秘密密钥的SM之间进行主控选择的一部分使用,更新的顺序可以确保当前主控始终具有最大的已知M_Key值的列表,并且由此避免在更新事务中发生任何未计划的主控切换(handover)。
[0100]根据本发明一实施例,当控制提交操作的主控⑶指示⑶实例703时,⑶实例703可以更新有关当前M_Key值705的本地状态信息。此外,⑶实例703还可以指示本地SM702开始使用新的当前M_Key值,例如,通过专用SM CLI命令。
[0101]此外,每当SM702或⑶703重启时,⑶实例703都可以用当前本地秘密密钥配置来更新SM702。如此,系统可以确保子网管理操作始终符合当前配置,并且,系统还可以确保在没有当前秘密密钥配置就位的情况下不执行主控选择。此外,在启动过程中,CD703和SM702之间的状态同步还可以确保在启动初始子网发现之前SM702具有当前配置。
[0102]根据本发明一实施例,⑶703可以使用专用SM CLI命令来将新已知M_Key值704列表传递到SM702。例如,SM702可以通过私有CLI命令只接收秘密密钥配置,并且可以不执行此配置的任何持久性存储(即,秘密密钥配置只可以是SM运行时映像的一部分)。
[0103]SM CLI命令可包括定义已知M_Key值704的列表的逗号分隔开的十六进制M_Key值的无格式列表。此外,SM CLI还允许指定三个单独的列表,以便将三个独立的M_Key值作为输入,诸如受信任M_Key,不受信任M_Key和SM_Key。
[0104]例如,在匪2交换机中,新的当前M_Key值可以与在复制的M_Key配置文件中被标识为“新当前”的相同。旧当前M_Key值可以仍是已知M_Key列表的一部分。(即,可能需要两个更新事务,才能删除已经被用作当前的值。)
[0105]为了确保新当前M_Key值不被过早地激活,复制的配置文件可以始终包含有关当前(仍)使用的M_Key值以及计划的新值的信息。当发生set-current操作(即,从实现事务的主控CD接收到对应的命令)时,可以向SM702指示新M_Key值,然后可以在操作被确认之前,更新记录的当前所使用的M_Key值,以反映新指定的值。如此,主控SM可以具有长于由备用SM维护的任何其他列表或至少与其一样长的已知M_Key列表。
[0106]此外,⑶实例703可以跟踪实际当前M_Key值705和启用状态两者。例如,对SM702的秘密M_Key的禁用和启用处理可以通过用于禁用状态的零值和用于启用状态的非零当前值来反映。此外,当系统被设置为处于禁用状态时,CD实例703可以向SM702提供零值,而非当前值。然后,当系统从禁用状态变为启用状态时,CD实例703可以发信号告知SM702(真实的)当前M_Key值。
[0107]根据本发明一实施例,SM702可以接收用于使用秘密M_Key的显式启用/禁用通知。此外,当秘密M_Key的使用被禁用时(作为默认值),SM还可以使用配置文件(例如,opensm.conf文件)中定义的可读取的M_Key。另外,配置文件中的可读取的M_Key值还可以由CLI命令来维护。此外,还可以在opensm.conf配置文件中定义反映可读取的M_Key的由SM702使用的M_Key保护比特。另一方面,当通过SM CLI接口启用“秘密(secret)”模式时,可以隐式地定义M_Key保护比特。
[0108]此外,M_Key租用时间值可以是在配置文件中定义的常数。例如,匪2FW修订版特定的opensm.conf模板所定义的常数可以是足够的。可另选地,M_Key租用时间值可以是可配置的。此M_Key租用时间值可以大(例如,在至少一分钟的水平)以便决不会有在截止日期之前SM不能刷新租用时间的任何实际风险(即,与扫描至少一个SM—样长)。另外,平台级别的监视守护进程(daemon)也可以在刷新本地租用时间方面具有作用。
[0109]图8示出根据本发明一实施例用于在网络环境中的交换机上支持配置守护进程(⑶)和子网管理器(SM)之间的状态同步的示例性流程图。如图8所示,在步骤801中,网络环境中的交换机上的配置守护进程(CD)可以接收包括已知管理密钥(MJfey)值的列表的配置文件。此外,在步骤802中,CD还可以存储配置文件,并且使配置文件对交换机上的本地子网管理器(SM)可用,其中本地SM与当前所使用的M_Key值相关联。然后,在步骤803中,在从与网络环境中的主控SM相关联的主控⑶接收到指令之后,⑶可以利用新M_Key来更新本地SM。
[0110]失败的更新事务和主控子网管理器(SM)故障转移
[0111]当更新事务成功完成时,所有子网管理器(SM)节点上的配置守护进程(⑶)可以具有相同配置,例如,带有相同的配置更新修订号。另外,CD还可以具有相同的当前M_Key值或没有新当前M_Key值。
[0112]另一方面,失败的更新事务可能会导致IB子网中的当前SM节点的可用性或配置问题。例如,当在复制过程中更新事务失败时,CD可以具有不同的当前更新修订号值(并且带有不同的文件校验和)。此外,如果复制步骤成功完成,但是当前M_Key值的更新未完成,那么CD可以具有相同更新修订号值以及相同的基本文件校验和,但是带有不同的当前M_Key 值。
[0113]在这些情况下,管理员可以使用由SM节点交换机所提供的CLI命令,例如由匪2交换机所提供的Iistactive命令,来发现和解决当前状态。然后管理员可以确定如何对当前主控CD执行另一更新事务,以便使系统进入良好定义的状态,例如使用强制选项并且更新系统中的SM节点的列表。
[0114]如果失败的事务导致具有旧的当前M_Key值和新的当前M_Key值二者的当前持久性配置,那么任何新事务可以在此状态下开始,行为如同已经对在当前配置文件中反映为“新”的M_Key值执行了 set-current CLI命令一样。此外,用户可以察觉到此当前状态,并且如果需要的话可以被允许修改设置。另外,在失败的事务之后不能观察到可执行什么操作的规则会导致子网中不正确的主控选择,例如,导致子网中有多个或没有主控SM。
[0115]根据本发明一实施例,事务开始命令可以向用户呈现用于所有SM节点上的配置的所有相关状态信息。此外,事务开始命令可以确保用户察觉到任何不一致性,例如在更新事务失败之后。此外,事务开始命令可以执行特殊的强制动作以便启动事务,并且允许用户从可用的SM节点中的任何一个选择起始点配置。
[0116]如果在更新事务失败之后活动主控仍运转,则处理失败的更新事务的第一步骤是,潜在地基于来自失败的更新事务的错误记录/消息,检查其他SM节点的可用性和配置。如果问题可以校正,那么可以重试相同事务(即,在不使用强制模式的情况下)。如果问题不能被校正(例如,潜在地作为旧主控的SM节点不再运转/可用),那么不可在强制模式下重新尝试任何删除操作,因为此操作可能会删除可能仍正在被启用的SM使用的密钥值。
[0117]根据本发明一实施例,可以在强制模式下重试禁用操作,因为禁用操作不会改变当前已知密钥列表,并且不会带来不正确的主控选择过程的任何风险。此外,还取决于SM优先级和相对于失败的SM节点的当前可用SM节点的全局唯一标识符(GUID),系统的禁用或启用状态可能会随着失败的SM节点开始再次运行而改变。
[0118]此外,强制重试失败的启用操作也是安全的,因为它不会带来任何不正确的主控选择过程的风险。此外,当相同密钥配置存在时,就主控的启用/禁用状态而言,系统状态可能不确定。
[0119]另外,强制重试添加操作也是安全的,因为它可以增大已知密钥的数量,并且由此,它可以确保SM节点接收到此更新,并且可以相对于当前不可用的SM节点就主控选择而言占先。
[0120]根据本发明一实施例,通过将新添加的密钥设置为当前,系统可以被配置成隔开不可用的SM节点上的SM。如此,不可用SM节点上的SM可以不影响已经接收到更新的秘密M_Key值的任何一个节点(潜在地包括其本身)的状态。
[0121]系统可以使用force-add和set-current操作来确保隔开带有未定义状态的SM节点,而不需要任何物理服务动作。这样的隔开机制允许SM节点配置被改变,还允许当前分区策略被更新。
[0122]当叶交换机处于会导致直接连接的主机的分区状态不可控的不确定状态时,分区配置可以不被以与当前配置有冲突的方式来更新或更改,该当前配置假定由该叶交换机上的活动SM实施。
[0123]为了更新或更改分区配置,可以将叶交换机带到良好定义的状态,没有活动SM,或可以通过一些另外的服务动作使SM与SM节点的其余部分同步。
[0124]根据本发明一实施例,系统可以在M_Key更新事务当中支持主控SM故障转移,这遵循与分区策略更新相同的ACID事务原理。
[0125]系统可以首先分发新的已知M_Key值的列表,并且在提交操作的最后一部分针对所有SM将新M_Key值定义为当前。此外,增强的主控选择协议还可以确保选择的主控可以始终是具有最长的已知密钥值的列表并且可以最佳地适于处理当前配置的SM。
[0126]如此,系统可以确保不可能有如下情况,其中新主控不会由于缺乏关于最近的M_Key值的知识而不能发现/配置子网。例如,所有SM启用的交换机节点都可以具有相同新策略,如果该策略在交换机节点中的任何一个上都被启用的话,否则如果策略没有被复制到所有SM,那么没有SM可以启用新策略。
[0127]图9示出了显示本发明一实施例的特征的功能框图。特征可以实现为用于在网络环境中支持网络管理的系统900。系统900包括一个或多个微处理器以及在运行于一个或多个微处理器上的交换机上的配置守护进程(⑶)910。⑶910操作为在接收单元920处接收包括已知管理密钥(MJfey)值的列表的配置文件;在存储单元930中存储配置文件,使配置文件对交换机上的本地子网管理器(SM)可用,其中本地SM与当前所使用的M_Key值相关联;在从与网络环境中的主控SM相关联的主控CD接收到指令之后,在更新单元940上利用新M_Key更新本地SM。
[0128]根据一实施例,公开了一种用于在一个或多个微处理器上支持网络环境中的网络管理的系统。系统包括用于通过网络环境中的交换机上的配置守护进程(CD),接收配置文件的装置,其中配置文件包括已知管理密钥(MJfey)值的列表。系统还包括用于存储配置文件,并且使配置文件对交换机上的本地子网管理器(SM)可用的装置,其中本地SM与当前使用的M_Key值相关联。系统还包括用于在从与网络环境中的主控SM相关联的主控⑶接收到指令之后,利用新M_Key来更新本地SM的装置。
[0129]优选地,系统包括用于在配置文件中包括受信任M_Key和基于受信任M_Key透明地生成的一个或多个密钥值。
[0130]优选地,系统包括用于在更新/设置任何子网管理代理(SMA)实例的M_Key值时持续使用旧当前M_Key直到本地SM被用新M_Key更新的装置。
[0131]优选地,系统包括用于通过⑶使用专用的SM命令行接口(CLI)命令来更新本地SM的装置。
[0132]优选地,系统包括用于当SM和⑶中的至少一个重启时通过⑶利用当前本地秘密密钥配置来更新本地SM的装置。
[0133]优选地,系统包括用于在配置文件中包含有关当前所使用的M_Key值以及计划的新M_Key值的信息的装置。
[0134]优选地,系统包括用于将当前所使用的M_Key值记录在已知M_Key值的列表中的
>J-U ρ?α装直。
[0135]优选地,系统包括用于使用所述新M_Key值来隔开不可用节点上的SM的装置。
[0136]优选地,系统包括用于确保主控SM具有不比由备用SM实例维护的任何M_Key列表短的已知M_Key列表的装置。
[0137]优选地,系统包括用于在主控⑶上启动提交操作的装置。
[0138]根据一实施例,公开了一种用于支持网络环境中的网络管理的系统。系统包括交换机上的配置守护进程(⑶),其中⑶被配置成接收包括已知管理密钥(MJfey)值的列表的配置文件。系统被配置成存储配置文件,并且使配置文件对交换机上的本地子网管理器(SM)可用,其中本地SM与当前所使用的M_Key值相关联。系统还被配置成在从与网络环境中的主控SM相关联的主控⑶接收到指令之后利用新M_Key来更新本地SM。
[0139]优选地,系统能够使所述配置文件中包括受信任M_Key和基于受信任M_Key透明地生成的一个或多个密钥值。
[0140]优选地,系统能够使所述本地SM在更新/设置任何子网管理代理(SMA)实例的M_Key值时持续使用旧当前M_Key,直到本地SM被用新M_Key更新。
[0141]优选地,系统能够使所述CD操作以使用专用的SM命令行接口(CLI)命令来更新本地SM。
[0142]优选地,系统能够使所述⑶操作以当SM和⑶中的至少一个重启时利用当前本地秘密密钥配置来更新本地SM。
[0143]优选地,系统能够使所述配置文件包含有关当前所使用的M_Key值以及计划的新M_Key值的信息。
[0144]优选地,系统能够使所述⑶操作以将当前所使用的M_Key值记录在已知M_Key值的列表中。
[0145]优选地,系统能够使所述新M_Key值用于隔开不可用节点上的SM。
[0146]优选地,系统能够使所述主控⑶操作以确保主控SM具有不比由备用SM实例维护的任何M_Key列表短的已知M_Key列表。
[0147]根据一实施例,公开了一种包括在一个或多个微处理器上支持网络环境中的网络管理的系统。系统包括用于在网络交换机上提供事务性接口的装置,其中事务性接口允许用户使用事务与网络环境进行交互。系统还包括用于在事务中集合一个或多个操作的装置以及用于确保没有冲突操作被包括在事务中的装置。
[0148]优选地,系统包括用于将网络交换机与网络环境中的子网管理器(SM)相关联的
>J-U ρ?α装直。
[0149]优选地,系统包括用于允许事务性接口是命令行接口(CLI)的装置。
[0150]优选地,系统包括用于使用一个或多个命令来执行一个或多个操作的装置,其中一个或多个命令在事务中被集合在开始命令和提交命令之间。
[0151]优选地,系统包括用于确保在事务开始时用于完成和提交事务的一个或多个条件被满足的装置。
[0152]优选地,系统包括用于在一个或多个当前条件不可接受的情况下允许用户中止事务的装置。
[0153]优选地,系统包括用于允许用户在强制模式下发出提交操作的装置,在该情况下,当一个或多个配置守护进程不可用时,提交操作可以成功。
[0154]优选地,系统包括用于在先前失败的更新事务之后启动更新事务以将多个SM节点同步的装置。
[0155]优选地,系统包括用于在开始事务之前启用秘密管理密钥(MJfey)的装置。
[0156]优选地,系统包括用于将定义的M_Key值设置为在随后的提交操作之后将被SM使用的M_Key值的装置。
[0157]根据一实施例,公开了一种用于支持网络环境中的网络管理的系统。所述系统包括网络交换机,其中网络交换机被配置成提供事务性接口,其中事务性接口允许用户使用事务与网络环境进行交互。系统进一步被配置成在事务中集合一个或多个操作,确保没有冲突操作被包括在事务中。
[0158]优选地,系统能够使网络交换机与网络环境中的子网管理器(SM)相关联。
[0159]优选地,系统能够使事务性接口是命令行接口(CLI)。
[0160]优选地,系统能够使网络交换机操作以使用一个或多个命令来执行一个或多个操作,其中,一个或多个命令在事务中被集合在开始命令和提交命令之间。
[0161]优选地,系统能够使网络交换机操作以确保在事务开始时用于完成和提交事务的一个或多个条件被满足。
[0162]优选地,系统能够使网络交换机操作以在一个或多个当前条件不可接受的情况下,允许用户中止事务。
[0163]优选地,系统能够使网络交换机操作以允许用户在强制模式下发出提交操作,在该情况下,当一个或多个配置守护进程不可用时,提交操作可以成功。
[0164]优选地,系统能够使网络交换机操作以允许用户在先前失败的更新事务之后启动更新事务以将多个SM节点同步。
[0165]优选地,系统能够使网络交换机操作以允许用户在开始事务之前启用秘密管理密钥(MJfey)。
[0166]根据一实施例,公开了一种用于在一个或多个微处理器上支持网络环境中的网络管理的系统。系统包括用于在网络环境中提供多个配置守护进程(CD)的装置,其中主控CD是带有主控子网管理器(SM)的交换机上的活动⑶。系统还包括用于通过主控⑶对与网络环境中的一个或多个对等CD相关联的一个或多个状态执行一致性检查的装置,其中每个对等CD是带有备用SM的交换机上的活动CD。系统还包括用于将配置文件复制到一个或多个对等⑶的装置,其中配置文件包括至少一个管理密钥(MJfey)值。
[0167]优选地,系统包括用于通过主控⑶指示一个或多个对等⑶利用至少一个M_Key值来更新备用SM的装置。
[0168]优选地,系统包括用于基于事务类型来确定将配置文件复制到一个或多个对等⑶的顺序的装置。
[0169]优选地,系统包括用于当事务是只添加(add-only)事务时使用配置文件来首先更新主控SM上的M_Key值的一个或多个已知列表的装置。
[0170]优选地,系统包括用于当事务不是只添加事务时使用M_Key配置文件来首先更新一个或多个备用SM上的M_Key值的一个或多个已知列表的装置。
[0171]优选地,系统包括用于允许一个或多个状态包括一个或多个对等⑶的可用性、兼容的实现/协议版本、正确的当前守护进程运行时状态以及一个或多个对等CD上的正确的当前配置状态/版本的装置。
[0172]优选地,系统包括用于在启动事务之前验证每个⑶的一致的加密密码的装置。
[0173]优选地,系统包括用于在同一事务中禁止改变新当前M_Key值以及删除旧当前M_Key值的装置。
[0174]优选地,系统包括用于确保主控SM具有不比由备用SM实例维护的任何M_Key列表短的已知M_Key列表的装置。
[0175]优选地,系统包括用于在主控⑶上启动提交操作的装置。
[0176]根据一实施例,公开了一种用于支持网络环境中的网络管理的系统。系统包括主控配置守护进程(⑶),其中主控⑶是带有主控子网管理器(SM)的交换机上的活动⑶,其中主控CD被配置成对与网络环境中的一个或多个对等CD相关联的一个或多个状态执行一致性检查,其中每个对等CD是带有备用SM的交换机上的活动CD。系统还被配置成将配置文件复制到一个或多个对等⑶,其中配置文件包括至少一个管理密钥(M_Key)值。
[0177]优选地,系统能够使主控⑶操作以指示一个或多个对等⑶利用至少一个M_Key值来更新备用SM。
[0178]优选地,系统能够使将配置文件复制到一个或多个对等CD的顺序基于事务的类型而被确定。
[0179]优选地,系统能够使主控CD操作以当事务是只添加事务时,使用配置文件来首先更新主控SM上的M_Key值的一个或多个已知列表。
[0180]优选地,系统能够使主⑶操作以当事务不是只添加事务时,使用M_Key配置文件来首先更新一个或多个备用SM上的M_Key值的一个或多个已知列表。
[0181]优选地,系统能够使一个或多个状态包括一个或多个对等CD的可用性、兼容的实现/协议版本、正确的当前守护进程运行时状态、以及一个或多个对等CD上的正确的当前配置状态/版本。
[0182]优选地,系统能够在启动事务之前针对每个CD验证一致的加密密码。
[0183]优选地,系统能够在同一事务中禁止改变新当前M_Key值的操作以及删除旧当前M_Key值的操作。
[0184]优选地,系统能够使主控⑶操作以确保主控SM具有不比由备用SM实例维护的任何M_Key列表短的已知M_Key列表。
[0185]根据一实施例,公开了一种用于支持网络环境中的网络管理的方法,包括在网络交换机上提供事务性接口,其中事务性接口允许用户使用事务与网络环境进行交互;在事务中集合一个或多个操作;以及确保没有冲突的操作被包括在事务中。
[0186]根据一实施例,公开了一种用于将网络交换机与网络环境中的子网管理器(SM)相关联的方法。
[0187]根据一实施例,公开了一种能够允许事务性接口是命令行接口(CLI)的方法。
[0188]根据一实施例,公开了一种用于使用一个或多个命令来执行一个或多个操作的方法,其中一个或多个命令在事务中被集合在开始命令和提交命令之间。
[0189]根据一实施例,公开了一种用于确保在事务开始时用于完成和提交事务的一个或多个条件被满足的方法。
[0190]根据一实施例,公开了一种用于在一个或多个当前条件不可接受的情况下允许用户中止事务的方法。
[0191]根据一实施例,公开了一种允许用户在强制模式下发出提交操作的方法,在该情况下,当一个或多个配置守护进程不可用时,提交操作可以成功。
[0192]根据一实施例,公开了一种在先前失败的更新事务之后启动更新事务以将多个SM节点同步的方法。
[0193]根据一实施例,公开了一种用于在开始事务之前启用秘密管理密钥(MJfey)的方法。
[0194]根据一实施例,公开了一种用于将定义的M_Key值设置为在随后的提交操作之后将被SM使用的M_Key值的方法。
[0195]根据一实施例,公开了一种用于支持网络环境中的网络管理的系统,包括一个或多个微处理器;在一个或多个微处理器上运行的网络交换机,其中所述网络交换机操作以提供事务性接口,其中事务性接口允许用户使用事务与网络环境进行交互;在事务中集合一个或多个操作;以及确保没有冲突的操作被包括在事务中。
[0196]根据一实施例,公开了一种系统,其中网络交换机与网络环境中的子网管理器(SM)相关联。
[0197]根据一实施例,公开了一种系统,其中事务性接口是命令行接口(CLI)。
[0198]根据一实施例,公开了一种系统,其中所述网络交换机操作以使用一个或多个命令来执行一个或多个操作,其中一个或多个命令在事务中集合在开始命令和提交命令之间。
[0199]根据一实施例,公开了一种系统,其中网络交换机操作以确保在事务开始时用于完成和提交事务的一个或多个条件被满足。
[0200]根据一实施例,公开了一种系统,其中网络交换机操作以在一个或多个当前条件不可接受的情况下,允许用户中止事务。
[0201]根据一实施例,公开了一种系统,其中网络交换机操作以允许用户在强制模式下发出提交操作,在该情况下,当一个或多个配置守护进程不可用时,提交操作可以成功。
[0202]根据一实施例,公开了一种系统,其中网络交换机操作以允许用户在先前失败的更新事务之后启动更新事务以将多个SM节点同步。
[0203]根据一实施例,公开了一种系统,其中网络交换机操作以允许用户在开始事务之前启用秘密管理密钥(MJfey)。
[0204]根据一实施例,公开了一种非暂时性机器可读存储介质,其上储存有指令,所述指令在执行时使系统执行包括下列步骤的步骤:在网络交换机上提供事务性接口,其中事务性接口允许用户使用事务与网络环境进行交互;在所述事务中集合一个或多个操作;以及确保没有冲突的操作被包括在事务中。
[0205]根据一实施例,公开了一种用于支持网络环境中的网络管理的方法,包括:在网络环境中提供多个配置守护进程(⑶),其中主控⑶是带有主控子网管理器(SM)的交换机上的活动CD ;通过主控CD,对与网络环境中的一个或多个对等CD相关联的一个或多个状态执行一致性检查,其中每个对等CD是带有备用SM的交换机上的活动CD ;以及将配置文件复制到一个或多个对等⑶,其中配置文件包括至少一个管理密钥(MJfey)值。
[0206]根据一实施例,公开了一种用于通过主控⑶指示一个或多个对等⑶利用至少一个M_Key值来更新备用SM的方法。
[0207]根据一实施例,公开了一种用于基于事务类型来确定将配置文件复制到一个或多个对等CD的顺序的方法。
[0208]根据一实施例,公开了一种用于当事务是只添加事务时使用配置文件来首先更新主控SM上的M_Key值的一个或多个已知列表的方法。
[0209]根据一实施例,公开了一种用于当事务不是只添加事务时使用M_Key配置文件来首先更新一个或多个备用SM上的M_Key值的一个或多个已知列表的方法。
[0210]根据一实施例,公开了一种用于允许一个或多个状态包括一个或多个对等CD的可用性、兼容的实现/协议版本、正确的当前守护进程运行时状态、以及一个或多个对等CD上的正确的当前配置状态/版本的方法。
[0211]根据一实施例,公开了一种用于在启动事务之前验证每个CD的一致的加密密码的方法。
[0212]根据一实施例,公开了一种用于在同一事务中禁止改变新当前M_Key值以及删除的旧当前M_Key值的方法。
[0213]根据一实施例,公开了一种用于确保主控SM具有不比由备用SM实例维护的任何M_Key列表短的已知M_Key列表的方法。
[0214]根据一实施例,公开了一种用于在主控⑶上启动提交操作的方法。
[0215]根据一实施例,公开了一种用于支持网络环境中的网络管理的系统,包括:一个或多个微处理器;在一个或多个微处理器上运行的主控配置守护进程(⑶),其中主控⑶是带有主控子网管理器(SM)的交换机上的活动⑶,其中主控⑶操作以对与网络环境中的一个或多个对等CD相关联的一个或多个状态执行一致性检查,其中每个对等CD是带有备用SM的交换机上的活动CD ;以及将配置文件复制到一个或多个对等CD,其中配置文件包括至少一个管理密钥(M_Key)值。
[0216]根据一实施例,公开了一种系统,其中主控CD操作以指示一个或多个对等CD利用至少一个M_Key值来更新备用SM。
[0217]根据一实施例,公开了一种系统,其中可以基于事务类型来确定将配置文件复制到一个或多个对等CD的顺序。
[0218]根据一实施例,公开了一种系统,其中当事务是只添加事务时,主控CD操作以使用配置文件来首先更新主控SM上的M_Key值的一个或多个已知列表。
[0219]根据一实施例,公开了一种系统,其中当事务不是只添加事务时,主控CD操作以使用M_Key配置文件来首先更新一个或多个备用SM上的M_Key值的一个或多个已知列表。
[0220]根据一实施例,公开了一种系统,其中一个或多个状态包括一个或多个对等CD的可用性、兼容的实现/协议版本、正确的当前守护进程运行时状态、以及一个或多个对等CD上的正确的当前配置状态/版本。
[0221]根据一实施例,公开了一种系统,其中在启动事务之前,验证每个CD的一致的加密密码。
[0222]根据一实施例,公开了一种系统,其中在同一事务中改变新当前M_Key值的操作以及删除旧当前M_Key值的操作被禁止。
[0223]根据一实施例,公开了一种系统,其中主控⑶操作以确保主控SM具有不比由备用SM实例维护的任何M_Key列表短的已知M_Key列表。
[0224]根据一实施例,公开了一种非暂时性机器可读存储介质,其上存储有指令,所述指令在运行时使系统执行包括以下步骤的步骤:在网络环境中提供多个配置守护进程(CD),其中主控⑶是带有主控子网管理器(SM)的交换机上的活动⑶;通过主控⑶对与网络环境中的一个或多个对等CD相关联的一个或多个状态执行一致性检查,其中每个对等CD是带有备用SM的交换机上的活动CD ;以及将配置文件复制到一个或多个对等CD,其中配置文件包括至少一个管理密钥(MJfey)值。
[0225]本发明可以使用一个或多个常规通用或专用数字计算机、计算设备、机器或微处理器,包括一个或多个处理器、存储器和/或根据本发明的原理编程的计算机可读存储介质,来方便地实现。对于那些精通软件技术的人来说显而易见的是,可以由熟练的程序员基于本发明的原理轻松地编制适当的软件代码。
[0226]在某些实施例中,本发明包括计算机程序产品,该产品是其中存储了指令的存储介质或计算机可读介质,这些指令可以用来对计算机进行编程,以执行本发明的任何一个进程。存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVDXD-R0M、微驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、FLASH存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC)、适于存储指令和/或数据的任何类型的介质或设备。
[0227]前面的对本发明的描述只是为了说明和描述。它不是详尽的说明或将本发明限于所公开的准确形式。那些精通本技术的专业人员将认识到,可以进行许多修改。所选择和描述的实施例只是为了最好地说明本发明的原理及其实际应用,并使精通本技术的其他人懂得,带有适合于特定用途的各种修改的各实施例的本发明也是可以接受的。本发明的范围由下面的权利要求以及它们的等效内容进行定义。
[0228]附录A
[0229]示例CLI 接口
[0230]例如,Oracle NW2网络交换机可以提供smsubnetprotect1n CLI接口以支持如上述部分所描述的事务性协议。smsubnetprotect1n CLI接口可以提供下列命令:
[0231]start
[0232]start (开始)命令可以检查(通过⑶)所有所需的⑶实例(“smnodes”)是否都可用和可运转。如果是,则系统可以建立当前M_Key配置的工作副本。start命令可包括强制开始、隐式启用以及指定事务类型(例如,“addonly (只添加)”或“deleteonly (只删除)”)的选项。
[0233]如果选择了强制选项,则即使并非所有CD都可用,操作也可以成功,但是,如果并非所有CD都可用,则会向用户发出警告,并且有标识“丢失的” CD的组的日志条目。
[0234]为了使start命令成功,可能需要设置对秘密M_Key的使用的启用状态。可以首先通过使用enablesecretmkey命令,或通过选择可以为start命令指定的“enable”选项,来设置启用状态。具有start命令的“enable”选项的理由是确保秘密M_Key的使用可以与定义的当前值和/或已知值的列表一起被启用。
[0235]此外,如果为事务指定了“addonly”类型,那么在此事务中不允许删除操作(反之亦然,如果指定了 “deleteonly” )。为同一事务指定“deleteonly”和“addonly”两者也是不合法。如果“deleteonly”、“addonly”两者都未被指定,那么只允许set-current操作。另一方面,可以独立于事务是“addonly”或“deleteonly”,使用set-current操作。
[0236]Iistactive
[0237]Iistactive命令可以显示最近提交的M_Key以及当前M_Key值和启用的状态的列表。此命令可以独立于任何正在进行的事务调用。Iistactive命令可包括用于列出符号和/或十六进制值的选项。
[0238]Iistworking
[0239]Iistworking命令可以显示自从最后一个start命令以来(即,尚未提交)所产生的变化的列表和当前基础。Iistworking命令可包括用于列出符号和/或十六进制值的选项。
[0240]Iistlocalmkey
[0241]Iistlocalmkey命令可以显示为本地交换机芯片(例如,IS4实例)定义的当前M_Key值(如果有的话)。输出可以反映是否定义了任何M_Key,如果是,它是“readable (可读)”还是“secret (秘密)”。另外,输出可以反映不使用M_Key的情况。
[0242]在配置错误的情况下(例如,由对sysfs接口的人工访问引起),输出也可以反映非法或不支持的保护比特值。此外,输出还可以反映匪2SM不能管理此节点,例如当M_Key值是零但是保护比特值指出“secret”模式时。
[0243]此操作可以独立于本地SM启用或主控状态,从任何匪2执行。
[0244]set1calsecretmkey
[0245]set1calsecretmkey命令可以将本地IS4实例的M_Key值设置为指定的值,并且将相关联的模式设置为“secret” (即,M_Key保护比特)。setlocalsecretmkey命令可包括用于指定带有密码要求的符号或无格式十六进制的选项。
[0246]此操作可以独立于本地SM启用或主控状态,从任何NM2节点执行。零值不是合法的秘密M_Key值,CLI命令可以拒绝它。
[0247]add
[0248]add命令可以向工作列表中添加新M_Key值。add命令可包括用于指定带有密码要求的符号或无格式十六进制的选项。add命令只有在事务被从“addonly”选项开始的情况下才合法。
[0249]撤销任何不正确地添加值可以通过利用abort子命令,显式地中止当前事务来完成。这确保以一致并且意义明确的方式清理添加然后设置新添加的值为current。
[0250]delete
[0251]delete命令可以从列表中移除已有的M_Key值。delete命令可包括用于指定符号或无格式十六进制的选项。
[0252]此命令只有在事务是从“deleteonly”选项开始的情况下才合法。此外,移除“ current ”值和“ ο I d current ”值都是不合法的,这是通过接口强制的。此外,删除系统中的目前可能临时离线的任何匪2节点的仍可以作为“current”存在的任何值也不合法。此约束不可通过接口强制,但是可以作为管理员应该遵循的规则记录。
[0253]另外,撤销任何不正确地删除的值可以通过利用abort子命令,显式地中止当前事务来完成。
[0254]set-current
[0255]set-current命令可以将已经定义的M_Key值设置为在随后的提交操作之后主控SM所使用的当前M_Key值。set-current命令可包括用于指定符号或无格式十六进制的选项。
[0256]当更新当前M_Key值时,可以记录旧当前M_Key值。在相同更新事务中进行更新当前M_Key值和删除旧当前M_Key值两者是不合法的。此外,在相同事务过程中多个set-current操作可以是合法的,只要它们全部都标识当前定义的M_Key值,只有提交之前的最后一个操作可以对所产生的活动配置具有影响。
[0257]如果提交配置时没有定义当前M_Key值,那么这被接受,但是结果是就像配置被禁用一样。
[0258]—旦通过set-current命令定义当前M_Key值,则复位它是不可能的,除非配置被禁用。这也表明,当配置被禁用时添加更多已知值是不可能的。
[0259]如此,为了在禁用模式下更新已知列表,当更新配置时必须临时启用配置,但是之后可以立即再次禁用。
[0260]commit
[0261]commit命令可以通过F1D-PD提交协议,使自从最后一个start操作以来(重新)定义的配置在系统中起作用。commit命令可包括强制提交选项。
[0262]默认地,如果并非所有定义的(“smnodes”)^)实例都存在,操作会失败。如果指定了 “force (强制)”选项,那么如果并非所有H)实例都可用,操作仍可以成功,但是会生成警告和日志消息。
[0263]abort
[0264]abort命令可以丢弃自从最后一个start命令以来尚未提交的所有操作,而不会对起作用的配置有任何影响。delete或add命令的任何不正确的自变量都可以通过执行abort操作来撤销。
[0265]setpassword
[0266]在复制到其他节点之前,setpassword命令可以定义用于加密M_Key列表的密码。此夕卜,还可以在所有“smnodes”NM2s上定义相同密码,可以以与更新“smnodes”成员资格时相同的控制方式来更新。
[0267]带有至少8个符号的字母数字串的密码被视为强的。系统可以提供嵌入默认密码值,该值可以通过setpassword命令来替换。
[0268]对于加密的方法可以基于开源工具包,其中用户提供的密码可以用作加密/解密算法的输入。
[0269]指定的密码也可以被用来基于由添加命令所指定的密钥值来生成导出的密钥值。指定的密码可以永久地本地记录在NM2上,直到它再次显式地更新。
[0270]每当密码在一个“smnode”上更新时,它必须在任何事务可以发生之前在其他“smnodes” 上更新。
[0271]enablesecretmkey
[0272]enablesecretmkey命令可以表示对于当前定义的配置的隐式的开始和提交事务。enablesecretmkey 命令可包括 “force start/commit” 的选项。
[0273]如果当前没有定义配置,那么该命令可以没有效果,除了验证所有对等“smnodes”都可用并且处于正确的状态,还将启用状态设置为“启用”之外。(启用状态是底层配置文件中的专用标志。)如果当前没有定义配置,那么启用状态可以对SM的操作没有影响。
[0274]disablesecretmkey
[0275]disablesecretmkey命令可以表示对于当前定义的配置的隐式开始/提交事务,副作用是没有秘密M_Key值可以被“smnodes”上的任何SM使用。与普通事务不同,开始/提交事务不更新由配置所定义的当前M_Key值,而是将“启用状态”设置为“禁用”。disablesecretmkey 命令可包括“force start/commit” 的选项。
[0276]禁用状态表明,SM可以使用任何已经定义的可读取的M_Key值,或根本不使用任何M_Key值。此外,仍可以定义已知秘密M_Key值的列表,主控SM仍能够发现和管理在对“非秘密”M_Key的首次更新过程中不可用但是现在可用并且已知秘密M_Key值之一起作用的任何端口 /节点。
[0277]更新事务,例如,由 commit、enablesecretmkey 或 disablesecretmkey 子命令所导致的事务,可以以这样的方式来实现:就如果事务失败仍可以定义所有SM启用的匪2上带有匪22.1固件的运转子网内的主控选择而言,是安全的。
[0278]此外,在瞬态问题的情况下,还可以重复失败的事务,以便试图成功地完成它,而不会有比较显著的不一致性的任何固有风险。此外,挡开操作,诸如定义额外已知密钥值以及使它成为当前(current),可以在强制模式下进行,以确保带有未知状态的匪2节点不能修改子网的状态。
[0279]另外,在失败的更新事务之后禁止使用秘密密钥,或在失败的事务之后删除已知密钥值可能会导致子网中的不一致的主控选择,并因此,在smnodes组没有被带到一致状态之前不尝试。
[0280]这里,使系统进入一致状态会涉及基于(可能的新)主控是否已经更新(所希望的)当前配置,来从当前主控执行enablesecretmkey或更新事务。
【权利要求】
1.一种用于在网络环境中支持网络管理的方法,包括: 通过所述网络环境中的交换机上的配置守护进程(CD)接收配置文件,其中所述配置文件包括已知管理密钥(MJfey)值的列表; 存储所述配置文件,并且使所述配置文件对所述交换机上的本地子网管理器(SM)可用,其中所述本地SM与当前使用的M_Key值相关联;以及 在从与所述网络环境中的主控SM相关联的主控⑶接收到指令之后,用新M_Key更新所述本地SM。
2.根据权利要求1所述的方法,还包括: 在所述配置文件中包括受信任M_Key以及基于所述受信任M_Key透明地生成的一个或多个密钥值。
3.根据权利要求1或2所述的方法,还包括: 当更新/设置任何子网管理代理(SMA)实例的M_Key值时,继续使用旧的当前M_Key,直到所述本地SM被用所述新M_Key更新。
4.根据任一前述权利要求所述的方法,还包括: 通过所述⑶,使用专用SM命令行接口(CLI)命令来更新所述本地SM。
5.根据任一前述权利要求所述的方法,还包括: 当所述SM和⑶中的至少一个重启时,通过所述⑶,利用当前的本地秘密密钥配置来更新所述本地SM。
6.根据任一前述权利要求所述的方法,还包括: 在所述配置文件中包含关于当前使用的M_Key值以及所计划的新M_Key值的信息。
7.根据任一前述权利要求所述的方法,还包括: 将当前使用的M_Key值记录在已知M_Key值的列表中。
8.根据任一前述权利要求所述的方法,还包括: 使用所述新M_Key值来隔开不可用节点上的SM。
9.根据任一前述权利要求所述的方法,还包括: 确保所述主控SM具有不比由备用SM实例维护的任何M_Key列表短的已知M_Key列表。
10.根据任一前述权利要求所述的方法,还包括: 在所述主控⑶上启动提交操作。
11.一种计算机程序,包括程序指令,所述程序指令用于在一个或多个微处理器上运行以执行任一前述权利要求所述的方法的所有步骤。
12.—种计算机程序,包括在机器可读介质上提供的权利要求11的计算机程序。
13.一种用于在网络环境中支持网络管理的系统,包括: 一个或多个微处理器; 在运行于所述一个或多个微处理器上的交换机上的配置守护进程(CD),其中所述CD操作为 接收包括已知管理密钥(M_Key)值的列表的配置文件; 存储所述配置文件,并且使所述配置文件对于所述交换机上的本地子网管理器(SM)可用,其中所述本地SM与当前使用的M_Key值相关联;以及 在从与所述网络环境中的主控SM相关联的主控⑶接收到指令之后,用新M_Key更新所述本地SM。
14.根据权利要求13所述的系统,其中: 所述配置文件包括受信任M_Key以及基于所述受信任M_Key透明地生成的一个或多个密钥值。
15.根据权利要求13或14所述的系统,其中: 在更新/设置任何子网管理代理(SMA)实例的M_Key值时,所述本地SM继续使用旧的当前M_Key,直到所述本地SM被用所述新M_Key更新。
16.根据权利要求13-15中的任一项所述的系统,其中: 所述CD操作为使用专用的SM命令行接口(CLI)命令来更新所述本地SM。
17.根据权利要求13-16中的任一项所述的系统,其中: 当所述SM和CD中的至少一个重启时,所述CD操作为利用当前的本地秘密密钥配置来更新所述本地SM。
18.根据权利要求13-17中的任一项所述的系统,其中: 所述配置文件包含有关当前使用的M_Key值以及所计划的新M_Key值的信息。
19.根据权利要求13-18中的任一项所述的系统,其中: 所述CD操作为将当前使用的M_Key值记录在已知M_Key值的列表中。
20.根据权利要求13-19中的任一项所述的系统,其中: 所述新M_Key值用于隔开不可用节点上的SM。
21.根据权利要求13-20中的任一项所述的系统,其中: 所述主控CD操作为确保所述主控SM具有不比由备用SM实例维护的任何M_Key列表短的已知M_Key列表。
22.—种非暂时性机器可读储存介质,具有存储于其上的指令,所述指令在运行时使系统执行包括以下步骤的步骤: 通过网络环境中的交换机上的配置守护进程(CD)接收配置文件,其中所述配置文件包括已知管理密钥(MJfey)值的列表; 存储所述配置文件,并且使所述配置文件对于所述交换机上的本地子网管理器(SM)可用,其中所述本地SM与当前使用的M_Key值相关联;以及 在从与所述网络环境中的主控SM相关联的主控⑶接收到指令之后,用新M_Key更新所述本地SM。
23.一种计算机程序,用于使计算机实施权利要求1到10中的任何一项所述的方法。
【文档编号】H04L29/06GK104170348SQ201380014177
【公开日】2014年11月26日 申请日期:2013年5月10日 优先权日:2012年5月10日
【发明者】B·D·约翰森, P·那拉西姆哈姆厄西, D·G·莫克斯纳斯, L·霍雷恩, P·霍道巴 申请人:甲骨文国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1