当前位置: 首页 > 专利查询>微软公司专利>正文

透明故障转移制造技术

技术编号:9770161 阅读:113 留言:0更新日期:2014-03-16 06:19
描述了针对用来跨网络故障和服务器故障转移保留状态的持久句柄的实施例。在已经建立了与文件服务器的会话之后持久句柄被客户端请求。对持久句柄的请求包括由客户端生成的句柄标识符。服务器使用句柄标识符来关联状态信息。当存在网络故障或服务器故障转移并且重新连接到客户端时,句柄标识符被用来标识如果被重放将在服务器上创建不一致状态的经重放的请求。经重放的请求随后被适当地处理。

【技术实现步骤摘要】
【国外来华专利技术】用于透明故障转移的系统和方法背景服务器群集常用于向客户端提供故障转移和高信息可用性。服务器群集的使用允许到客户端的透明故障转移,从而任何服务器故障对在客户端上请求服务器操作的应用是透明的。在共享文件系统中,服务器群集可能对向网络中的数个客户端提供对文件信息的访问是有用的。然而,当该共享文件系统利用诸如服务器消息块(SMB)协议之类的状态协议时可产生问题。当服务器群集中的服务器有故障时,一些状态协议不提供将客户端状态从有故障的服务器转移到替换服务器的途径。同样,提供来存储某些状态信息的文件访问协议不提供来供不同的组件存储不同的状态信息。各实施例正是对于这些和其它考虑事项而作出的。而且,尽管讨论了相对具体的问题,但是应当理解,各实施例不应被限于解决本
技术介绍
中所标识的具体问题。概述提供本概述来以简化形式介绍一些概念,这些概念将在以下详细描述部分中进一步描述。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。所描述的是利用共享文件系统中持久句柄的实施例。持久句柄用来跨网络故障和服务器故障转移保留状态。在已经建立了与文件服务器的会话之后,持久句柄被客户端请求。对持久句柄的请求包括由客户端生成的句柄标识符。服务器使用句柄标识符来关联状态信息。当存在网络故障或服务器故障转移并且重新连接到客户端时,句柄标识符被用来标识如果被重放将在服务器上创建不一致状态的经重放的请求。这些经重放的请求随后被适当地处理。实施例可被实现为计算机进程、计算系统、或者诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并编码了用于执行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品还可以是计算系统可读并编码了用于执行计算机过程的指令的计算机程序的载体上的传播信号。附图简述参考以下附图描述非限制性和非穷尽的实施例。图1示出了可用于实现各实施例的系统。图2示出了根据一些实施例的客户端和文件服务器群集使用文件访问协议来通信的框图。图3示出了根据一些实施例的用于提供对服务器故障转移的重放防御的操作流程。图4示出了根据一些实施例的用于维持文件信息的一致可用性的操作流程。图5示出了适于实现各实施例的计算环境的框图。详细描述以下将参考形成本专利技术一部分并示出各具体示例性实施例的附图更详尽地描述各个实施例。然而实施例被实现为许多不同的形式并且不应将其解释为限制在此处描述的实施例;相反地,提供这些实施例以使得本公开变得透彻和完整,并且将这些实施例的范围完全传达给本领域普通技术人员。各实施例可按照方法、系统或设备来实施。因此,这些实施例可采用硬件实现形式、全软件实现形式或者结合软件和硬件方面的实现形式。因此,以下详细描述并非是局限性的。图1示出了可用于实现一些实施例的系统100。系统100包括客户端102和104以及服务器群集106。客户端102和104通过网络108与服务器群集106通信。服务器群集106存储被客户端102和104上的应用访问的信息。客户端102和104建立与群集106的会话以访问群集106上的信息。尽管在图1中,仅有客户端102和104被示为与群集106通信,但是在其他实施例中,可以存在两个以上客户端访问来自服务器群集106的信息。如图1所示,服务器群集106包括服务器106A、106B和106C,这些服务器为存储在群集106上的信息既提供高可用性又提供冗余性。在实施例中,群集106具有由客户端102和104访问的文件系统。尽管图1中示出了3个服务器,但是在其他实施例中,群集106可以包括3个以上服务器或3个以下服务器。在实施例中,客户端102和104上的应用请求来自文件系统的文件信息,并且对应用是透明地从服务器群集106上的共享文件系统检索这些文件信息。根据一个实施例,服务器106A、106B和106C被用来提供存储在群集106上的文件系统的一致可用性。这是通过利用客户端102和104以及服务器106A、106B和106C上的组件来存储以下状态信息而完成的:即在存在网络108的故障或服务器106A、106B和106C之一的故障的情况下,可以被用来在客户端102和104以及群集106之间重建会话的状态信息。如以下更加详细描述的,状态信息的存储允许客户端102和104具有一致文件访问和对在客户端102和104上运行的各应用透明的故障转移。在实施例中,群集106的各服务器(例如106A、106B和106C)各自向各客户端提供对文件信息的访问,并且群集106的各服务器被配置成向各客户端提供文件信息的一致可用性。为了示出一个实施例,客户端102发送建立与群集106的服务器的会话的请求。例如,客户端102可以建立与服务器106A的会话以访问存储在服务器群集106上的共享文件系统。作为建立会话的过程的一部分,客户端102可以利用文件访问协议。在实施例中,文件访问协议是一个版本的网络文件系统(NFS)或服务器消息块(SMB)协议。会话的建立可以涉及对在客户端102和服务器106A之间传输的多个协商请求和响应的交换。在SMB协议的各版本中,存在专门定义的协商分组,该专门定义的协商分组被用来协商会话期间将要使用的协议的确切版本以及就客户端(例如,102)和服务器(例如,106A)二者的能力对彼此作广告。在一个实施例中,协商分组可以包括服务器106A是群集(例如,群集106)一部分的指示。这允许客户端知道服务器106A能够提供一致可用性,换言之,透明故障转移能力。继续以上的示例,在建立会话之后,客户端102可将根据文件访问协议格式化的消息发送到服务器106A,以供持久句柄访问文件系统中的文件。在实施例中,作为服务器106A是群集106一部分的结果,请求持久句柄指示客户端想要利用可用的透明故障转移能力。在实施例中,请求包括是全局唯一标识符的句柄标识符。服务器106A将接收对持久句柄的请求并且为了与客户端102的会话而存储句柄标识符和状态信息。存储状态信息可以仅仅涉及文件服务器将句柄标识符持久保存到存储以及存储与该句柄标识符相关联的状态信息。如在以下更加详细描述的,在一些实施例中,可以使用诸如过滤器的分开的组件来存储不同类型的状态信息。在又一些实施例中,有关持久句柄的信息被在各节点间进行复制并且不被存储到文件系统上的持久存储。在还一些实施例中,有关持久句柄的信息既被在各节点间进行复制又被存储到文件系统上的持久存储。服务器106A将授权持久句柄以及对文件信息的访问的响应发送到客户端102。客户端102随后继续发送对文件执行各种操作的其他请求。例如,客户端102可以发送读取文件信息的请求、写文件的请求、枚举文件的属性的请求、关闭文件的请求以及请求文件上的各种锁的请求。客户端所请求的各种操作中的每一种操作可以导致更新状态信息以确保如果客户端被断开连接,客户端的状态可以被恢复。此更新可以涉及保存与句柄标识符相关联的额外状态信息。在某一时刻,客户端102可以从服务器断开连接。例如,该断开连接可能是因为例如网络故障或中断。或者,该断开连接可能是因为服务器106A的故障。在这些涉及网络故障的实施例中,客户端102可以检测断开连接已经发生并且等待网络变得可用以与服务器106A重本文档来自技高网...
透明故障转移

【技术保护点】
一种向访问服务器群集上的共享文件系统的客户端提供一致可用性的计算机实现的方法,所述方法包括:在文件服务器接收连接到所述文件服务器以访问共享文件系统中的文件信息的请求,所述第一请求是根据文件访问协议来格式化的,其中所述文件服务器是服务器群集中的多个服务器中之一;从所述文件服务器发送响应,所述响应建立与客户端的、允许对所述共享文件系统中的文件信息的访问的会话,所述响应是根据所述文件访问协议来格式化的;在所述文件服务器接收打开所述文件服务器上持久句柄以供客户端访问所述共享文件系统中的文件的请求,所述请求包括由所述客户端提供的句柄标识符;响应于接收所述请求,所述文件服务器:与所述句柄标识符相关联地存储有关所述会话的第一状态信息;以及向所述客户端发送授权对所述文件的访问的响应;在客户端断开连接之后,接收使用所述持久句柄重新建立所述会话的请求;以及使用所述第一状态信息重新建立所述会话。

【技术特征摘要】
【国外来华专利技术】2011.06.30 US 13/174,2711.一种向访问服务器群集上的共享文件系统的客户端提供一致可用性的计算机实现的方法,所述方法包括:在文件服务器接收连接到所述文件服务器以访问共享文件系统中的文件信息的请求,所述请求是根据文件访问协议来格式化的,其中所述文件服务器是服务器群集中的多个服务器中之一;从所述文件服务器发送响应,所述响应建立与客户端的、允许对所述共享文件系统中的文件信息的访问的会话,所述响应是根据所述文件访问协议来格式化的;在所述文件服务器接收打开所述文件服务器上持久句柄以供客户端访问所述共享文件系统中的文件的请求,所述请求包括由所述客户端提供的句柄标识符;响应于接收所述请求,所述文件服务器:与所述句柄标识符相关联地存储有关所述会话的第一状态信息;以及向所述客户端发送授权对所述文件的访问的响应;在客户端断开连接之后,接收使用所述持久句柄重新建立所述会话的请求;使用所述第一状态信息重新建立所述会话;在重新建立所述会话之后从所述客户端接收新的请求,所述新的请求包括所述句柄标识符;以及使用所述句柄标识符确定所述新的请求是先前发送请求的重放。2.如权利要求1所述的方法,其特征在于,所述第一状态信息包括如果被所述客户端重新发送会导致所述文件服务器最终处于不一致状态的操作的状态。3.如权利要求1所述的方法,其特征在于,所述客户端断开连接因文件服务器的故障而发生,并且重新建立所述连接由所述服务器群集中的第二文件服务器执行。4.一种维持一致性状态的方法,所述方法包括:由客户端发送连接到服务器以访问文件信息的请求,该请求是根据文件访问协议来格式化的;从所述服务器接收响应,所述响应建立与客户端的、允许对所述服务器上的文件信息的访问的会话,所述响应是根据所述文件访问协议来格式化的;发送打开所述服务器上的持久句柄以供所述客户端访问所述服务器上的文件的请求,该请求包括由所述客户端提供的句柄标识符;在所述客户端接收授权对所述文件的访问的响应;检测所述客户端已经从所述服务器断开连接;发送使用所述持久句柄重新建立所述会话的请求,重新建立所述会话的请求包括所述句柄标识符;判定所述会话已被重新建立;发送新的请求;以及使用所述句柄标识符确定所述新的请求是先前发送请求的重放。5.一种用于提供文件信息的一致可用性的系统,所述系统包括:第一服务器,其包括:被配置成执行计算机可执行指令的至少一个处理器;存储所述计算机可执行指令的至少一...

【专利技术属性】
技术研发人员:M·乔治D·M·克鲁斯J·T·平克顿R·C·巴特帕蒂T·乔利P·R·斯旺M·商D·E·洛文格
申请(专利权)人:微软公司
类型:
国别省市:

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

1