本发明专利技术涉及SMB2扩展。公开了用于在经扩展的集群环境中操作的客户机和服务器的系统和方法。通过向客户机提供并行地尝试与多个服务器进行连接的能力,在将客户机连接到集群环境的过程中引入了效率。在该集群环境中操作的服务器也能够提供文件句柄和其他状态信息的持久存储。状态信息和持久句柄的所有权可在各服务器之间转移,从而向客户机提供了在维持对该集群环境中的资源的访问的情况下从一个服务器移到另一服务器的机会。
【技术实现步骤摘要】
本专利技术涉及集群环境的扩展。
技术介绍
服务器集群常用于提供信息到客户机的故障切换和高可用性。传统上,集群环境是根据客户机-服务器协议来设计的,其中客户机连接到服务器以访问该服务器可用的资源。在传统集群环境中,组成该环境的不同的服务器可访问不同的文件系统。不能访问共同的文件系统限制了传统文件系统集群的功能。各实施例正是对于这些和其他考虑事项而做出的。而且,尽管讨论了相对具体的 问题,但是应当理解,各实施例不应被限于解决本
技术介绍
中所标识的具体问题。
技术实现思路
提供本
技术实现思路
来以简化形式介绍将在以下详细描述部分中进一步描述的一些概念。本
技术实现思路
并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。本公开内容的各实施例提供了经扩展的集群环境,其中文件系统在逻辑上被集群在一起使得该集群中的每一节点能访问驻留在该集群中的所有资源。因为文件系统能由该集群环境中的每一节点访问,所以不论客户机连接到哪一节点,该客户机都可以访问该集群的资源。这样的环境向客户机提供了在连接到集群环境时的各个选项。客户机可以利用经扩展的集群节点的灵活性来高效地连接到服务器集群。在其他实施例中,尽管该经扩展的集群环境允许客户机访问跨该集群的资源而不论客户机与其建立连接的实际节点如何,但一旦客户机与一节点建立了连接,它就尝试维持它与该同一节点的连接以减少在该集群环境的各节点之间转移的状态信息的量。然而,在一些情况下,客户机可能不能维持与同一节点的连接,而是需要连接到该经扩展的集群环境中的不同节点。在其他环境中,该经扩展的集群环境提供会话信息、状态信息和/或句柄的存储和维护,以便于客户机从一个节点移动到另一节点。该集群的各节点能够在彼此之间传递这样的信息,以便于客户机连接的移动。各实施例可被实现为计算机进程、计算系统、或者诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并对用于执行计算机过程的指令的计算机程序编码的计算机存储介质。计算机程序产品还可以是计算系统可读并对用于执行计算机过程的指令的计算机程序编码的载体上的传播信号。附图说明参考以下附图描述非限制性和非穷尽性的实施例。图I示出了可用于实现此处描述的实施例的系统。图2是客户机在连接到服务器集群时可以执行的方法的实施例。图3是客户机在集群环境中的各节点之间转移连接时可以执行的方法的实施例。图4是由集群环境中的节点执行以维护和转移持久句柄的方法的实施例。图5是由集群环境中的节点执行以请求先前建立的会话的所有权的方法的实施例。图6示出了适于实现各实施例的计算环境的框图。具体实施例方式以下将参考形成本专利技术一部分并示出各具体示例性实施例的附图更详尽地描述各个实施例。然而各实施例被实现为许多不同的形式并且不应将其解释为限制在此处描述的实施例;相反地,提供这些实施例以使得本公开变得透彻和完整,并且将这些实施例的范围完全传达给本领域普通技术人员。因此,这些实施例可采用硬件实现形式、全软件实现形 式或者结合软件和硬件方面的实现形式。因此,以下详细描述并非是局限性的。图I示出了可用于实现此处公开的一些实施例的系统100。系统106可以是包含一个或多个节点的示例集群系统。集群系统的示例是具有一个或多个服务器的服务器集群,如图I所示。系统100包括客户机102和104以及服务器集群106。客户机102和104通过网络108与服务器集群106通信。在各实施例中,网络108可以是因特网、WAN、LAN、或本领域已知的任何其他类型的网络。服务器集群106存储被客户机102和104上的应用访问的资源。客户机102和104与集群106建立会话以访问集群106上的资源。尽管在图I中,仅有客户机102和104被示为与集群106通信,但是在其他实施例中,可以存在两个以上客户机从服务器集群106访问信息。在各实施例中,客户机102和104可根据SMB2协议来访问服务器集群106或与其通信。如图I所示,服务器集群106包括例如服务器106AU06B和106C等一个或多个节点,这些节点提供对存储在集群106上的信息的高可用性和冗余性。服务器集群106的一个或多个节点可经由网络彼此通信,诸如因特网、WAN、LAN、或本领域已知的任何其他类型的网络。在各实施例中,集群106可以具有文件系统、数据库、或者由客户机102和104访问的其他信息。尽管图I中示出了 3个服务器,但是在其他实施例中,集群106可以包括3个以上服务器或3个以下服务器。在各实施例中,服务器集群106是经扩展的服务器集群。在各实施例中,经扩展的服务器集群包括能由该服务器集群中的每一节点(例如,服务器106A、106B以及106C)访问的文件系统108。作为示例,在经扩展的集群中,文件系统在逻辑上被集群在一起,使得组成该文件系统的一个或多个盘能从该服务器集群中的每一服务器可见。在这样的实施例中,经扩展的服务器集群使得能够在该集群中的各节点间共享资源。在一个这样的实施例中,服务器集群106包括中央数据储存库,该中央数据储存库包括服务器集群106中的每一服务器能访问的一个或多个数据存储。在这样的实施例中,将资源存储在中央储存库中允许每一服务器访问文件系统。在另一实施例中,可通过跨服务器集群106中的每一服务器的本地文件系统复制资源来提供共享文件系统。在这样的实施例中,可以使用本领域已知的任何方式的复制数据来跨组成该集群的各服务器复制集群资源。将在逻辑上集群在一起的文件系统包括在经扩展的服务器集群(如服务器集群106)中,提供了在传统服务器集群中不可用的附加功能。在一个实施例中,在逻辑上集群在一起的文件系统确保作为集群环境的一部分的每一节点能访问该环境上的任何资源。在各实施例中,资源可以是集群环境中提供的应用、文件、对象、数据、或任何其他类型的资源。这允许客户机访问和/或以其他方式操纵该文件系统上的任何资源,而不论该客户机与哪一节点(例如,服务器106AU06B和/或106C)建立了连接。在各实施例中,文件服务器106可使用名称解析机制将每一节点注册在共同名称下。名称解析机制的非限制性示例是域名系统(DNS)。例如,服务器集群106可以将服务器106A、106B、以及106C注册在DNS服务器(图I中未示出)中的共同名称下。DNS服务器可以是服务器集群106的一部分或它可以在服务器集群106外部。在客户机尝试访问服务器集群106中的服务器时,客户机可访问名称解析机制来获得服务器的地址。例如,客户机可联系DNS服务器来获得服务器集群106中的一服务器的地址。因为该服务器系统将所有服务器注册在共同名称下,所以DNS服务器可返回组成服务器集群106的各服务器(例如,服务器106A、106B以及106C)的地址的列表。在各实施 例中,该地址可以是IP地址、URL、URI、或本领域已知的任何其他类型的地址。因为返回了多个地址,所以向客户机提供了要连接到哪一服务器的选择。在各实施例中,客户机可选择连接到它从服务器接收到的列表中的第一地址。在一些情况下,客户机可能难以连接到该第一地址所标识的第一服务器(例如,服务器106A)。因为服务器集群106中的每一服务器都能够向客户机提供类似功能,所以客户机可决定连接本文档来自技高网...
【技术保护点】
一种用于与集群服务器环境建立会话的方法,所述方法包括:在客户机处接收202标识所述集群服务器环境中的多个服务器的多个地址;从所述客户机发送204连接到由所述多个地址的第一地址所标识的第一服务器的初始请求;在连接到所述第一服务器之前,从所述客户机向所述多个地址的子集发送210一个或多个附加请求,其中所述多个地址的该子集标识所述集群服务器环境中的至少第二服务器;从所述第二服务器接收212连接成功的指示;以及连接214到所述第二服务器。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:D·M·克鲁斯,D·E·洛文格,T·E·乔利,J·T·品克顿,M·乔治,R·C·巴特帕蒂,M·商,
申请(专利权)人:微软公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。