背景技術(shù):
可以實現(xiàn)計算機網(wǎng)絡(luò)以允許聯(lián)網(wǎng)設(shè)備(諸如個人計算機、服務(wù)器、數(shù)據(jù)存儲設(shè)備等)進行通信和共享資源。一種類型的網(wǎng)絡(luò)實現(xiàn)方式是存儲區(qū)域網(wǎng)(san),其可以例如以高速網(wǎng)絡(luò)的形式存在,該高速網(wǎng)絡(luò)代表用戶的大網(wǎng)絡(luò)將不同種類的數(shù)據(jù)存儲設(shè)備(例如,盤陣列、帶庫、光學自動點唱機等)與關(guān)聯(lián)的終端設(shè)備元件(例如,工作站、服務(wù)器等)互連。這樣的存儲區(qū)域網(wǎng)可以包括中間數(shù)據(jù)路徑設(shè)備(諸如網(wǎng)絡(luò)交換機、網(wǎng)關(guān)和路由器)以使業(yè)務(wù)量沿聯(lián)網(wǎng)設(shè)備之間的一個或多個數(shù)據(jù)路由路徑而流動。
附圖說明
圖1描繪了根據(jù)示例的存儲區(qū)域網(wǎng)。
圖2是描繪了根據(jù)示例的供圖1的存儲區(qū)域網(wǎng)中使用的網(wǎng)絡(luò)交換機的框圖。
圖3是描繪了根據(jù)另一示例的供圖1的存儲區(qū)域網(wǎng)中使用的網(wǎng)絡(luò)交換機的框圖。
圖4是描繪了根據(jù)示例的供圖1的存儲區(qū)域網(wǎng)中使用的目標的框圖。
圖5是描繪了被采取以實現(xiàn)示例方法的步驟的流程圖。
具體實施方式
如上所提供,san可以用于允許聯(lián)網(wǎng)設(shè)備進行通信和共享資源。san常常被實現(xiàn)以允許通過使用邏輯單元號(lun)來交換存儲數(shù)據(jù),邏輯單元號(lun)可以被描述為被san用于標識邏輯單元的號碼。邏輯單元可以例如指代通過san協(xié)議(例如,光纖信道等)而尋址的設(shè)備,并可以例如指代在san以及支持讀/寫操作的某些硬件設(shè)備(諸如,合適的帶驅(qū)動器、盤驅(qū)動器等等)上創(chuàng)建的邏輯盤。
san構(gòu)造內(nèi)的網(wǎng)絡(luò)設(shè)備一般不知道由設(shè)備路由的lun相關(guān)數(shù)據(jù)的各種元數(shù)據(jù)屬性,諸如例如lun存儲層級(例如,層級1、2或3存儲)、lun的業(yè)務(wù)目的(例如,lun是否將用于交換服務(wù)器、數(shù)據(jù)庫、日志或文件系統(tǒng))等。本公開的某些實現(xiàn)方式涉及被設(shè)計成允許san構(gòu)造設(shè)備確定lun元數(shù)據(jù)屬性且對該信息起作用的系統(tǒng)、方法和設(shè)備。例如,在一些實現(xiàn)方式中,使用多播通告消息通過數(shù)據(jù)信道(例如,通過san內(nèi)的網(wǎng)絡(luò)交換機的數(shù)據(jù)端口)和/或管理信道(例如,通過san內(nèi)的網(wǎng)絡(luò)交換機的管理端口)將lun元數(shù)據(jù)屬性通告給san構(gòu)造設(shè)備。
本公開的實現(xiàn)方式可以展現(xiàn)出與現(xiàn)有san配置相比的許多優(yōu)勢。例如,在一些實現(xiàn)方式中,動態(tài)策略施行可以由san構(gòu)造設(shè)備基于lun的元數(shù)據(jù)屬性來實現(xiàn)??梢曰趌un元數(shù)據(jù)屬性(諸如,lun的定制的服務(wù)質(zhì)量(qos)、安全性或診斷簡檔(或其任何合適組合)的應用)來采取附加或可替換動作。在某些實現(xiàn)方式中,例如在其中使用多播通告消息的某些實現(xiàn)方式中,終端設(shè)備可以將lun元數(shù)據(jù)屬性推送到構(gòu)造數(shù)據(jù)庫,而不是使管理應用通過api或其他手段來拉取信息。在某些實現(xiàn)方式中,例如在其中通過“帶外”管理信道傳遞lun信息的某些實現(xiàn)方式中,不使用“帶內(nèi)”數(shù)據(jù)帶寬來傳送lun信息,并且由此,將不存在數(shù)據(jù)輸入/輸出性能影響。本文呈現(xiàn)的解決方案的其他優(yōu)勢將在說明書和附圖的評述時顯而易見。
圖1圖示了示例san10,其包括將san目標20連接到san發(fā)起者22的各種網(wǎng)絡(luò)交換機(12、14、16和18)。應當領(lǐng)會,本文描述的解決方案可以被使用或被適配以供包括更多或更少設(shè)備、不同類型的設(shè)備和不同網(wǎng)絡(luò)布置的san使用。為了圖示,將圖1的交換機12和目標20描繪為包括分別用于在實現(xiàn)本公開的功能(例如,與多播通告消息28相關(guān)的功能)時使用的解析引擎24和通告創(chuàng)建引擎26。關(guān)于圖2-5及其相關(guān)描述進一步詳細地描述交換機12和目標20的這些引擎和其他方面。
如上所述,在圖1的san10中,san目標20與san發(fā)起者22聯(lián)網(wǎng)。如本文使用的術(shù)語“發(fā)起者”可以例如指代發(fā)起存儲聯(lián)網(wǎng)協(xié)議會話(例如,用于并行小型計算機系統(tǒng)接口(scsi)、光纖信道協(xié)議(fcp)、互聯(lián)網(wǎng)scsi(iscsi)、串行ata(sata)、以太網(wǎng)上的ata(aoe)、infiniband、數(shù)字存儲系統(tǒng)互連(dssi)或另一合適協(xié)議的會話)的網(wǎng)絡(luò)端點。如本文使用的術(shù)語“目標”可以例如指代下述網(wǎng)絡(luò)端點:其不發(fā)起會話,但取而代之等待來自發(fā)起者的命令,并提供所請求的輸入/輸出數(shù)據(jù)傳送,諸如san數(shù)據(jù)30。盡管可以利用本文呈現(xiàn)的解決方案來實現(xiàn)各種合適的存儲聯(lián)網(wǎng)協(xié)議,但為了方便,本公開將主要聚焦于scsi和光纖信道協(xié)議。
目標20和發(fā)起者22可以例如以網(wǎng)絡(luò)主機或其他合適類型的網(wǎng)絡(luò)節(jié)點的形式存在。例如,目標20和發(fā)起者22可以以合適的服務(wù)器、臺式計算機、工作站、膝上型電腦、打印機等或其任何合適組合的形式存在。作為僅一個示例(其在圖1中描繪),發(fā)起者22可以以包括用于將信息呈現(xiàn)給操作者的監(jiān)視器以及用于從操作者接收輸入的鍵盤和鼠標的臺式計算機的形式存在,并且目標20可以以獨立存儲服務(wù)器器具的形式存在。應當領(lǐng)會,在一些實現(xiàn)方式中,發(fā)起者22和目標20可以是在服務(wù)器上運行的虛擬機(vm)中的虛擬化節(jié)點。
應當領(lǐng)會,發(fā)起者22和目標20可以是san10上的端點節(jié)點、端點節(jié)點之間的中間節(jié)點或者其他類型的網(wǎng)絡(luò)節(jié)點。應當進一步領(lǐng)會,為了方便,“發(fā)起者”和“目標”的使用與網(wǎng)絡(luò)節(jié)點的方面有關(guān),且不意圖例如將發(fā)起者22限于僅發(fā)起者相關(guān)功能或?qū)⒛繕?0限于僅目標相關(guān)功能。的確,在一些情形中(例如,在某些時間處),發(fā)起者22可以對目標20來說起目標的作用,并且目標20可以對發(fā)起者22來說起發(fā)起者的作用。
在操作中,經(jīng)由san10的san構(gòu)造設(shè)備(諸如,網(wǎng)絡(luò)交換機12、14、16和18)將目標20的存儲卷從目標20路由到發(fā)起者22(例如,光纖信道數(shù)據(jù)端口)。如本文使用的術(shù)語“構(gòu)造”可以例如指代下述網(wǎng)絡(luò)拓撲:其中,網(wǎng)絡(luò)節(jié)點經(jīng)由一個或多個網(wǎng)絡(luò)交換機而互連,以跨多個物理鏈路傳播網(wǎng)絡(luò)業(yè)務(wù)量。合適的交換機可以例如以網(wǎng)絡(luò)交換機或其他多端口網(wǎng)絡(luò)橋接器的形式存在,以在數(shù)據(jù)鏈路層處處理和轉(zhuǎn)發(fā)數(shù)據(jù)。在一些實現(xiàn)方式中,交換機中的一個或多個可以以在osi模型的多個層(例如,數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層)處操作的虛擬多層交換機的形式存在。盡管遍及該說明書使用術(shù)語“交換機”,但應當領(lǐng)會,該術(shù)語可以寬泛地指代其他合適的網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)發(fā)設(shè)備。例如,通用計算機可以包括允許計算機起網(wǎng)絡(luò)交換機作用的合適硬件和機器可讀指令。應當領(lǐng)會,術(shù)語“交換機”可以包括以可針對san提供像交換機那樣的功能的合適路由器、網(wǎng)關(guān)和其他設(shè)備的形式存在的其他san構(gòu)造路由設(shè)備。
流路徑可以安裝在網(wǎng)絡(luò)交換機12、14、16和18上,以使業(yè)務(wù)量沿由交換機定義的所選路由路徑而流動。交換機可以例如被設(shè)計成基于業(yè)務(wù)量內(nèi)的元數(shù)據(jù)來沿數(shù)據(jù)路徑轉(zhuǎn)發(fā)業(yè)務(wù)量。例如,在節(jié)點處接收的業(yè)務(wù)量可以以包括路由相關(guān)元數(shù)據(jù)的分組的形式存在。本文中為了方便而使用術(shù)語“分組”,然而,應當領(lǐng)會,該術(shù)語意圖指代任何合適的協(xié)議數(shù)據(jù)單元(pdu)。合適的分組可以例如包括有效載荷數(shù)據(jù)以及以控制數(shù)據(jù)的形式存在的元數(shù)據(jù)。控制數(shù)據(jù)可以例如包括幫助節(jié)點可靠地遞送有效載荷數(shù)據(jù)的數(shù)據(jù)。例如,控制數(shù)據(jù)可以包括用于發(fā)起者22和目標20的網(wǎng)絡(luò)地址、差錯檢測碼、定序信息和分組的分組大小。相比之下,有效載荷數(shù)據(jù)可以包括代表應用而承載以供發(fā)起者22和目標20使用的數(shù)據(jù)。
san10內(nèi)的每一個節(jié)點可以例如被設(shè)計成通過僅將所接收的消息傳輸?shù)较⑺鈭D針對的目的地節(jié)點(或者在途中到中間節(jié)點又到目的地設(shè)備),來幫助管理跨網(wǎng)絡(luò)的數(shù)據(jù)流。在一些實現(xiàn)方式中,虛擬節(jié)點可以依賴于存儲在每一個交換機內(nèi)的機器可讀介質(zhì)上(或以其他方式可由每一個交換機訪問)的流表中的流條目。流表中的每一個流條目可以例如包含諸如下述各項之類的信息:(1)匹配字段,與分組相匹配(例如,進入端口和具體分組報頭字段);(2)流條目的優(yōu)先級值,允許相比于其他流條目的優(yōu)先化;(3)計數(shù)器,其在分組匹配時被更新;(4)對動作集合或管線處理進行修改的指令;以及(5)超時,指示在流到期前的最大時間量或空閑時間;以及(6)cookie(甜餅)值,其可以用于過濾流統(tǒng)計信息、流修改和流刪除。
在一些實現(xiàn)方式中,san10可以被實現(xiàn)為虛擬網(wǎng)絡(luò)。如本文使用的術(shù)語“虛擬網(wǎng)絡(luò)”可以例如指代下述計算機網(wǎng)絡(luò):其至少部分地包括使用網(wǎng)絡(luò)虛擬化方法而實現(xiàn)的虛擬網(wǎng)絡(luò)鏈路和虛擬設(shè)備。作為僅一個示例,虛擬交換機可以被實現(xiàn)到虛擬網(wǎng)絡(luò),這可以允許虛擬機使用與物理交換機相同的協(xié)議來進行通信。虛擬交換機可以例如通過在數(shù)據(jù)鏈路層處轉(zhuǎn)發(fā)幀來模擬傳統(tǒng)物理的有以太網(wǎng)和/或光纖信道能力的網(wǎng)絡(luò)交換機。類似地,可以實現(xiàn)虛擬路由器,其被設(shè)計成基于從路由表取得的決策將分組從一個網(wǎng)絡(luò)路由到另一個網(wǎng)絡(luò)。這樣的虛擬路由器的功能可以類似于物理路由器的功能,但是,可以在網(wǎng)絡(luò)內(nèi)的虛擬機之間發(fā)送分組。虛擬機可以例如具有虛擬以太網(wǎng)卡,虛擬以太網(wǎng)卡可以被與物理(即,非虛擬)網(wǎng)絡(luò)接口卡(nic)類似地對待以用在物理(即,非虛擬)網(wǎng)絡(luò)中。
圖2圖示了供san使用的網(wǎng)絡(luò)交換機12的一個示例。為了圖示,在圖2的交換機12的描述中提及圖1的san10的方面。然而,應當領(lǐng)會,可以在任何合適的san中實現(xiàn)交換機12。如下面充分詳細描述的那樣,交換機12的某些實現(xiàn)方式可以用于解析多播通告消息28并基于消息28內(nèi)的所通告的屬性來作用于信息。在圖2的實現(xiàn)方式中,交換機12包括:(1)通信引擎32,將網(wǎng)絡(luò)交換機連接到san10內(nèi)的其他網(wǎng)絡(luò)設(shè)備,以允許交換機12和該其他網(wǎng)絡(luò)設(shè)備在其間傳送數(shù)據(jù);(2)通告接收引擎34,從另一網(wǎng)絡(luò)設(shè)備接收多播通告消息;以及(3)解析引擎24,解析通告消息以識別針對該另一網(wǎng)絡(luò)設(shè)備的lun元數(shù)據(jù)屬性。下面進一步詳細地描述交換機12的每一個引擎。
本文使用功能引擎來描述交換機12。這樣的功能引擎可以例如操作以執(zhí)行本文描述的方法或其他操作的一個或多個步驟。如本文所使用,術(shù)語“引擎”指代硬件(例如,處理資源,諸如集成電路或其他電路)和軟件(例如,機器或處理資源可執(zhí)行指令、命令或代碼,諸如固件、編程或目標代碼)的組合。硬件和軟件的組合可以包括僅硬件(即,不具有軟件元件的硬件元件)、在硬件處托管的軟件(例如,在存儲器資源處存儲且在處理資源處執(zhí)行或解釋的軟件)、或者在硬件處和在硬件處托管的軟件。附加地,如本文所使用,單數(shù)形式“一”、“一個”和“該”包括復數(shù)指代物,除非上下文清楚地以其他方式指示。因此,例如,術(shù)語“引擎”意圖意指一個或多個引擎或引擎的組合。交換機12的每一個引擎可以包括一個或多個機器可讀存儲介質(zhì)和一個或多個計算機處理資源。作為僅一個示例,在交換機12上提供引擎功能的軟件可以存儲在計算機的存儲器資源上以由計算機的處理資源執(zhí)行。
如上所述,圖2中的通信引擎32的實現(xiàn)方式包括硬件和軟件的組合以將交換機12連接到san10中的其他網(wǎng)絡(luò)設(shè)備,以便允許交換機12和該其他網(wǎng)絡(luò)設(shè)備在其間傳送數(shù)據(jù)。在一些實現(xiàn)方式中,通信引擎32包括與該其他網(wǎng)絡(luò)設(shè)備通信的管理端口38和數(shù)據(jù)端口40。同樣地,目標20包括對應的管理端口42和數(shù)據(jù)端口44??梢允褂脦?nèi)信道(例如,通過數(shù)據(jù)端口)或帶外信道(例如,通過管理端口)遍及san10發(fā)送通告。如本文使用的術(shù)語“數(shù)據(jù)端口”可以例如指代服務(wù)于多播通告消息28的內(nèi)容的端口。在一些實現(xiàn)方式中,通信引擎32可以包括:網(wǎng)絡(luò)接口控制器,具有以太網(wǎng)端口;和/或主機總線適配器,具有光纖信道端口。例如,可以通過預定義輸入/輸出控制(ioctl)請求代碼來對接san10內(nèi)的網(wǎng)絡(luò)設(shè)備的管理端口的以太網(wǎng)驅(qū)動器。如本文使用的術(shù)語“ioctl”可以例如指代針對設(shè)備專用輸入/輸出操作和未被規(guī)則系統(tǒng)調(diào)用所表達的其他操作的特殊系統(tǒng)調(diào)用。通信引擎32可以例如包括硬件、相關(guān)固件、以及用于允許硬件與san10的其他硬件操作地通信的其他軟件。通信引擎32可以例如包括供通信引擎32使用的機器可讀指令,諸如用于實現(xiàn)和/或管理物理或虛擬網(wǎng)絡(luò)端口的固件。
如上所述,圖2中的通告接收引擎34的實現(xiàn)方式包括硬件和軟件的組合以通過通信引擎32的管理端口38來從另一網(wǎng)絡(luò)設(shè)備(例如,目標20)接收多播通告消息28(參見圖1)。為了圖示,遍及本申請使用目標20作為創(chuàng)建通告消息28且將通告消息28傳輸?shù)浇粨Q機12的示例網(wǎng)絡(luò)設(shè)備。然而,應當領(lǐng)會,san10或另一san中的任何合適網(wǎng)絡(luò)設(shè)備可以用于該功能。如下面關(guān)于圖4的通告?zhèn)鬏斨噶钸M一步詳細地描述的那樣,在一些實現(xiàn)方式中,與拉取技術(shù)(例如,其中請求由交換機12發(fā)起)形成對照,通告消息28由交換機12經(jīng)由推送技術(shù)(例如,其中針對給定事務(wù)的請求由公布者發(fā)起)接收。
在一些實現(xiàn)方式中,多播通告消息28被設(shè)計成給交換機提供與存儲卷屬性有關(guān)的信息以在lun掩蔽過程期間處理。在一些實現(xiàn)方式中,san10的構(gòu)造內(nèi)的兼容交換機將知道各種卷屬性,諸如lun存儲層級(層級1、2或3存儲)、lun的業(yè)務(wù)目的(比如,lun將用于交換服務(wù)器、數(shù)據(jù)庫、日志或文件系統(tǒng)等)等,以便允許交換機基于lun類別來應用預定義安全性、qos和診斷簡檔。特別地,通告消息28可以是可解析的,以識別針對該另一網(wǎng)絡(luò)設(shè)備(例如,目標20)的lun元數(shù)據(jù)屬性。例如,在一些實現(xiàn)方式中,通告消息28是可解析的,以識別:(1)lun的lun存儲層級;(2)lun的使用類別;(3)lun的交換服務(wù)器使用類別;(4)lun的數(shù)據(jù)庫使用類別;(5)lun的文件系統(tǒng)使用類別;以及(6)其任何合適組合。附加地或可替換地,通告消息28可以是可解析的,以識別san10的其他lun元數(shù)據(jù)屬性或其他屬性。下面關(guān)于圖2-5及其相關(guān)描述來提供通告消息28的創(chuàng)建和傳輸?shù)倪M一步描述。
如上所述,圖2中的解析引擎24的實現(xiàn)方式包括硬件和軟件的組合以解析通告消息28以便識別針對該另一網(wǎng)絡(luò)設(shè)備的lun元數(shù)據(jù)屬性。關(guān)于交換機12的某個實現(xiàn)方式,可以以預定義格式將lun元數(shù)據(jù)屬性包括在通告消息28中,并且,當交換機12從終端設(shè)備(例如,目標20)或另一交換機(例如,交換機14)接收到帶內(nèi)或帶外多播通告消息28時,其可以解析消息并將經(jīng)解析的信息匯編成預定義表數(shù)據(jù)格式。在一些實現(xiàn)方式中,可以基于在san端點當中唯一的所討論的設(shè)備的唯一標識符(uuid)連同終端設(shè)備的唯一端口id來解析通告消息28。應當領(lǐng)會,如本文使用的術(shù)語“解析”和“可解析的”可以指代在將消息的內(nèi)容分離之前處理該消息的操作。作為僅幾個示例,在一些實現(xiàn)方式中,可以首先對消息進行解碼、解密或以其他方式處理,以允許解析。
在一些實現(xiàn)方式中,可以從san構(gòu)造中的個體連接中的每一個收集多播分組接受準則,這些個體連接是預定義多播地址連同預定義vlanid處的多播傳輸?shù)哪繕?。如下面關(guān)于圖3進一步詳細地描述的那樣,在一些實現(xiàn)方式中,一旦通告消息28的lun元數(shù)據(jù)屬性被解析,交換機12就可以作用于信息,諸如通過應用lun的定制的服務(wù)質(zhì)量(qos)、安全性或診斷簡檔(或其任何合適組合)。
上面關(guān)于交換機12描述了若干個引擎。然而,應當領(lǐng)會,可以針對附加或可替換的功能將其他引擎添加到交換機12。作為另一示例,在一些實現(xiàn)方式中,交換機12可以包括作為硬件和軟件的組合的i/o引擎,以允許操作者查看交換機12和/或與交換機12交互。例如,在一些實現(xiàn)方式中,交換機12可以包括一個或多個合適的i/o引擎,諸如用于監(jiān)視器、打印機、鍵盤、鼠標、觸筆、觸摸屏、揚聲器等的引擎,其可以允許經(jīng)由圖形用戶接口(gui)、命令行接口(cli)或另一合適接口進行交互。這樣的引擎的i/o設(shè)備可以經(jīng)由有線或無線鏈路而連接到交換機12的元件。圖3還提供了可被添加到交換機12的引擎的附加示例。
應當領(lǐng)會,在一些實現(xiàn)方式中,本文描述的各種引擎可以與其他引擎共享硬件、軟件或數(shù)據(jù)。作為僅一個示例,在一些實現(xiàn)方式中,通信引擎32和通告接收引擎34可以共享計算機可讀介質(zhì)和/或處理資源,而在一些實現(xiàn)方式中,通信引擎32和通告接收引擎34使用分離的介質(zhì)和處理資源。應當領(lǐng)會,交換機12的任何引擎可以與交換機12的任何其他引擎共享硬件、軟件或數(shù)據(jù),以便實現(xiàn)其相應目的。
圖3是以功能模塊的形式存在的交換機12的另一示例的圖。如圖3中描繪的交換機12包括通信引擎32、通告接收引擎34和解析引擎24,其示例在上文中關(guān)于圖2加以描述。圖3的交換機12進一步包括附加引擎,諸如安全性引擎46、qos引擎48和診斷引擎50,如下面進一步詳細地描述的那樣。
交換機12的安全性引擎46基于經(jīng)解析的lun元數(shù)據(jù)屬性來應用預定義安全性配置。例如,當確定lun涉及指示加強的安全性的信息時,可以實現(xiàn)一個或多個安全性控制以施行安全性標準,諸如合適的下述各項:(1)隱私控制,諸如與數(shù)據(jù)加密相關(guān)的那些控制;(2)預防性控制,諸如與數(shù)據(jù)認證相關(guān)的那些控制;(3)監(jiān)視控制,諸如與入侵檢測相關(guān)的那些控制;(4)校正性控制,諸如與數(shù)據(jù)備份相關(guān)的那些控制;以及(5)其任何合適組合。應當領(lǐng)會,可以經(jīng)由安全性引擎46來實現(xiàn)其他安全性控制。
交換機12的qos引擎48基于經(jīng)解析的lun元數(shù)據(jù)屬性來應用預定義qos配置。應當領(lǐng)會,網(wǎng)絡(luò)業(yè)務(wù)量常常受制于qos保證,這可以幫助確保網(wǎng)絡(luò)資源被高效地用于多個應用和服務(wù)。例如,qos保證可以與可接受帶寬、等待時間、差錯率、抖動率等等相關(guān)。作為僅一個示例,如果數(shù)據(jù)的帶寬低于可接受水平,則qos引擎48可以應用包括在san10內(nèi)重新路由數(shù)據(jù)的qos配置。應當領(lǐng)會,其他qos配置可以由qos引擎48應用以實現(xiàn)期望qos。
交換機12的診斷引擎50基于經(jīng)解析的lun元數(shù)據(jù)屬性來應用預定義診斷設(shè)置。這樣的診斷設(shè)置可以例如是下述設(shè)置:其分析與網(wǎng)絡(luò)連接性有關(guān)的信息以幫助對網(wǎng)絡(luò)相關(guān)問題進行故障排除。作為僅一個示例,診斷引擎50可以應用診斷設(shè)置,以允許加強地跟蹤san10內(nèi)的數(shù)據(jù)。應當領(lǐng)會,其他診斷設(shè)置可以由診斷引擎50應用。
在一些實現(xiàn)方式中,使用本文描述的技術(shù)而傳送的lun元數(shù)據(jù)屬性可以通過暴露于restful應用編程接口(api)而被利用,以進一步整合到其他網(wǎng)絡(luò)管理框架中。在一些實現(xiàn)方式中,這可以提供中央構(gòu)造服務(wù)智能,其可以例如實現(xiàn)容易的整合和可擴縮性。例如,可以與軟件定義網(wǎng)絡(luò)(sdn)和openstack框架一起使用lun元數(shù)據(jù)屬性。
圖4圖示了根據(jù)示例的網(wǎng)絡(luò)設(shè)備52。為了圖示,將網(wǎng)絡(luò)設(shè)備52稱作san的目標(例如,目標20)并且參考san10及其元件(例如,網(wǎng)絡(luò)交換機12、通告消息28等)。然而,應當領(lǐng)會,網(wǎng)絡(luò)設(shè)備52可以是san10(或另一san)的任何合適設(shè)備,且不限于目標20的功能或san10的環(huán)境。如下面進一步詳細地描述的那樣,網(wǎng)絡(luò)設(shè)備52包括存儲指令的非瞬變計算機可讀存儲器資源54,該指令在被執(zhí)行時使處理資源56允許創(chuàng)建和傳輸多播通告消息28(參見例如圖1)。該指令包括:(1)通信指令58;(2)通告創(chuàng)建指令60;以及(3)通告?zhèn)鬏斨噶?2。這些指令在下文中進一步詳細地加以描述。
存儲器資源54的通信指令58被設(shè)計成允許網(wǎng)絡(luò)設(shè)備52連接到san10中的網(wǎng)絡(luò)交換機12(或另一合適網(wǎng)絡(luò)設(shè)備),以允許網(wǎng)絡(luò)設(shè)備52和網(wǎng)絡(luò)交換機12在其間傳送數(shù)據(jù)。上面關(guān)于圖2描述的網(wǎng)絡(luò)交換機12的通信引擎32的方面可以被并入網(wǎng)絡(luò)設(shè)備52的通信指令58中。例如,在一些實現(xiàn)方式中,通信指令58可以包括與具有以太網(wǎng)端口的網(wǎng)絡(luò)接口控制器和/或具有光纖信道端口的主機總線適配器的實現(xiàn)相關(guān)的指令。通信指令58可以例如包括諸如用于實現(xiàn)和/或管理物理或虛擬網(wǎng)絡(luò)端口的固件之類的指令。
存儲器資源54的通告創(chuàng)建指令60被設(shè)計成創(chuàng)建多播通告消息28以用于通過網(wǎng)絡(luò)設(shè)備52的管理端口(參見例如圖1中的目標20的管理端口42)而傳輸。通告創(chuàng)建指令60要包括標識網(wǎng)絡(luò)設(shè)備52的lun的lun元數(shù)據(jù)屬性的信息。如例如圖4中所圖示,網(wǎng)絡(luò)設(shè)備52可以包括多個lun,諸如lun64、lun66和lun68。為了圖示,僅提供了三個lun的使用,并且應當領(lǐng)會,可以提供多于三個或少于三個lun。上面關(guān)于圖2的交換機12詳細描述了lun元數(shù)據(jù)屬性的方面。
在一些實現(xiàn)方式中,通告創(chuàng)建指令60被設(shè)計成根據(jù)互聯(lián)網(wǎng)組管理協(xié)議(igmp)來創(chuàng)建多播通告消息28。igmp是在客戶端(例如,網(wǎng)絡(luò)設(shè)備52)與本地多播路由器之間操作的協(xié)議。以igmp探聽能力為特征的交換機(諸如網(wǎng)絡(luò)交換機12)可以通過觀察客戶端與路由器之間的igmp事務(wù)來導出有用信息。根據(jù)igmp,通告消息28可以例如以具有成員資格查詢消息類型(例如,一般的和組專用的)、成員資格報告消息類型或離開組消息類型的ip分組的形式存在。
在一些實現(xiàn)方式中,通告創(chuàng)建指令60要響應于在網(wǎng)絡(luò)設(shè)備52與網(wǎng)絡(luò)交換機12之間創(chuàng)建通信鏈路而觸發(fā)多播通告消息28的創(chuàng)建。關(guān)于一個示例,光纖信道主機或目標(例如,網(wǎng)絡(luò)設(shè)備52)連接到交換機(例如,網(wǎng)絡(luò)交換機12),并且鏈路出現(xiàn)且變得活動。在該示例中,一旦鏈路出現(xiàn),網(wǎng)絡(luò)設(shè)備52就可以例如識別改變指示,以觸發(fā)網(wǎng)絡(luò)設(shè)備52通過其自身的管理端口將標準igmp加入發(fā)送到預定義多播組。
以下時間線提供了示例服務(wù)帶外通告鏈路出現(xiàn)端到端狀態(tài)機流。作為開始,san端點(諸如目標和發(fā)起者端口)鏈接起來。通過管理端口將igmp加入消息發(fā)送到san多播(mc)組,并且san(經(jīng)由基礎(chǔ)和進步通告)通告多播分組。接下來,交換機添加針對san端點通告的表條目,并在進入時啟動老化定時器。接下來,交換機休眠達1-30秒之間的隨機時間。接下來,san傳閱端點通告。在第一場景中,san端點鏈路是從下(大于老化定時器)到上轉(zhuǎn)變的非計劃的鏈路。在該場景中,igmp在向下到sanmc組的鏈路上離開,并且igmp要在向上到sanmc組的鏈路上加入,并且san要通告mc分組(基礎(chǔ)+進步通告)。在該場景中,交換機使針對端點的表條目老化并從表中移除它。在第二場景中,san端點鏈路是從下到上轉(zhuǎn)變的所計劃的鏈路(例如,端口被帶到離線或停機、或者陣列停機、或者刀片停機)。在該場景中,igmp離開到sanmc組。在該場景中,交換機處理igmp離開,并立即移除針對發(fā)布了igmp離開的端點的san條目。在兩個場景中的任一場景中,交換機在60和120秒之間的隨機時間處發(fā)布所有端點更新請求。接下來,目標利用帶外通告(基礎(chǔ)+進步通告)對更新請求作出響應。
存儲器資源54的通告?zhèn)鬏斨噶?2被設(shè)計成將由通告創(chuàng)建指令60創(chuàng)建的多播通告消息28傳輸?shù)骄W(wǎng)絡(luò)交換機12。在一些實現(xiàn)方式中,與拉取技術(shù)(例如,其中請求由交換機12發(fā)起)形成對照,通告消息28由交換機12經(jīng)由推送技術(shù)(例如,其中針對給定事務(wù)的請求由公布者發(fā)起)接收。在一些實現(xiàn)方式中,可以指示具有可解析的通告創(chuàng)建能力的san10的所有終端設(shè)備通過在管理改變、規(guī)則間隔或其他合適時間處的多播將lun元數(shù)據(jù)屬性推送到san構(gòu)造數(shù)據(jù)庫。在一些實現(xiàn)方式中,通過網(wǎng)絡(luò)節(jié)點的端口、使用igmp加入和多播路由來通告構(gòu)造端點元數(shù)據(jù)屬性。為了在某些這樣的實現(xiàn)方式中接收通告,將期望的受眾存在于其上的多播網(wǎng)絡(luò)鏈接到公共的基于vlan的網(wǎng)絡(luò)。
合適的處理資源56可以例如以中央處理單元(cpu)、基于半導體的微處理資源、數(shù)字信號處理資源(dsp)(諸如數(shù)字圖像處理單元)、適于檢索和執(zhí)行存儲在計算機可讀介質(zhì)中的指令的其他硬件設(shè)備或處理元件、或者其合適組合的形式存在。合適的處理資源可以例如包括芯片上的單個或多個核、跨多個芯片的多個核、跨多個設(shè)備的多個核、或者其合適組合。合適的處理資源可以起作用以取得、解碼和執(zhí)行如本文描述的指令。作為檢索和執(zhí)行指令的可替換方案或除了檢索和執(zhí)行指令外,合適的處理資源可以例如包括至少一個集成電路(ic)、其他控制邏輯、其他電子電路或其合適組合,它們包括用于執(zhí)行存儲在計算機可讀介質(zhì)上的指令的功能的許多電子部件。合適的處理資源可以例如跨多個處理單元而實現(xiàn),并且指令可以由計算系統(tǒng)的不同區(qū)域中的不同處理單元實現(xiàn)。
合適的存儲器資源54可以包括供指令執(zhí)行系統(tǒng)使用或結(jié)合指令執(zhí)行系統(tǒng)而使用的任何計算機可讀介質(zhì),該指令執(zhí)行系統(tǒng)諸如是基于計算機/處理器的系統(tǒng)或asic(專用集成電路)或者可從計算機可讀介質(zhì)取得或獲得邏輯且執(zhí)行其中包含的指令的其他系統(tǒng)。合適的機器可讀存儲介質(zhì)可以例如以非瞬變存儲介質(zhì)的形式存在。如本文使用的術(shù)語“非瞬變”可以例如指代下述介質(zhì):其不涵蓋瞬變信號,而是取而代之由被配置成存儲相關(guān)機器可讀指令的一個或多個存儲器資源部件組成。這樣的介質(zhì)可以例如以存儲信息(諸如計算機指令)的電子、磁、光學或其他物理存儲介質(zhì)的形式存在。
存儲器資源可以例如被托管在與處理資源相同的外殼內(nèi),諸如例如在公共塔式機殼、膝上型電腦外殼、機架系統(tǒng)等內(nèi)。在一些實現(xiàn)方式中,存儲器資源和處理資源可以被托管在不同外殼中。如本文所使用,術(shù)語“機器可讀存儲介質(zhì)”可以例如包括隨機存取存儲器資源(ram)、閃速存儲器資源、存儲驅(qū)動器(例如,硬盤)、任何類型的存儲盤(例如,致密盤只讀存儲器資源(cd-rom)、任何其他類型的致密盤、dvd等)等等或其組合。在一些實現(xiàn)方式中,介質(zhì)可以對應于包括下述各項的存儲器資源:主存儲器資源,諸如隨機存取存儲器資源(ram),其中軟件可以在運行時期間駐留;以及輔助存儲器資源。輔助存儲器資源可以例如包括非易失性存儲器資源,其中存儲機器可讀指令的拷貝。應當領(lǐng)會,指令和數(shù)據(jù)可以存儲在分離的機器可讀存儲介質(zhì)上。出于清楚的目的,可以將多個存儲器資源標識為單個存儲器資源,并且可以將多個處理資源標識為單個處理資源。
在一個示例中,程序指令可以是安裝包的一部分,其在被安裝時可以由處理資源56執(zhí)行以實現(xiàn)網(wǎng)絡(luò)設(shè)備12的功能。在這種情況下,存儲器資源54可以是便攜式介質(zhì),諸如由可從其下載和安裝該安裝包的服務(wù)器維護的cd、dvd或者閃速驅(qū)動器或存儲器。在另一示例中,程序指令可以是已經(jīng)安裝的一個或多個應用的一部分。
應當領(lǐng)會,網(wǎng)絡(luò)設(shè)備12可以包括附加元件,諸如輸入/輸出(i/o)設(shè)備、通信接口等。應當進一步領(lǐng)會,存儲器資源54的各種指令(例如,通信指令58、通告創(chuàng)建指令60和通告?zhèn)鬏斨噶?2)可以被并入功能引擎(諸如通告創(chuàng)建引擎26)中,該功能引擎可以操作以執(zhí)行指令。如上所述,術(shù)語“引擎”指代硬件(例如,處理資源,諸如集成電路或其他電路)和軟件(例如,機器或處理資源可執(zhí)行指令、命令或代碼,諸如固件、編程或目標代碼)的組合。
圖6是根據(jù)本文的公開的操作交換機的方法70的流程圖。為了圖示,方法70及其組成步驟的描述參考交換機12的元件和san10的其他網(wǎng)絡(luò)元件,然而,應當領(lǐng)會,該方法可以用于或以其他方式適用于任何合適的網(wǎng)絡(luò)元件或san。此外,對圖1-3的交換機12及其元件的引用不意圖暗示方法70的交換機的具體要求或功能。例如,方法70可以適用于具有與圖2的交換機12中圖示的引擎不同的引擎的交換機。
方法70包括:步驟72,接收從san10中的另一網(wǎng)絡(luò)設(shè)備(例如,目標20)發(fā)送的多播通告消息28。如上面關(guān)于圖2的通告接收引擎34描述的那樣,步驟72可以包括:與拉取技術(shù)(例如,其中請求由交換機12發(fā)起)形成對照,交換機12經(jīng)由推送技術(shù)(例如,其中針對給定事務(wù)的請求由公布者發(fā)起)接收多播通告消息28。應當領(lǐng)會,上面關(guān)于圖2-3描述的交換機12的通告接收引擎34的任何合適方面可以適用于方法70的步驟72,并且反之亦然。
方法70包括:步驟74,解析多播通告消息以識別針對該另一網(wǎng)絡(luò)設(shè)備(例如,目標20)的邏輯卷單元(lun)元數(shù)據(jù)屬性,該邏輯卷單元(lun)元數(shù)據(jù)屬性被該另一網(wǎng)絡(luò)設(shè)備插入到通告消息中。如上面關(guān)于解析引擎24描述的那樣,可以以預定義格式將lun元數(shù)據(jù)屬性包括在通告消息28中,并且當交換機12從終端設(shè)備(例如,目標20)或另一交換機(例如,交換機14)接收到多播通告消息28時,其可以解析消息并將經(jīng)解析的信息匯編成預定義表數(shù)據(jù)格式。應當領(lǐng)會,上面關(guān)于圖2-3描述的交換機12的解析引擎24的任何合適方面可以適用于方法70的步驟74,并且反之亦然。
方法70包括:步驟76,基于所識別的針對該另一網(wǎng)絡(luò)(例如,目標20)的lun元數(shù)據(jù)屬性來確定針對網(wǎng)絡(luò)交換機12的更新配置。如上面關(guān)于圖3的安全性引擎46描述的那樣,在一些實現(xiàn)方式中,步驟76可以包括:響應于指示針對lun的加強安全性的lun元數(shù)據(jù)屬性,確定應當應用加強安全性配置。如上面關(guān)于圖3的qos引擎48描述的那樣,在一些實現(xiàn)方式中,步驟76可以包括:響應于指示針對lun的加強qos的lun元數(shù)據(jù)屬性,確定應當應用加強qos配置。如上面關(guān)于圖3的診斷引擎50描述的那樣,在一些實現(xiàn)方式中,步驟76可以包括:響應于指示針對lun的不同診斷設(shè)置的lun元數(shù)據(jù)屬性,確定應當應用不同診斷設(shè)置。應當領(lǐng)會,上面關(guān)于圖1描述的交換機12的安全性引擎46、qos引擎48和診斷引擎50的任何合適方面可以適用于方法70的步驟76,并且反之亦然。
方法70包括:步驟78,基于所確定的更新配置來更新網(wǎng)絡(luò)交換機12??梢允褂萌魏魏线m的更新技術(shù)來更新交換機12。例如,在一些實現(xiàn)方式中,可以將配置專用圖像快速發(fā)出到交換機12,以實現(xiàn)更新配置。在一些實現(xiàn)方式中,可以基于更新配置來更新針對交換機12的流表或其他路由規(guī)則。在一些實現(xiàn)方式中,可以在更新配置被安裝之后重啟交換機12。
在一些實現(xiàn)方式中,方法70包括下述步驟:使用多播通告消息28以將所通告的服務(wù)關(guān)聯(lián)到在其上接收到多播通告消息的網(wǎng)絡(luò)交換機的端口。例如,在一些實現(xiàn)方式中,僅有被數(shù)據(jù)端口所服務(wù)且在具體數(shù)據(jù)端口上發(fā)送的消息允許網(wǎng)絡(luò)設(shè)備將服務(wù)映射到它在其上處理更新的物理端口。
在一些實現(xiàn)方式中,方法70包括下述步驟:使用多播來與網(wǎng)絡(luò)交換機12的相鄰網(wǎng)絡(luò)設(shè)備共享來自多播通告消息28的所識別的lun元數(shù)據(jù)屬性,以允許更新在san中可用的服務(wù)的存儲器駐留視圖,以使自動化動作由網(wǎng)絡(luò)交換機12采取。例如,在一些實現(xiàn)方式中,在網(wǎng)絡(luò)交換機12的給定網(wǎng)絡(luò)設(shè)備端口上解析更新的過程可以允許網(wǎng)絡(luò)交換機12將多播通告消息28的內(nèi)容關(guān)聯(lián)到在其上處理它的物理端口。在某個示例中,該能力可以允許去往物理端口的服務(wù)的存儲器駐留視圖被創(chuàng)建。
在一些實現(xiàn)方式中,方法70包括下述步驟:在物理視圖與邏輯服務(wù)視圖之間構(gòu)建映射或表結(jié)構(gòu),以允許在網(wǎng)絡(luò)交換機的給定數(shù)據(jù)端口上應用設(shè)置或自動化任務(wù)。例如,服務(wù)于視圖映射視圖的物理數(shù)據(jù)端口可以用于在物理視圖與邏輯服務(wù)視圖之間構(gòu)建映射或表結(jié)構(gòu)。一旦這樣的映射或表結(jié)構(gòu)(例如,存儲器駐留表)被構(gòu)建,就可以由網(wǎng)絡(luò)交換機12使用邏輯或服務(wù)到物理端口信息來應用動作或決策(例如,應用預定義安全性配置),以在具體物理數(shù)據(jù)端口上應用設(shè)置或自動化任務(wù)。
在一些實現(xiàn)方式中,方法70包括下述步驟:將多播通告消息28傳輸?shù)皆趕an10外運行的管理軟件,以允許管理軟件在san內(nèi)構(gòu)建數(shù)據(jù)的本地物理視圖。在一些實現(xiàn)方式中,這可以允許技術(shù)的靈活部屬選項以適應各種網(wǎng)絡(luò)合約和物理拓撲。
應當領(lǐng)會,可以使用更多或更少步驟來重新布置、補充或近似方法70的步驟。作為僅一個示例,在一些實現(xiàn)方式中,與確定針對網(wǎng)絡(luò)交換機12的更新配置的步驟76相關(guān)的方面可以在更新網(wǎng)絡(luò)交換機12的步驟78期間出現(xiàn)。
盡管上面已經(jīng)示出和描述了某些實現(xiàn)方式,但可以作出形式和細節(jié)上的各種改變。例如,已關(guān)于一個實現(xiàn)方式和/或過程而描述的一些特征可以與其他實現(xiàn)方式相關(guān)。換言之,關(guān)于一個實現(xiàn)方式而描述的過程、特征、部件和/或特性可以在其他實現(xiàn)方式中有用。作為另一示例,上面關(guān)于具體引擎或元件而討論的功能可以在其他實現(xiàn)方式中被包括在不同引擎或元件處。
如本文所使用,術(shù)語“提供”包括推送機制(例如,發(fā)送數(shù)據(jù),而與針對該數(shù)據(jù)的請求無關(guān))、拉取機制(例如,遞送數(shù)據(jù),該遞送是響應于針對該數(shù)據(jù)的請求而進行的)和存儲機制(例如,在中間者處存儲數(shù)據(jù),在該中間者處可以訪問該數(shù)據(jù))。此外,如本文所使用,術(shù)語“基于”意指“至少部分地基于”。因此,基于某個理由而描述的特征可以僅基于該理由或者基于該理由和一個或多個其他理由。
此外,應當理解,本文描述的系統(tǒng)、網(wǎng)絡(luò)、設(shè)備和方法可以包括所描述的不同實現(xiàn)方式的部件和/或特征的各種組合和/或次組合。因此,參考一個或多個實現(xiàn)方式而描述的特征可以與本文描述的其他實現(xiàn)方式組合。