區域訪問控制表項維護方法及裝置制造方法
【專利摘要】本發明提供區域訪問控制表項維護方法及裝置。方法包括:Fabric網絡中的交換機接收任一N端口節點發來的名字服務注冊消息,從該消息中讀取該節點的特征值,若該值為Initiator,則查詢激活Zone?Set內的所有Target,將該Initiator與查詢到的每個Target分別構建成一個Zone;若該值為Target,則查詢本Zone?Set內的所有Initiator,將該Target與查詢到的每個Initiator分別構建成一個Zone;交換機針對新構建的每個Zone分別生成訪問控制表項,將表項下發到硬件驅動。本發明減少了硬件驅動中的訪問控制表項數量。
【專利說明】區域訪問控制表項維護方法及裝置
【技術領域】
[0001 ] 本發明涉及光纖通道(FC,Fiber Channel)【技術領域】,尤其涉及光纖通道網絡架構(Fabric)網絡中的區域(Zone)訪問控制表項維護方法及裝置。
【背景技術】
[0002]FC協議是存儲網絡中應用最廣泛的一種協議,目的是提供比以太網和傳輸控制協議(TCP, Transmission Control Protocol) / 因特網協議(IP, Internet Protocol)更高速、高效的大數據傳輸性能。
[0003]FC協議中,虛擬存儲區域網絡(VSAN, Virtual Storage Area Network)的劃分實現了將一個物理連通的存儲網絡分割成多個邏輯上的虛擬存儲網絡。每個VSAN相互隔離,并獨立提供服務,增強了網絡的適應性、安全性,使其能夠為用戶提供更有效的服務。對VSAN內的N端口成員進一步劃分區域(Zone),使不同Zone內的成員相互隔離,達到訪問控制的目的。用戶可以靈活的在VSAN內部任意建立Zone,并可以在Zone內根據不同目的添加任意N端口成員。一個設備可以同時屬于多個Zone。在Zone中可以使用N端口的全球唯一名字(WWN,World Wide Name)、光纖通道標識(FCID,Fiber Channel Identification)等對成員進行標識。
[0004]圖1為現有的Zone應用組網示意圖,如圖1所示,一個VSAN包括3臺服務器(Server)和3個磁盤陣列(Disk),它們共同接入一個Fabric網絡中,將該VSAN劃分為3個Zone。其中:
[0005]Zone I 包括 Server 1> Disk I;
[0006]Zone 2 包括 Server 2、Disk 1、Disk 2、Disk 3;
[0007]Zone 3 包括 Server 3、Disk 3。
[0008]從配置上看:一個Zone可以包括多個N端口成員;而一個特定的N端口成員也可以屬于多個Zone,如Disk 1、Disk 3;
[0009]從訪問權限看:Server 2可以訪問所有磁盤,而Server I只能訪問Disk I,同樣Server 3 只能訪問 Disk 3。
[0010]按照協議規定,Zone數據庫是按照Zone集合(Set)、Zone、Zone成員(member)三級基本對象進行組織的。Zone Set對象是Zone對象的集合;Zone member對象是指Zone內的N端口成員。圖2給出了現有的Zone數據結構示意圖,如圖2所示,每個VSAN內可以配置多個Zone Set對象,每個Zone Set對象內可以包括多個Zone對象,同樣每個Zone對象可以包括多個Zone member對象。為了配置方便,Zone成員配置還支持使用別名,即ZoneAlias對象,別名相當于一個Zone member對象的集合,可以將其作為一個整體使用。
[0011]雖然每個VSAN內可以配置多個Zone Set,但只有一個可以激活,稱為激活(Active) Zone Set,即最終N端口成員的訪問控制都在Active Zone Set內進行匹配。Active Zone Set需要通過命令顯式在本地設備上激活,再通過擴散報文向整個Fabric網絡進行同步,使其在全網范圍內保持一致。[0012]Fabric網絡中的交換機會針對當前已登錄的N端口節點,生成硬件驅動訪問控制表項;這樣,后續對于Zone成員之間的交互報文不需要上CPlXCentral Processing Unit,中央處理單元)進行軟件轉發的過濾處理,可以直接按硬件驅動訪問控制表項匹配和轉發,最大效率利用硬件資源。
[0013]目前實際組網應用中,有兩種最典型的Zone配置:1、創建一個Zone并添加所有成員,再將Zone加入Zone Set并激活,稱為多對多配置;2、以每兩個成員為一組,創建一個Zone,再將所有Zone加入Zone Set并激活,稱為一對一配置。兩種典型配置最終都會生成N到N的節點硬件驅動訪問控制表項(N為當前Zone成員規模)。圖3為現有的Fabric網絡中的訪問控制示意圖,如圖3,每一條連線都對應正反兩條需要下發硬件驅動的訪問控制表項。
[0014]在實際組網應用中,N端口節點向交換機登錄后會進行名字服務注冊。名字服務注冊信息的其中兩項內容:FC_4類型(Type)信息和FC-4特征(Feature)信息,分別表示當前節點所支持的FC-4上層協議類型,以及該協議類型對應的協議特征。一般服務器和網卡在向交換機登錄后都會注冊名字服務支持光纖通道協議(FCP,Fiber Channel Protocol)這種FC-4協議,表示支持FC協議族特性,同時會注冊FCP的FC-4 Feature值,服務器一般注冊Feature為Initiator,標識自己為訪問發起者;存儲設備一般注冊為Target,標識自己為訪問對象。
[0015]對于部分設備來說,即使節點不會自己注冊FCP的Feature消息,交換機也能主動向設備發起探測,獲取FCP Feature值并保存。因此FCP Feature可以比較可靠地作為Fabric網絡中區分設備是服務器等訪問發起者還是磁盤存儲等訪問對象的依據。
【發明內容】
[0016]本發明提供Zone訪問控制表項維護方法及裝置,以減少下發到硬件驅動中的訪問控制表項。
[0017]本發明的技術方案是這樣實現的:
[0018]一種區域Zone配置和訪問控制表項維護方法,該方法包括:
[0019]光纖通道網絡架構Fabric網絡中的交換機發現一個區域集合Zone Set被激活;
[0020]所述交換機接收任一 N端口節點發來的名字服務注冊消息,從該消息中讀取該節點的特征值,若該值為訪問發起者Initiator,則查詢激活Zone Set內的所有訪問對象Target,將該Initiator與查詢到的每個Target分別構建成一個Zone,將新構建的所有Zone加入激活Zone Set ;若該值為Target,則查詢本Zone Set內的所有Initiator,將該Target與查詢到的每個Initiator分別構建成一個Zone,將新構建的所有Zone加入激活Zone Set ;
[0021]所述交換機針對新構建的每個Zone分別生成訪問控制表項,將表項下發到硬件驅動。
[0022]所述方法進一步包括:
[0023]當所述交換機發現一個N端口節點從Fabric網絡中退出時,將該節點對應的所有訪問控制表項從硬件驅動中刪除。
[0024]所述交換機將該節點對應的所有訪問控制表項從硬件驅動中刪除的同時進一步包括:
[0025]所述交換機將該節點對應的所有Zone配置刪除。
[0026]所述方法進一步包括:
[0027]當所述交換機發現一個Zone被刪除時,刪除硬件驅動中該Zone對應的訪問控制表項。
[0028]一種Fabric網絡中的Zone訪問控制表項維護裝置,該裝置包括:
[0029]Zone創建模塊:發現一個Zone Set被激活,接收任一 N端口節點發來的名字服務注冊消息,從該消息中讀取該節點的特征值,若該值為Initiator,則查詢激活Zone Set內的所有Target,將該Initiator與查詢到的每個Target分別構建成一個Zone,將新構建的所有Zone加入激活Zone Set ;若該值為Target,則查詢本Zone Set內的所有Initiator,將該Target與查詢到的每個Initiator分別構建成一個Zone,將新構建的所有Zone加入激活 Zone Set ;
[0030]訪問控制表項維護模塊:針對新構建的每個Zone分別生成訪問控制表項,將表項下發到硬件驅動。
[0031]所述訪問控制表項維護模塊進一步用于,當發現一個N端口節點從Fabric網絡中退出時,將該節點對應的所有訪問控制表項從硬件驅動中刪除。
[0032]所述訪問控制表項維護模塊進一步用于,當將該節點對應的所有訪問控制表項從硬件驅動中刪除的同時,將該節點對應的所有Zone配置刪除。
[0033]所述訪問控制表項維護模塊進一步用于,當發現一個Zone被刪除時,刪除硬件驅動中該Zone對應的訪問控制表項。
[0034]所述裝置位于Fabric網絡中的交換機上。
[0035]可見,本發明可以大大減少下發到硬件驅動中的訪問控制表項,節省底層硬件資源。
【專利附圖】
【附圖說明】
[0036]圖1為現有的Zone應用組網示意圖;
[0037]圖2為現有的Zone數據結構示意圖;
[0038]圖3為現有的Fabric網絡中的訪問控制示意圖;
[0039]圖4為本發明實施例提供的Zone配置和Zone控制表項的維護方法流程圖;
[0040]圖5為采用本發明后Fabric網絡中的訪問控制示意圖;
[0041]圖6為本發明實施例提供的Zone控制表項維護裝置的組成示意圖。
【具體實施方式】
[0042]下面結合附圖及具體實施例對本發明再作進一步詳細的說明。
[0043]發明人對現有的Zone配置及Zone訪問控制表項的生成及維護方法進行分析,發現其缺點如下:
[0044]—、底層硬件表項太多,占用硬件資源較多
[0045]在現有方案中,任意兩個成員都存在硬件驅動訪問控制表項,導致大量的硬件表項被占用,使得Zone訪問控制方案的可用性受到硬件限制比較大,當設備底層硬件規格較小時,Zone支持的成員規格也被嚴重制約。
[0046]二、可擴展性不強,Zone管理精細度欠缺
[0047]現有方案中,使用Zone的多對多配置時,所有Zone成員被添加進入一個Zone,雖然配置比較單一,但可擴展性和管理精細度都不足。后續如果想改變Zone成員之間的訪問關系,特別是想對現有成員加上新的訪問限制時,現有Zone已無法支持,只能手動刪除Zone成員再將其添加到新Zone,擴展性和可操作性較差。
[0048]三、配置極度復雜
[0049]現有方案中,使用Zone的一對一配置時,每兩個成員需要配置一個Zone,這樣節點之間的訪問規則是比較嚴密的,用戶也可以手動通過控制激活哪些Zone組成的ZoneSet來實現按需的訪問控制。但與此同時帶來了管理成本和復雜度急劇上升的問題,每兩個成員需要配置一個Zone導致當前網絡管理員需要創建大量的Zone,并且手動將成員按需分對,添加到Zone中。當登錄節點很多,Zone成員數量規格巨大時,對于網絡管理員的工作產生巨大的難度,并且十分容易出現人為配置錯誤的情況。
[0050]同時,目前的方案中,當節點已經從Fabric網絡離線時,底層硬件驅動訪問控制表項會隨之刪除,但是本地的Zone配置是不會動態刪除的,相當于一直存在一條已經無用的Zone成員配置。也增加了配置的復雜性。
[0051]同時,發明人發現,對于圖3所示的Fabric網絡的典型組網來說,在實際應用中,一般訪問交互僅發生在服務器和存儲設備之間,通常情況下,服務器和服務器之間或者存儲設備和存儲設備之間其實是不存在訪問需求的。交換機可以從節點名字服務注冊信息的FCP Feature 一項獲取當前節點的類型信息,即只有Initiator和Target之間存在互相訪問的需求,需要添加Zone的允許訪問規則,而Initiator相互之間或是Target相互之間是不需要添加Zone訪問規則的。
[0052]因此基于此,發明人提出一種方案:只在Initiator和Target之間自動生成Zone配置和硬件驅動訪問控制表項,從而從實際角度最節省地進行Zone配置,極大地降低硬件資源消耗和Zone管理復雜度。
[0053]圖4為本發明實施例提供的Zone配置和Zone控制表項的維護方法流程圖,如圖4所示,其具體步驟如下:
[0054]步驟401:用戶在Fabric網絡中的交換機上輸入Zone Set名字,并激活該ZoneSet0
[0055]在實際應用中,也可以在交換機上設置一個默認的智能匹配Zone Set,用戶可以選擇激活該Zone Set0
[0056]當一個Zone Set被激活后,此后生成的Zone都默認為該Zone Set的Zone成員。
[0057]步驟402:N端口節點登錄交換機后,向交換機發出名字服務注冊消息,該消息中攜帶FC-4 Type信息和FC-4 Feature信息,其中,FC-4 Feature信息為Initiator或者Target,以表示本節點為Initiator還是Target。
[0058]步驟403:交換機接收該名字服務注冊消息,從該消息中讀取FC_4Feature信息,判斷為Initiator還是Target,若為Initiator,執行步驟404 ;若為Target,執行步驟405。
[0059]步驟404:交換機查詢本地Active Zone Set中所有N端口節點的FC_4Feature信息,獲得所有的Target,將該Initiator與查詢到的每個Target構建成一個Zone,針對每個Zone生成對應的Zone配置,轉至步驟406。
[0060]Zone配置的內容包括:該Zone內的成員信息。該Zone自動加入步驟401中激活的 Zone Set。
[0061]步驟405:交換機查詢本地Active Zone Set中所有N端口節點的FC_4Feature信息,獲得所有的Initiator,將該Target與查詢到的每個Initiator構建成一個Zone,針對每個Zone生成對應的Zone配置。
[0062]該Zone自動加入步驟401中激活的Zone Set。
[0063]步驟406:交換機將新構建的每個Zone的訪問控制表項下發到硬件驅動中。
[0064]本步驟中,Zone的控制表項中的訪問規則包括^Zone內的兩個成員之間允許訪問,本Zone內的成員與非本Zone內的成員之間禁止訪問,等等。例如:Zone的成員包括:Initiator A和Target B,則該Zone的控制表項包括:A、B之間允許訪問,若還存在其他Zone,則該Zone的控制表項還包括:A與其他Zone內的成員之間禁止訪問,B與其他Zone內的成員之間禁止訪問。
[0065]步驟407:當交換機發現一個N端口節點從Fabric網絡中退出時,將該節點對應的所有Zone的訪問控制表項從硬件驅動中刪除,同時將該節點對應的所有Zone配置刪除。
[0066]本步驟可以保證交換機上存在的Zone配置都是生效配置,不會存在多余的無用配置,保證當前Zone配置直接有效。
[0067]另外,用戶也可以根據需要,動態調整Zone Set中的Zone。例如:當想要新增節點訪問規則時,例如限制并非所有服務器都能訪問所有存儲設備時,只要刪除對應成對的服務器和存儲設備所在的Zone配置即可,當交換機感知到一個Zone配置被刪除時,刪除硬件驅動中對應的訪問控制表項。
[0068]從圖4所示流程可以看出,只在Initiator與Target之間創建Zone,而Initiator之間、或者Target之間不創建Zone也不向硬件驅動下發訪問控制表項。
[0069]圖5為采用本發明后Fabric網絡中的訪問控制示意圖,如圖5所示,與圖3相比,節省了大量的訪問控制表項。以圖3和圖5組網為例進行對比,具體如下表所示。
[0070]
【權利要求】
1.一種區域Zone配置和訪問控制表項維護方法,其特征在于,該方法包括: 光纖通道網絡架構Fabric網絡中的交換機發現一個區域集合Zone Set被激活; 所述交換機接收任一 N端口節點發來的名字服務注冊消息,從該消息中讀取該節點的特征值,若該值為訪問發起者Initiator,則查詢激活Zone Set內的所有訪問對象Target,將該Initiator與查詢到的每個Target分別構建成一個Zone,將新構建的所有Zone加入激活Zone Set ;若該值為Target,則查詢本Zone Set內的所有Initiator,將該Target與查詢到的每個Initiator分別構建成一個Zone,將新構建的所有Zone加入激活Zone Set ;所述交換機針對新構建的每個Zone分別生成訪問控制表項,將表項下發到硬件驅動。
2.根據權利要求1所述的方法,其特征在于,所述方法進一步包括: 當所述交換機發現一個N端口節點從Fabric網絡中退出時,將該節點對應的所有訪問控制表項從硬件驅動中刪除。
3.根據權利要求2所述的方法,其特征在于,所述交換機將該節點對應的所有訪問控制表項從硬件驅動中刪除的同時進一步包括: 所述交換機將該節點對應的所有Zone配置刪除。
4.根據權利要求1所述的方法,其特征在于,所述方法進一步包括: 當所述交換機發現一個Zone被刪除時,刪除硬件驅動中該Zone對應的訪問控制表項。
5.一種Fabric網絡中的Zone訪問控制表項維護裝置,其特征在于,該裝置包括: Zone創建模塊:發現一個Zone Set被激活,接收任一 N端口節點發來的名字服務注冊消息,從該消息中讀取該節點的特征值,若該值為Initiator,則查詢激活Zone Set內的所有Target,將該Initiator與查詢到的每個Target分別構建成一個Zone,將新構建的所有Zone加入激活Zone Set ;若該值為Target,則查詢本Zone Set內的所有Initiator,將該Target與查詢到的每個Initiator分別構建成一個Zone,將新構建的所有Zone加入激活Zone Set ; 訪問控制表項維護模塊:針對新構建的每個Zone分別生成訪問控制表項,將表項下發到硬件驅動。
6.根據權利要求5所述的裝置,其特征在于,所述訪問控制表項維護模塊進一步用于,當發現一個N端口節點從Fabric網絡中退出時,將該節點對應的所有訪問控制表項從硬件驅動中刪除。
7.根據權利要求6所述的裝置,其特征在于,所述訪問控制表項維護模塊進一步用于,當將該節點對應的所有訪問控制表項從硬件驅動中刪除的同時,將該節點對應的所有Zone配置刪除。
8.根據權利要求5所述的裝置,其特征在于,所述訪問控制表項維護模塊進一步用于,當發現一個Zone被刪除時,刪除硬件驅動中該Zone對應的訪問控制表項。
9.根據權利要求5所述的裝置,其特征在于,所述裝置位于Fabric網絡中的交換機上。
【文檔編號】H04L12/24GK103560909SQ201310508101
【公開日】2014年2月5日 申請日期:2013年10月24日 優先權日:2013年10月24日
【發明者】王玨 申請人:杭州華三通信技術有限公司