背景技术
分布式文件***(Distributed File System,DFS)能让***管理者简化使用者对分散在网络中的文件的存取,利用分布式文件***,可令分散在多个服务器上的多个文件整合起来,对使用者来说,该些文件如同存储于网络上的同一个位置中。使用者在存取这些文件时,不需要了解这些文件的实际存储位置,即能同时对这些文件进行存取,相当便利。
在一个分布式文件***中,通常具有多个的网络交换机(Switch),并且每一个网络交换机分别连接多台服务器,藉此,将多台服务器规划并整合为一个独立的大型***。使用者只要连接至该***,即可对该***下的各该服务器中的这些文件进行存取,不需要知道各该服务器的实际地址及连接状况。
一般而言,为了提高这些文件的安全性,致使这些文件不会因为服务器的损坏而遗失,分布式文件***通常会使用文件复制服务(File ReplicationService,FRS)来为每一份文件自动产生至少一份的备份文件(Replica,或称为复本)。
分布式文件***在建立备份文件时,通常经由算法随机得出一个服务器,或由管理者配置一配置文件来选定一个服务器,以将该备份文件存储至该服务器中。并且一般来说,存储该备份文件的服务器,相异于存储该原始文件的服务器。藉此,当存储原始文件的服务器损坏时,分布式文件***可直接变更使用者的读取路径,令使用者连接至另一个服务器以读取该备份文件。对于使用者来说,完全不会发现服务器损坏,亦不会知道其所读取的是原始文件或是备份文件,对使用者来说相当便利。
然而,除了服务器以外,用以连接服务器的网络交换机亦可能会因各种原因而损坏,当一网络交换机损坏时,该网络交换机底下连接的多个服务器将同时无法存取。举例来说,若一原始文件存储于一第一服务器中,而该原始文件的备份文件存储于一第二服务器中,并且该第一服务器及该第二服务器同时连接于一第一网络交换机,则当该第一网络交换机损坏时,该第一服务器及该第二服务器同时无法被存取,如此一来,该原始文件及该备份文件同时无法被读取,该备份文件的建立即失去了意义。
为防止上述情形发生,市场上的分布式文件***,通常是通过额外的软件或硬件来建立保护机制,保护各个网络交换机不会轻易发生故障,或是在故障发生的第一时间发出警讯,以通知***管理者尽快处理。惟,一个分布式文件***中实具有多个网络交换机,若每一个网络交换机皆设置额外的机制来做保护,则其维护成本将会相当的可观。
有鉴于上述的问题,市场上实应提供一种新颖的机制,令分布式文件***在存储备份文件时,能够自动选择一个最佳、最安全的存储位置,以确保在网络交换机损坏的情况下,使用者还是能够读取到原始文件或备份文件的其中之一。并且,不必为网络交换机增设额外的保护机制,藉以降低***的设置成本。
具体实施方式
兹就本发明的一较佳实施例,配合附图,详细说明如后。
首请参阅图1,为本发明的一较佳具体实施例的***架构图。如图所示者为一分布式文件***的***机柜1,该***机柜1上具有多个服务器插槽11,各该服务器插槽11分别供一台服务器4插接。该***机柜1内部设置有多个网络交换机(如图2中所示的主网络交换机2、第一网络交换机31、第二网络交换机32、及第N网络交换机33等),分别用以连接各该服务器4,藉以,可将各该服务器4整合成一个数据中心(data center)。
如图1中所示,该***机柜1的每一层皆划分为至少十二个该服务器插槽11(前后排各六个),并且该***机柜1一共具有四十层,是以,一个该***机柜1共可容置12*40=480个该服务器4。然而,以上所述仅为本发明的一较佳具体实施,该***机柜1可视实际所需而定,设置为各种不同的形式及容量,不应加以限定。
本实施例中,该分布式文件***主要采用一种两层网络交换机(Layer 2)的架构,位于底层(或称第二层)的多个底层网络交换机3(如图2所示的该第一网络交换机31、该第二网络交换机32、及该第N网络交换机33)上具有多个连接端口,并且每一个该连接端口分别被分配一个网络协议(InternetProtocol,IP)地址。其中该IP地址可为固定IP或由动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)服务器所分配的动态IP,并且各该IP地址一旦被分配,将不会再改变,即,该IP地址被与该连接端口绑在一起。当一个该服务器4***该***机柜1中的其中一个该服务器插槽11时,该服务器4即可通过该服务器插槽11中的连接线路,连接其中一个该底层网络交换机3上的其中一个连接端口,藉此,该服务器4可使用该连接端口被分配到的IP地址来连接网络。
然而,虽然各该底层网络交换机3上的各该连接端口被分配的IP地址是不会被改变的,但仍会视该分布式文件***所采用的拓扑架构(Topology)的不同而有所差异,不同的拓扑架构下的网络交换机,其会被分配到的IP地址是不同的。因此,在不知道该分布式文件***的拓扑架构为何的情况下,管理者实无法直接判断各个连接端口所被分配的IP地址为何。
续请同时参阅图2、图3、及图4,分别为本发明的一较佳具体实施例、另一较佳具体实施例、及又一较佳具体实施例的拓扑示意图。图2所示者为一树状拓扑架构,本实施例中,该分布式文件***主要具有一个该主网络交换机2,该主网络交换机2通过其上的多个连接端口,连接多个该底层网络交换机3。并且,各该底层网络交换机3再通过其上的多个连接端口,分别连接多个的该服务器4。(例如图中所示,该第一网络交换机31连接服务器411、412、413;该第二网络交换机32连接服务器421、422、423;该第三网络交换机33连接服务器431、432、433)。
该图2中,主要以一台该主网络交换机2连接三台该底层网络交换机3为例,并且各该底层网络交换机3分别以连接三台该服务器4为例,然而该多个底层网络交换机3的实际数量,视该主网络交换机2的连接端口的数量而定,而各该底层网络交换机3可分别连接多少台的该服务器4,亦视本身的连接端口数量而定,不应加以限定。
图3所示者,主要为一种端口汇聚树状拓扑(Tree topology with trunking)架构。端口汇聚树状拓扑架构类似图2中所示的树状拓扑架构,差别在于各该底层网络交换机3将其上的两个或两个以上连接端口组合成一条逻辑的路径,藉以连接至该主网络交换机2。如此一来,可以将所述连接端口的频宽合并,藉以增加该主网络交换机2与各该底层网络交换机3之间的传输频宽。是以,通过端口汇聚树状拓扑架构,可以提供分布式文件***较佳的传输速度。
图4所示者,主要为一种网状拓扑(Mesh topology)架构。若分布式文件***采用网状拓扑架构,则需有多个位于第一层的该主网络交换机2及多个位于第二层的该底层网络交换机3,并且各该主网络交换机2分别与全部的该底层网络交换机3连接,各该底层网络交换机3亦同时连接各该主网络交换机2。
如上所述,采用网状拓扑的好处在于,通过多方的连接,可达到较高的数据传输效率,并且较没有信号衰减的问题。再者,由于第一层的各该主网络交换机2与第二层的各该底层网络交换机3皆有互相连接,因此对于管理人员而言,在维护上亦较为容易。
一般来说,为了确保文件的安全性与稳定性,分布式文件***在存储一份原始文件时,会通过文件复制服务(File Replication Service,FRS)功能,来产生至少一份的备份文件(Replica)。然而在分布式文件***中,该备份文件的存储位置相当重要,不但需要存储在与该原始文件所在位置不同的服务器中,还需确保无论是各该服务器4或各该底层网络交换机3的其中之一损坏时,都不会有该原始文件及该备份文件同时无法被读取的情况发生。
本发明提出一种完善的解决方案来避免上述情况发生,主要是先得到该分布式文件***所采用的拓扑架构,再由该拓扑架构推算出各该服务器4与各该底层网络交换机3的连接状况、以及各该服务器4所使用的IP地址为何。藉此,在选择该备份文件的存储位置时,可参考各该服务器4与各该底层网络交换机3的连接状况,以避免有存储该原始文件的服务器,与存储该备份文件的服务器连接至同一台该底层网络交换机3的情况产生。
例如该原始文件存储于该服务器411,该备份文件存储于该服务器413,而该服务器411及413皆连接至该第一网络交换机31,于此情况下,若该第一网络交换机31损坏,则使用者将同时无法存取该服务器411及413,即,该原始文件及该备份文件同时无法被读取。是以,本发明的分布式文件***在选择该备份文件的存储位置时,可通过本发明的备份位置决策方法,避免将该备份文件存储至该第一网络交换机31底下的任一该服务器411、412、413。
请参阅图5,为本发明的一较佳具体实施例的流程图。首先,通过一程序的执行,查找该分布式文件***所采用的拓扑架构(步骤S50),藉以,得知该分布式文件***底下,各该底层网络交换机3与各该服务器4之间的连接关系。值得一提的是,该程序主要可为思科(Cisco)所提出的思科探索协议(Cisco Discovery Protocol,简称CDP)程序,但并不加以限定。
接着,于得知该分布式文件***的拓扑架构后,即可参考该拓扑架构,取得各该底层网络交换机3上的各该连接端口所被分配的IP地址(步骤S52)。最后,于该步骤S52后,将各该IP地址分别对应至与各该连接端口互相连接的各该服务器4(步骤S54)。
步骤S54之后,***即可得知各该服务器4分别连接至哪一个该底层网络交换机3上的哪一个连接端口,并且还可得知各该服务器4分别使用哪一个IP地址。接着,即依据各该服务器4与各该IP地址的对应状态产生一对照表,并且该对照表经过配置(Config)后,写入该分布式文件***中,以做为该分布式文件***的一配置文件(步骤S56)。如此一来,即使各该服务器4经过更换,该分布式文件***将会永远得知更换后的各该服务器4所使用的IP地址为何。是以,在该配置文件写入完成后,当该分布式文件***为一个原始文件产生至少一份备份文件并且要存储时,即可根据各该服务器4的IP地址,或直接参考***内部的该配置文件,来为该备份文件决定一个最佳、最安全的存储位置。
值得一提的是,上述该配置文件,主要供该分布式文件***解读,该分布式文件***的管理者无法直接观看该配置文件的内容。并且,即使管理者手动开启该配置文件,亦难以直接由该配置文件的内容,得知各该服务器4与各该底层网络交换机3之间的连接关系。
是以,于步骤S56之后,***可选择性的产生一对应表单,并将该对应表单于其中一个该服务器4的显示单元(图中未标示)上显示(步骤S58)。其中,该对应表单主要记录各该服务器4所使用的IP地址经过文字化或数字化之后的内容,藉以令管理者可由肉眼直接得知各该服务器4的IP地址为何,进而直接判断各该服务器4分别连接至哪一个该底层网络交换机3。然而,该步骤S58可视该分布式文件***的管理者所需而定,并不必然执行。
例如图7所示,为本发明的一较佳具体实施例的IP地址分配示意图。使用者可由该分布式文件***的拓扑架构得知各该底层网络交换机3所被分配的IP地址为何,例如该第一网络交换机31上的各个连接端口所被分配的IP地址,其中第三码皆为“1”;该第二网络交换机32上的各个连接端口所被分配的IP地址,其中第三码皆为“2”;并且以此类推,该第N网络交换机33上的各个连接端口所被分配的IP地址,其中第三码皆为“N”。如此一来,若该对应表单以文字或数字显示该服务器411的IP地址为“X.X.1.1”、该服务器412的IP地址为“X.X.1.2”、该服务器413的IP地址为“X.X.1.M”,则使用者可以从该对应表单很轻易地判断,该三服务器411、412、413实连接至同一台网络交换机,即该第一网络交换机31。
再例如,若该对应表单显示该服务器421的IP地址为“X.X.2.1”,而该服务器432的IP地址为“X.X.N.2”,如此即表示该服务器421及432连接至不同的该底层网络交换机3,因此若该原始数据存储于该服务器421中,则该服务器432可以被***或管理者选择用来存储该备份数据。然而,以上所述的IP地址配置仅为本发明的一较佳实施例,不可加以限定。
再者,***亦可通过该配置文件配置一套备份规则,例如,当IP地址为“X.X.1.1”的该服务器411存储该原始数据时,即将该备份数据存储至IP地址为“X.X.1+1.1”,即IP地址为“X.X.2.1”的该服务器421中;当IP地址为“X.X.1.2”的该服务器412存储该原始数据时,即将该备份数据存储至IP地址为“X.X.1+1.2”,即IP地址为“X.X.2.2”的该服务器422中;而当IP地址为“X.X.N-1.M”的服务器(图中未标示)存储该原始数据时,即将该备份数据存储至IP地址为“X.X.N.M”的该服务器433中。然而,上述仅为本发明的一较佳备份规则,但并不以此为限。
续请参阅图6,为本发明的另一较佳具体实施例的流程图。当使用者欲写入一文件时,该分布式文件***将该文件视为一原始文件,并将该原始文件存储至其中之一该服务器4中(步骤S60),接着,为该原始文件产生至少一份的该备份文件(步骤S62)。
步骤S62后,***根据各该服务器4所使用的IP地址,或直接参考该配置文件,将该备份文件存储至与该原始文件的所在位置不同的另一该服务器4中(步骤S64)。并且,***依据各该服务器4的IP地址或依据该配置文件自动筛选,或是管理者依据该对应表单手动校调,以确保用以存储该原始文件的该服务器4,与用以存储该备份文件的该服务器4连接至不同的该底层网络交换机3(步骤S66)。
如此一来,当该分布式文件***中的其中一个该服务器4损坏,致使该原始文件遗失时,使用者仍可读取存在于另一个该服务器4中的该备份文件;而若其中一个该底层网络交换机3损坏,致使该底层网络交换机3底下的多个该服务器4无法被存取时,因为存储该原始文件的服务器绝不会与存储该备份文件的服务器连接至同一个该底层网络交换机3,因此绝不会有该原始文件与该备份文件同时无法被读取的情事产生。
以上所述仅为本发明的较佳具体实例,非因此即局限本发明的专利范围,故举凡运用本发明内容所为的等同变化,均同理皆包含于本发明的范围内,合予陈明。