访问方法、存储节点及数据中心与流程
- 国知局
- 2024-10-09 14:36:09
本技术实施例涉及it,尤其涉及一种访问方法、存储节点及数据中心。
背景技术:
1、目前,随着互联网服务、分布式计算等技术的发展。数据中心可包括计算节点和存储节点,其中,计算节点可运行应用,存储节点可存储数据。计算节点与存储节点可通过网络中的网关进行交互,以支持计算节点的租户对存储节点中存储的数据的访问。
2、相关技术中部署在网络中的该网关为非对称网关,该非对称网关可支持对来自计算节点的请求分发存储节点,以将该请求转发到存储节点进行数据访问。
3、但是,该非对称网关不支持对来自存储节点的请求分发计算节点,从而导致存储节点无法主动访问计算节点的问题。
技术实现思路
1、本技术提供一种访问方法、存储节点及数据中心。在该方法中,为了实现计算节点的多租户对存储节点中的同一文件进行共享访问并确保文件的一致性,计算节点中运行的租户的虚拟实例在得到该文件的目标信息(例如锁释放的信息)的情况下,才可以访问该存储节点中的该文件。而该存储节点可在该文件的锁释放的情况下,将该文件的目标信息主动通知到该虚拟实例,这样,虚拟实例才可访问存储节点中的该文件。从而通过存储节点主动访问虚拟实例,实现了多租户对存储节点中的文件进行共享访问。
2、此外,为了能够在计算节点中部署私有客户端(虚拟实例),以对存储节点中的文件进行访问,该存储节点可在私有客户端访问该文件之前,将该文件的目标信息(例如元数据)同步到私有客户端,这样,私有客户端就可以访问存储节点中的该文件。从而通过存储节点主动访问虚拟实例,实现了将计算节点中该虚拟实例部署为私有客户端。
3、在一种可能的实施方式中,本技术提供一种访问方法。数据中心包括多个计算节点和存储节点,所述多个计算节点中运行第一虚拟实例,所述多个计算节点与所述存储节点通过虚拟网络交互。该方法包括:所述存储节点预先存储目标文件,或者,所述存储节点接收并存储来自所述多个计算节点的目标文件;所述存储节点主动请求建立与所述第一虚拟实例之间的第一连接;所述存储节点通过所述第一连接向所述第一虚拟实例发送第一报文,所述第一报文用于提供访问所述目标文件的目标信息;所述存储节点响应于接收到所述第一虚拟实例基于所述第一报文发送的第二报文,所述存储节点对所述目标文件进行访问。
4、其中,本技术的虚拟实例可以是虚拟机或者容器,具体可根据需求而灵活采用虚拟实例的实现方案,这里不作限制。
5、该虚拟网络不同于物理网络,它是在物理网络上叠加的一种虚拟网络,该虚拟网络的类型很多,其中,overlay(重叠)网络是一种虚拟网络。在一些实施例中,数据中心中计算节点与存储节点交互的虚拟网络可以实现为vpc网络,其中,vpc网络是一种overlay网络。
6、该第一虚拟实例可以是一个计算节点上运行的虚拟实例,也可以是至少两个计算节点各自运行的虚拟实例,这里不作限制。
7、存储节点可以支持预先存储有一些文件(例如图片、文档等,具体不作限制),此外,存储节点也可以支持从多个计算节点接收文件并进行存储。
8、那么上述第一虚拟实例待访问的目标文件,可以是预先存储在存储节点中的文件,也可以是由上述多个计算节点中的一个计算节点,或者至少两个计算节点写入到存储节点中的文件。
9、此外,待访问该目标文件的第一虚拟实例,与多个计算节点中写入该目标文件到存储节点的虚拟实例(这里以第三虚拟实例表述)可以相同或不同;以及第一虚拟实例与第三虚拟实例可以是同一租户的虚拟实例,也可以是不同租户的虚拟实例。换言之,本技术的方法可以应用到同一租户对同一目标文件的共享访问的场景,也可以应用到至少两个租户对同一目标文件的共享访问的场景。
10、应理解,不论存储节点是否支持文件的预先存储,均不影响本技术的方法将存储节点存储的来自多个计算节点的目标文件的目标信息,提供给多个计算节点中的第一虚拟实例,以使多个虚拟实例可对存储节点中的同一目标文件进行共享访问。
11、在本技术实施例中,存储节点主动访问计算节点的应用场景可以包括场景1和场景2。
12、场景1,存储节点和计算节点均采用nfs标准协议(例如nfs v3协议)进行数据访问,那么计算节点在访问存储节点上存储的目标文件时,采用加锁的方式进行文件访问。
13、场景2,存储节点和计算节点均采用私有协议进行数据访问,例如第一虚拟实例为私有协议的客户端(简称私有客户端),那么计算节点在访问存储节点上存储的目标文件时,则可利用目标文件的元数据来进行文件的访问。
14、面向场景1,在相关技术中,多个计算节点的多个租户在存储节点中访问的文件目录是相互独立而各不相同的。为了使多租户共享访问存储节点中的同一文件目录,则存储节点需要向计算节点主动发送指示计算节点所请求访问的目标文件的锁释放的信息,但是,因相关技术中存储节点无法主动访问计算节点,使得存储节点无法将该锁释放的信息主动发送至需要访问该目标文件的虚拟实例。导致相关技术的数据中心并不支持多租户共享存储节点中的同一文件目录,从而不支持多租户对存储节点内同一文件目录的文件进行共享加锁。
15、应用于场景1,在本技术实施例中,存储节点可主动与多个计算节点内的第一虚拟实例主动建立第一连接,以及,存储节点可复用该第一连接,来将能够提供访问目标文件的目标信息的报文发送至该第一虚拟实例,使得虚拟网络中的存储节点可以主动访问计算节点并向计算节点中的第一虚拟实例发送第一报文,以将第一虚拟实例访问目标文件所需的目标信息提供给第一虚拟实例。存储节点通过主动提供该目标信息(例如该锁释放的信息)至待访问该目标文件的第一虚拟实例,使得第一虚拟实例可基于该目标信息来向存储节点访问该目标文件。这样,数据中心可支持多租户共享存储节点中的同一文件目录,在第一虚拟实例请求访问的目标文件的访问锁定已释放的情况下,存储节点可主动发送该锁释放的信息至第一虚拟实例,能够使多租户对存储节点内同一文件目录的目标文件进行共享加锁。
16、面向场景2,因相关技术中存储节点无法主动访问计算节点,使得存储节点无法向计算节点同步文件的元数据,而私有客户端是通过文件的元数据来访问存储节点中的文件的。因此,相关技术中的数据中心也不支持在多个计算节点中部署私有协议的虚拟实例(也称私有客户端),来对存储节点中的文件进行访问。
17、应用于场景2,在本技术实施例中,存储节点可主动与多个计算节点内的第一虚拟实例主动建立第一连接,以及,存储节点可复用该第一连接,来将能够提供访问目标文件的目标信息的报文发送至该第一虚拟实例,使得虚拟网络中的存储节点可以主动访问计算节点并向计算节点中的第一虚拟实例发送第一报文,以将第一虚拟实例访问目标文件所需的目标信息提供给第一虚拟实例。存储节点通过主动提供该目标信息(例如该目标文件的元数据)至待访问该目标文件的第一虚拟实例,使得第一虚拟实例可基于该目标信息来向存储节点访问该目标文件。这样,数据中心可支持在多个计算节点中部署私有客户端,存储节点可主动向私有客户端同步其存储的目标文件的元数据,使得私有客户端可利用存储节点同步的元数据,来访问存储节点中存储的目标文件。而相关技术中的数据中心,因存储节点无法向计算节点同步元数据,导致计算节点无法部署私有客户端。
18、另外,上述第一虚拟实例基于第一报文向存储节点发送第二报文时,所使用的连接可以是第一虚拟实例主动建立的与存储节点之间的连接,该连接属于长连接,以用于访问目标文件,该连接不同于上述第一连接,上述第一连接可以是短连接。
19、在一种可能的实施方式中,所述目标信息用于指示对所述目标文件的访问锁定已释放;或者,所述目标信息用于提供所述目标文件的元数据,其中,不同文件拥有不同的元数据。
20、在本技术实施例中,存储节点主动访问计算节点的应用场景可以包括上述场景1和上述场景2。
21、场景1,存储节点和计算节点均采用nfs标准协议(例如nfs v3协议)进行数据访问,那么计算节点在访问存储节点上存储的目标文件时,采用加锁的方式进行文件访问。
22、在场景1中,在相关技术中,受数据中心中的网关为非对称网关的限制,在多租户场景下虽然存在多租户对存储节点中同一文件(或同一目录中的文件)的共享加锁需求。但是,相关技术中的存储节点无法主动与计算节点建立连接,也无法向计算节点中的虚拟实例主动发送指示文件锁已释放的消息。从而导致相关技术并不支持多租户对同一文件进行共享加锁的场景,使得各个租户的文件目录是相互独立的,并不支持多租户对同一文件目录内的文件进行共享访问。
23、在场景1中,在本技术实施例中,在多个计算节点的租户为多个的场景下,存储节点与计算节点通过虚拟网络交互,在该场景下可存在多租户(可以是同一企业的不同虚拟实例,也可以是不同企业的虚拟实例)对同一目标文件进行共享访问的需求。为了实现多租户对同一文件的共享访问,在第一虚拟实例请求加锁的目标文件的锁被其他虚拟实例释放后,说明该目标文件已经被其他虚拟实例访问完成,则存储节点可以主动与该第一虚拟实例建立连接,以通过该第一连接来将指示对目标文件的访问锁定已释放的目标信息(例如锁释放信息)通知到第一虚拟实例,从而能够实现多租户对存储节点中同一文件的共享加锁访问。使得存储节点支持共享的文件目录,该共享的文件目录内的目标文件可支持多租户进行共享访问。
24、场景2,存储节点和计算节点均采用私有协议进行数据访问,例如第一虚拟实例为私有客户端,那么计算节点在访问存储节点上存储的目标文件时,则可利用目标文件的元数据来进行文件的访问。
25、在场景2中,在相关技术中,受限于存储节点与计算节点之间进行数据交互所借助的网关为非对称的网关,那么存储节点无法主动与计算节点建立连接,并无法通过该连接推送该存储节点所存储的文件的元数据至计算节点。因此,相关技术中的数据中心内并不支持在计算节点上部署私有客户端。
26、在场景2中,在本技术实施例中,计算节点中可以部署私有客户端(例如第一虚拟实例),为了实现私有客户端对存储节点上的文件进行访问,本技术的存储节点可以通过主动与计算节点中的第一虚拟实例建立第一连接,并通过该第一连接将存储节点中存储的目标文件的元数据同步到第一虚拟实例(这里为私有客户端),这样,部署在计算节点的私有客户端就可以利用存储节点同步的元数据,来对存储节点中存储的目标文件进行访问。那么在目标文件的元数据存在更新的情况下,存储节点可以主动将更新后的元数据同步到私有客户端,使得私有客户端能够利用及时更新的元数据来准确地访问到存储节点中的目标文件,并且,该目标文件还可以是其他私有客户端写入的文件,从而能够实现多个私有客户端对存储节点中共享目录内的目标文件进行共享访问的效果。
27、在一种可能的实施方式中,所述方法还包括:所述存储节点通过第二连接接收来自所述第一虚拟实例的第三报文;所述存储节点基于所述第三报文,主动请求建立与所述第一虚拟实例之间的第一连接。
28、其中,所述第二连接为所述存储节点与所述第一虚拟实例之间的连接,第二连接与上述第一连接不同。
29、在上述场景1中,第二连接可以是存储节点主动建立的与第一虚拟实例之间的连接。
30、在上述场景2中,该第二连接可以是第一虚拟实例主动建立的与存储节点之间的连接。
31、在本技术实施例中,存储节点为了能够主动建立与第一虚拟实例之间的第一连接,以用于推送目标信息至第一虚拟实例,存储节点需要从第一虚拟实例接收到第三报文,该第三报文可为预设类型的报文,并利用该第三报文以得到用于建立第一连接所需要的关于第一虚拟实例的地址信息,以建立与第一虚拟实例之间的第一连接,这样可确保建立第一连接所使用的目的端(例如第一虚拟实例)的地址能够用于接收该目标信息。
32、例如,存储节点可利用第三报文来获取到第一虚拟实例的ip地址,可选地,可以从第三报文的报文内容中提取到用于建立第一连接的第一虚拟实例的端口号,从而建立存储节点与第一虚拟实例之间的第一连接。
33、例如,在场景1中,该第三报文可为用于提供端口号的报文,该端口号为用于接收目标文件的访问锁定已释放的信息的端口号,这样,存储节点可以从来自第一虚拟实例的第三报文中提取到第一虚拟实例的ip地址,以及用于建立第一连接的该第一虚拟实例的端口号,以便于存储节点与第一虚拟实例的相应端口建立第一连接,以发送目标文件的访问锁定已释放的信息至该第一虚拟实例的相应端口。
34、在场景2中,该第三报文可为请求同步元数据信息的报文,这样存储节点可以从来自第一虚拟实例的第三报文中提取到第一虚拟实例的ip地址,以与请求同步元数据信息的第一虚拟实例主动建立第一连接,以将元数据同步到该第一虚拟实例。
35、在本实施例中,存储节点在主动与第一虚拟实例建立第一连接时,可利用与第一虚拟实例之间已经建立的前一次的连接所接收到的报文,来主动建立与第一虚拟实例之间的下一次连接(这里为第一连接),这样可确保存储节点能够在建立第一连接之前,提前通过接收的上述报文来获取到建立第一连接所需要使用的目的端(例如第一虚拟实例)的信息(例如地址信息),并利用该提前获取的信息所建立的第一连接,能够用于传输该目标信息,避免主动建立的连接无法传输目标信息的问题。
36、在一种可能的实施方式中,所述多个计算节点中运行多个租户的第一虚拟实例,运行有不同租户的第一虚拟实例的所述多个计算节点运行在不同的虚拟网络内,所述目标信息用于指示对所述目标文件的访问锁定已释放。
37、在上述场景1中,多个计算节点的租户为多个,并且不同租户的计算节点运行在不同的虚拟网络内,以虚拟网络为vpc网络为例,运行有租户a的虚拟实例的计算节点运行在vpc网络1中,运行有租户b的虚拟实例的计算节点运行在vpc网络2中。
38、在本技术实施例中,同一租户的不同虚拟实例之间可以对存储节点中存储的目标文件进行共享访问,不同租户的虚拟实例也可以对目标文件进行共享访问,那么在被共享访问的目标文件的访问锁定已释放后,存储节点可以借助于主动建立的与第一虚拟实例之间的第一连接,来将该访问锁定已释放的信息通知到第一虚拟实例,以实现多租户场景下,不同虚拟实例对同一目标文件的共享访问。
39、在一种可能的实施方式中,所述方法还包括:所述存储节点通过第三连接接收来自所述第一虚拟实例的第四报文,其中,所述第四报文用于提供对所述目标文件请求访问锁定的信息;所述存储节点响应于所述第四报文,确定所述目标文件的访问锁定被所述多个计算节点中运行的第二虚拟实例占用;其中,所述第一连接为在所述存储节点确定所述目标文件的访问锁定被释放的情况下,所主动请求建立的与所述第一虚拟实例之间的连接。
40、本实施例可应用于上述场景1:
41、在多租户场景下,上述第三连接可为第一虚拟实例主动建立的与存储节点之间的连接。
42、第一虚拟实例为了访问目标文件,可首先通过该第三连接将对该目标文件的锁请求(第四报文的一个示例)发送至存储节点,存储节点在检测到该第一虚拟实例请求加锁的目标文件正在被第二虚拟实例加锁访问的情况下,则需要等待该目标文件的锁释放之后,才可以允许第一虚拟实例来访问目标文件。其中,第二虚拟实例与第一虚拟实例可以是同一租户(例如租户a)的不同虚拟实例,也可以是不同租户(例如上述租户a和租户b)各自的虚拟实例。
43、那么在存储节点检测到该第一虚拟实例请求加锁的目标文件的锁已经被释放的情况下,则可以通过主动与第一虚拟实例建立第一连接,并通过该第一连接来将指示对所述目标文件的访问锁定已释放的信息通知到第一虚拟实例。而相关技术中,受多个计算节点与存储节点之间的网关为非对称网关的限制,存储节点在检测到该第一虚拟实例请求加锁的目标文件的锁已经被释放的情况下,也无法主动与第一虚拟实例建立连接,更无法将该指示对所述目标文件的访问锁定已释放的信息,通过该网关通知到第一虚拟实例。而本技术实施例的技术方案可以在多租户对存储节点中的文件共享访问的场景下,存储节点可以通过与第一虚拟实例主动建立的第一连接,来及时地将第一虚拟实例请求访问的目标文件的访问锁定已释放的信息通知到相应的第一虚拟实例,以加快多租户对共享文件的访问效率。
44、在一种可能的实施方式中,所述方法还包括:所述存储节点在确定所述目标文件的访问锁定被释放的情况下,所述存储节点基于所述第四报文主动请求建立与所述第一虚拟实例之间的所述第二连接;所述存储节点通过所述第二连接向所述第一虚拟实例发送第五报文,其中,所述第五报文用于查询通知所述目标信息的端口号;所述第三报文用于提供所述第一虚拟实例的所述端口号。
45、本实施例可应用于上述场景1:
46、在多租户场景下,存储节点在检测到第一虚拟实例所请求加锁的目标文件的访问锁定已经释放的情况下,存储节点在通知第一虚拟实例该目标文件的访问锁定已释放之前,存储节点可从第一虚拟实例获取该第一虚拟实例的用于接收该访问锁定已释放的信息的端口的端口号,从而使得存储节点可利用该端口号来与第一虚拟实例所建立的第一连接,能够用于发送指示目标文件的访问锁定已释放的信息的这类控制信息,避免建立的第一连接无法用于发送目标信息的情况。
47、存储节点为了从第一虚拟实例获取上述端口号,可利用与第一虚拟实例已经建立的上一个连接(这里为第三连接)所接收到的来自第一虚拟实例的第四报文(属于预设类型的报文,例如对目标文件的锁请求),来与第一虚拟实例主动建立下一次的连接(这里为第二连接)。这样可确保能够提前获取到建立第二连接所需要使用的目的端(例如第一虚拟实例)的信息(例如地址信息),并利用该提前获取的信息所建立的第二连接,能够用于传输第一虚拟实例的用于通知目标信息的端口号,确保端口号能够被存储节点可靠获取。
48、在一种可能的实施方式中,所述多个计算节点与所述存储节点通过所述虚拟网络中的网关进行交互,所述方法还包括:所述存储节点向所述网关发送第一会话信息;所述存储节点向所述网关发送所述第一连接的建立请求;所述网关基于所述第一会话信息,将所述第一连接的建立请求转发至所述第一虚拟实例。
49、结合于上述任意一个实施方式,多个计算节点与存储节点之间可通过虚拟网络内的网关进行交互。
50、例如该虚拟网络为vpc网络,该网关为vpc网关。
51、由于相关技术中的vpc网关为非对称网关,其并不存在将存储节点的请求分发给具体哪个计算节点的策略,那么在相关技术中,存储节点在通过vpc网关来向计算节点发送连接的建立请求后,vpc网关不具备计算节点的分配策略,从而无法将该建立请求转发给计算节点,使得其不支持存储节点反向与计算节点建立连接并主动发送报文至计算节点。
52、那么本技术实施例中,为了能够在存储节点与计算节点通过虚拟网络中的网关交互的场景中,使得存储节点能够主动与计算节点中的第一虚拟实例主动建立连接(这里为第一连接),并在该连接上发送报文。存储节点在主动与第一虚拟实例建立第一连接时,存储节点不仅可向该vpc网关发送该第一连接的建立请求,还可向该vpc网关发送第一会话信息,vpc网关可基于该第一会话信息,来确定该来自存储节点的第一连接的建立请求需要分发给哪个虚拟实例的虚拟地址,从而按照该虚拟地址来将第一连接的建立请求转发给第一虚拟实例,以实现存储节点向计算节点的反向连接的建立。这样,虽然vpc网关本身不具备反向连接的计算节点的分配策略,但是在建立反向的第一连接时,存储节点可以将本次待建立的第一连接相关的会话信息同步至vpc网关,这样vpc网关就可以以该会话信息作为该第一连接的两端之间的地址映射,来实现对存储节点的第一连接的建立请求(以及上述第一报文)的转发,使得相应报文可以转发到该第一连接的目的端。
53、示例性的,该第一会话信息可以包括该第一连接的源端(这里为存储节点)的物理地址(或虚拟地址)与该第一连接的目的端(这里为第一虚拟实例)的虚拟地址之间的映射关系。
54、示例性的,如上述实施方式所述,存储节点在主动建立第一连接时可基于与第一虚拟实例之间的前一次已建立的连接所接收到的报文(这里为第三报文,例如通知端口号的报文),来主动建立本次的第一连接,那么上述第一会话信息可以是利用前一次连接所接收到的报文而生成的会话信息。
55、此外,本实施例以存储节点主动与第一虚拟实例建立第一连接为例,来说明了存储节点主动建立连接的具体实现过程,在其他实施例中,在存储节点主动与第一虚拟实例建立上述第二连接时,其实现原理类似,这里不再赘述。
56、在一种可能的实施方式中,所述多个计算节点与所述存储节点在所述虚拟网络中通过远程直接内存访问(rdma)协议交互。
57、例如该虚拟网络为vpc网络,上述虚拟网络中的该网关为vpc网关。
58、由于相关技术中的vpc网关为非对称的网关,其并不存在将存储节点的请求分发给具体哪个计算节点的策略,那么在相关技术中,存储节点在通过vpc网关来向计算节点发送连接的建立请求后,vpc网关不具备计算节点的分配策略,从而无法将该建立请求转发给计算节点,使得其不支持存储节点反向与计算节点建立连接。
59、那么在本技术实施例中,为了能够在部署有非对称网关的虚拟网络中,使存储节点能够主动与计算节点建立连接并发送报文,在本实施例中,存储节点在与计算节点通过虚拟网络进行交互时,可以通过rdma协议进行交互,这样,存储节点与计算节点之间可以以直通的方式进行交互,而不需要经过该非对称网关(例如vpc网关)。
60、在直通的方式中,存储节点与多个计算节点均支持rdma协议,使得双方的地址信息是相互透明的,换言之,存储节点与第一虚拟实例之间可以各自确定其报文的目的端地址,而不需要由网关来对其报文分发目的端。在该方案中,存储节点与计算节点之间的交互不需要经过vpc网关,通过rdma协议进行交互,可绕过vpc网关,从而能够实现虚拟网络中的存储节点主动向计算节点建立连接与主动发送报文,以支持多租户对存储节点中的同一文件目录进行共享加锁,以及在计算节点中部署私有客户端的场景。
61、在一种可能的实施方式中,所述多个计算节点中运行多个租户的第一虚拟实例,运行有不同租户的第一虚拟实例的所述多个计算节点运行在不同的虚拟网络内,所述方法还包括:所述存储节点基于所述第三报文,确定所述第一虚拟实例的原始ip地址;所述存储节点确定与所述原始ip地址对应的全局ip地址,其中,所述全局ip地址用于标识运行在所述虚拟网络内的所述第一虚拟实例;所述存储节点基于所述原始ip地址与所述全局ip地址之间的映射关系,主动请求建立与所述第一虚拟实例之间的第一连接。
62、以虚拟网络为vpc网络为例,多个计算节点属于多个租户,为了确保不同租户之间的数据安全与隔离,多个租户的计算节点各自接入的vpc网络不同,例如租户a的计算节点接入vpc网络1,租户b的计算节点接入vpc网络2。
63、虽然在同一个vpc网络内,多个计算节点内的各虚拟实例之间的ip地址是不重复的,但是,各个vpc网络内的虚拟实例的ip地址是自定义的,在虚拟实例的ip地址为ipv4时,则会存在不同vpc网络之间的虚拟实例的ip地址相同的情况,从而导致虚拟实例的ip地址无法标识该虚拟实例。
64、本实施方式的应用场景可以包括上述场景1以及上述场景2,换言之,不论是多租户场景还是私有协议场景,都可以存在接入虚拟网络的虚拟实例的ip地址无法标识该虚拟实例的问题。
65、例如第一虚拟实例为vpc网络1中的某个虚拟实例2,其原始ip地址为cip1,但是vpc网络2中的某个虚拟实例2的原始ip地址也为cip1。
66、为了解决该问题,存储节点可在第三报文(第三报文为存储节点利用与第一虚拟实例的前一次连接所接收到的报文)中提取该第一虚拟实例的原始ip地址,例如cip1,然后存储节点可确定与该cip1对应的全局ip地址,例如cip100。该全局ip地址能够标识该第一虚拟实例是来自哪个vpc网络的哪个虚拟实例,从而能够唯一地标识该第一虚拟实例。例如上述虚拟实例2的原始ip地址对应的全局ip地址则为cip101,不同于上述cip100。
67、示例性的,存储节点可在首次接收到该第一虚拟实例的报文时,就对其原始ip地址分配对应的全局ip地址,那么在存储节点后续接收到该第一虚拟实例的报文时,就可以直接获取与该原始ip地址对应的全局ip地址。
68、这样,存储节点在处理来自第一虚拟实例的报文(例如上述第三报文)时,为了能够确定该报文是哪个vpc网络内的哪个虚拟实例的报文,可将该报文中的ip地址转换为对应的全局ip地址,以进行报文的处理。
69、这样,存储节点内部以全局ip地址(例如cip100)来标识该第一虚拟实例,但是,第一虚拟实例并不能够识别该全局ip地址,那么存储节点在主动与第一虚拟实例建立第一连接时,存储节点可将第一连接的建立请求中第一虚拟实例的全局ip地址转换为原始ip地址,然后,再发出该建立请求。从而在虚拟实例的物理ip地址无法标识该虚拟实例的情况下,也能够通过地址转换的方式,来使存储节点与第一虚拟实例的准确地址建立第一连接。本实施例能够在接入虚拟网络的多个计算节点运行有多个租户的虚拟实例的场景下,解决虚拟实例的原始ip地址无法标识该虚拟实例的问题。
70、在一些实施例中,在上述存储节点通过非对称网关来与计算节点进行交互的实施方式中,上述第一会话信息中目的端的虚拟地址中不仅可包括第一虚拟实例所在的虚拟网络(例如vpc1)的虚拟地址,还包括该第一虚拟实例的上述原始ip地址。
71、在一种可能的实施方式中,所述方法还包括:所述存储节点基于所述映射关系,通过所述第一连接向所述第一虚拟实例发送第一报文。
72、在本技术实施例中,存储节点在主动与第一虚拟实例建立第一连接时,第一虚拟实例侧则并不知道该存储节点内部使用的用于标识vpc网络1中的第一虚拟实例的该全局ip地址,该全局ip地址用于在存储节点内部识别虚拟实例。
73、那么存储节点在通过第一连接发送第一报文时,则可将该第一报文中的目的端(这里为第一虚拟实例)的地址中的全局ip地址转换为对应的原始ip地址,例如从cip100转换为cip1,然后,再发出该第一报文,以确保第一报文能够可靠、准确地发送至vpc网络1中的第一虚拟实例的特定端口,而不会发送至第一连接之外的其他虚拟实例,也不会发送至与该第一虚拟实例的第一连接之外的连接上的端口。
74、在一种可能的实施方式中,本技术提供一种存储节点。所述存储节点用于和多个计算节点通过虚拟网络通信,所述多个计算节点中运行第一虚拟实例。该存储节点包括:存储模块,用于预先存储目标文件,或者,接收并存储来自所述多个计算节点的目标文件;第一建立连接模块,用于主动请求建立与所述第一虚拟实例之间的第一连接;第一发送模块,用于通过所述第一连接向所述第一虚拟实例发送第一报文,所述第一报文用于提供访问所述目标文件的目标信息;访问模块,用于响应于接收到所述第一虚拟实例基于所述第一报文发送的第二报文,对所述目标文件进行访问。
75、在一种可能的实施方式中,所述目标信息用于指示对所述目标文件的访问锁定已释放;或者,所述目标信息用于提供所述目标文件的元数据,其中,不同文件拥有不同的元数据。
76、在一种可能的实施方式中,所述存储节点还包括:第一接收模块,用于通过第二连接接收来自所述第一虚拟实例的第三报文;所述第一建立连接模块,具体用于基于所述第三报文,主动请求建立与所述第一虚拟实例之间的第一连接。
77、在一种可能的实施方式中,所述多个计算节点中运行多个租户的第一虚拟实例,运行有不同租户的第一虚拟实例的所述多个计算节点运行在不同的虚拟网络内,所述目标信息用于指示对所述目标文件的访问锁定已释放。
78、在一种可能的实施方式中,所述存储节点还包括:第二接收模块,用于通过第三连接接收来自所述第一虚拟实例的第四报文,其中,所述第四报文用于提供对所述目标文件请求访问锁定的信息;第一确定模块,用于响应于所述第四报文,确定所述目标文件的访问锁定被所述多个计算节点中运行的第二虚拟实例占用;所述第一建立连接模块,具体用于在确定所述目标文件的访问锁定被释放的情况下,主动请求建立与所述第一虚拟实例之间的所述第一连接。
79、在一种可能的实施方式中,所述存储节点还包括:第二建立连接模块,用于在确定所述目标文件的访问锁定被释放的情况下,基于所述第四报文主动请求建立与所述第一虚拟实例之间的所述第二连接;第二发送模块,用于通过所述第二连接向所述第一虚拟实例发送第五报文,其中,所述第五报文用于查询通知所述目标信息的端口号;所述第三报文用于提供所述第一虚拟实例的所述端口号。
80、在一种可能的实施方式中,所述多个计算节点中运行多个租户的第一虚拟实例,运行有不同租户的第一虚拟实例的所述多个计算节点运行在不同的虚拟网络内,所述存储节点还包括:第二确定模块,用于基于所述第三报文,确定所述第一虚拟实例的原始ip地址;第三确定模块,用于确定与所述原始ip地址对应的全局ip地址,其中,所述全局ip地址用于标识运行在所述虚拟网络内的所述第一虚拟实例;所述第一建立连接模块,具体用于基于所述原始ip地址与所述全局ip地址之间的映射关系,主动请求建立与所述第一虚拟实例之间的第一连接。
81、在一种可能的实施方式中,所述第一发送模块,具体用于基于所述映射关系,通过所述第一连接向所述第一虚拟实例发送所述第一报文。
82、在一种可能的实施方式中,所述存储节点用于和所述多个计算节点在所述虚拟网络中通过rdma协议交互。
83、在一种可能的实施方式中,本技术提供一种数据中心,该数据中心可包括上述任意一个实施方式所述的存储节点和计算节点,该数据中心还包括部署在所述虚拟网络中的网关,所述多个计算节点与所述存储节点通过所述网关进行交互;所述存储节点还包括:第三发送模块,用于向所述网关发送第一会话信息;所述第一建立连接模块,具体用于向所述网关发送所述第一连接的建立请求;所述网关包括:转发模块,用于基于所述第一会话信息,将所述第一连接的建立请求转发至所述第一虚拟实例。
84、上述各实施方式存储节点及数据中心的效果,与上述各实施方式的访问方法的效果类似,这里不再赘述。
85、在一种可能的实施方式中,本技术提供一种存储节点。存储节点包括处理器和存储器,所述处理器用于执行所述存储器中存储的指令,以使得所述存储节点执行上述任意一种实施方式中的方法。
86、本实施方式的存储节点的效果,与上述各实施方式的访问方法的效果类似,这里不再赘述。
87、在一种可能的实施方式中,本技术提供一种数据中心。所述数据中心包括多个计算节点和存储节点,所述多个计算节点中运行第一虚拟实例,所述多个计算节点与所述存储节点通过虚拟网络交互,所述存储节点包括处理器和存储器,所述处理器用于执行所述存储器中存储的指令,以使得所述存储节点执行上述任意一种实施方式中的方法。
88、在一种可能的实施方式中,所述虚拟网络包括网关,网关可包括处理器和存储器,该处理器可用于执行该存储器中的指令,以使得该网关执行基于所述第一会话信息,将所述第一连接的建立请求转发至所述第一虚拟实例。
89、本实施方式的数据中心的效果,与上述各实施方式的访问方法的效果类似,这里不再赘述。
90、在一种可能的实施方式中,本技术提供一种计算机可读存储介质。计算机可读存储介质包括计算机程序指令,当所述计算机程序指令由存储节点执行时,使得所述存储节点执行上述任意一种实施方式中的方法。
91、本实施方式的计算机可读存储介质的效果,与上述各实施方式中存储节点执行的访问方法的效果类似,这里不再赘述。
92、在一种可能的实施方式中,本技术提供一种计算机可读存储介质。计算机可读存储介质包括计算机程序指令,当所述计算机程序指令由虚拟网络中的网关执行时,使得所述网关可基于所述第一会话信息,将所述第一连接的建立请求转发至所述第一虚拟实例。
93、本实施方式的计算机可读存储介质的效果,与上述各实施方式中网关执行的访问方法的效果类似,这里不再赘述。
94、在一种可能的实施方式中,本技术提供一种包含指令的计算机程序产品。当所述指令被存储节点运行时,使得所述存储节点执行上述任意一个实施方式中的方法。
95、本实施方式的计算机程序产品的效果,与上述各实施方式中存储节点执行的访问方法的效果类似,这里不再赘述。
96、在一种可能的实施方式中,本技术提供一种包含指令的计算机程序产品。当所述指令被虚拟网络中的网关运行时,使得所述网关可基于所述第一会话信息,将所述第一连接的建立请求转发至所述第一虚拟实例。
97、本实施方式的计算机程序产品的效果,与上述各实施方式中网关执行的访问方法的效果类似,这里不再赘述。
本文地址:https://www.jishuxx.com/zhuanli/20241009/305812.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表