1. 程式人生 > >儲存的一些基本概念(HBA,LUN)

儲存的一些基本概念(HBA,LUN)

有些新手總是在各式各樣的概念裡繞來繞去,弄的不亦樂乎。所以我就把我的一些理解寫了下來,供您參考.我說的不侷限於任何一種具體產品和廠家,也可能有些說法和某些廠家的說法不一樣,但是我覺得應該算的上是本原的東西,有以不變應萬變之功效,呵呵,見笑 
1、關於HBA 
HBA的全稱為Host Bus Adapter,即主機匯流排介面卡。 
a、匯流排介面卡是個什麼東西呢? 
我們首先要了解一下主機的結構,一臺計算機內部多半由兩條匯流排串在起來(當然實際情況會有不同,這裡只討論常見的,簡單的情況),一條匯流排叫系統匯流排,一條叫I/O匯流排。系統總線上接了CPU,MEmory,cache什麼的,I/O總線上接的就是外圍裝置,現如今最常見的就是PCI匯流排了

。這兩條匯流排之間用橋接的晶片或者說電路連線起來。舉個形象的例子,就好比一個城市裡,有兩條主幹道,一條屬於行政區,一條屬於商業區,中間有個環島,將兩條主幹道連線到了一起,系統匯流排就好比行政區裡的主幹道,而I/O匯流排就好比商業區的主幹道。系統匯流排和I/O匯流排的頻寬的單位都是以Gbyte來記,但是顯而易見的是,行政區的主幹道和商業區的主幹道相比的話,前者肯定更“核心”,更寬,更順暢,設計的要求也高。 
我們知道,在向公僕部門要求服務的時候,是要有一些介面的部門和程式的,而橋接晶片的作用就是連線和協調兩條匯流排的工作的。 
雖然I/O匯流排的速度和系統匯流排的頻寬相比要低很多,但是好歹也是以G來計量的,而我們知道外圍裝置的速度,往往只有幾百兆,甚至幾十k而已,怎麼協調工作呢?
好比賣煎餅果子攤子不能直接戳到城市主幹道上,怎麼辦?好辦,在主幹道邊上開個2000平米的小吃城,把攤子都收進去好了。那麼主機匯流排介面卡的作用也就是這個,我們就是要把外設組織起來,連線到I/O總線上去!HBA就是指Host和I/O BUS直接的一個介面卡,也好比一個水管工常說的“雙通”。 


b、常見的HBA有哪些呢? 
比如顯示卡,網絡卡,scsi卡,1394卡等等。我要拿出來說的就是FCHBA和ATA&IDE。我們通常說的什麼Emulex的LP9002,什麼Qlogic的QLA2340都是FCHBA卡,就是將Fibre Channel的裝置和IO匯流排連線起來的介面卡ATA也是一種介面卡技術,我們PC主機板上的ATA介面,就是一個磁碟介面卡的對外介面,要強調的就是,ATA說的是介面卡技術,IDE是說得儲存外設技術

,比如我們可以說IDE硬碟,IDE光碟機,說ATA介面,但是說IDE介面,ATA硬碟就不時那麼合適了,雖然很多情況下,大家都習慣把他們混在一起說。 
描述HBA的時候,有幾個主要的規範要說一下 
  > 一個承上,就是說,HBA和IOBUS怎麼連,我們經常說的PCI介面卡,就是指這個HBA卡是要插在PCI BUS上的PCI slot上的,但是現在的計算機上,不僅僅只有PCI匯流排而已,大家碰到的時候留意。 
  >一個啟下,就是說HBA要和外設怎麼連,這樣的規範就很多了。 
  >再說HBA本身,比如頻寬,比如執行機制(protocol等),獨立處理能力等等 
Tips:有時候我們看到的一塊卡,看到的實際是一個物理的卡,有的時候實際上是多個Adapter,好比一家機構,掛多個牌子,有的時候,一塊卡有兩條通道,好比一家公司,有兩套人馬。

2、關於lun

a、lun的概念 
   lun的全稱是logical unit number,也就是邏輯單元號我們知道scsi總線上可掛接的裝置數量是有限的,一般為6個或者15個,我們可以用target ID(也有稱為scsi id的)來描述這些裝置,裝置只要一加入系統,就有一個代號,我們在區別裝置的時候,只要說幾號幾號就ok了。 
   而實際上我們需要用來描述的物件,是遠遠超過該數字的,於是我們引進了lun的概念,也就是說lun id的作用就是擴充了target id。每個target下都可以有多個lun device,我們通常簡稱lun device為lun,這樣就可以說每個裝置的描述就有原來的target x變成target x lun y了,那麼顯而易見的,我們描述裝置的能力增強了.就好比,以前你給別人郵寄東西,寫地址的時候,可以寫: 
   xx市人民大街54號 xxx(收) 
   但是自從高樓大廈越來越多,你不得不這麼寫: 
   xx市人民大街54號xx大廈518室 xxx (收) 
   所以我們可以總結一下,lun就是我們為了使用和描述更多裝置及物件而引進的一個方法而已,一點也沒什麼特別的地方. 


b、lun是什麼東西? 
   lun id不等於某個裝置,只是個號碼而已,不代表任何實體屬性,在我們的實際環境裡,我們碰到的lun可能是磁碟空間,可能是磁帶機,或者是media changer等等. 
   lun的神祕之處(相對於一些新手來說)在於,它很多時候不是什麼可見的實體,而是一些虛擬的物件。比如一個陣列櫃,主機那邊看作是一個target device,那為了某些特殊需要,我們要將磁碟陣列櫃的磁碟空間劃分成若干個小的單元給主機來用,於是就產生了一些什麼邏輯驅動器的說法,也就是比target device級別更低的邏輯物件,我們習慣於把這些更小的磁碟資源稱之為lun0,lun1,lun2....什麼的。而作業系統的機制使然,作業系統識別的最小儲存物件級別就是lun device,這是一個邏輯物件,所以很多時候被稱之為logical device。 
   有人說,我的windows裡,就認到一個磁碟呀,沒看到什麼lun的說法,是不是lun=physical disk呢?回答是否定的,只要你注意,磁碟的屬性裡就可以看到有一個lun的值,只是因為你的disk沒有被劃分為多個儲存資源物件,而將整個磁碟當作一個lun來用,lun id預設為零,如此而已。 
   我們曾經碰到過這樣的問題,比如有人問,我們有一個磁碟陣列,連到了兩個主機上,我們劃分了一個lun給兩個主機認到,然後我們想,先在作業系統將磁碟分為兩個區,讓兩個主機分別使用兩個分割槽,然後再出現某一臺主機宕機之後,使用叢集軟體將該分割槽切換到另外一個主機上去,這樣可行嗎?答案也是否定的,叢集軟體操作的磁碟單元是lun,而不是分割槽,所以該操作是不可行的。當然,在一些環境,一般也是一些要求比較低的環境,可以在多個主機上掛載不同的磁碟分割槽,但是這種情況下,實際上是沒有涉及到磁碟的切換的,所以在一些高要求的環境裡,這種情況根本就不允許存在。 
   還要說明的地方是,在有些廠商和有些產品的概念裡,lun id被繫結到了具體的device上,比如ibm的一些帶庫,整個帶庫只有一個target id,然後changer,tape drive被分別分配為lun0,lun1,lun2.....,但是我們要注意到,這只是產品做了特別設計,也是少數情況。 

c、儲存和主機的電氣獨立時代的lun的概念 
還有很多新手總是把陣列裡面的磁碟和主機的內部磁碟的一些概念搞混淆了。 
在磁碟陣列和磁帶庫大行其道的時代,儲存越來越智慧化,越來越像一個獨立的機器,實際上儲存和主機的電氣獨立本來就是一個必然趨勢,俗話說得好,兒大要分家嘛。在儲存越來越重要的時代,儲存要自立門戶是必然的事。 
如果我們把儲存當作一個獨立的主機來看,理解起來就很簡單了。我們說到lun的概念的時候,我們就要將分為兩個層面。一個層面就是在陣列這個機器的os識別到的範圍,一個層面就是伺服器的os識別到的範圍。這兩個層面是相對獨立的,因為如果我們把儲存當作一個主機來看,那麼它自然有自己的device,target,lun之說,而伺服器也有自己的device,target,lun之說;另外一方面,這兩個層面又是相互關聯的,一個陣列的控制系統,大多都有虛擬化的功能,陣列想讓主機看到什麼樣的東西,主機才能看到相應的東西。當然,伺服器識別到的最小的儲存資源,就是lun級別的。那麼主機的HBA卡看到的儲存上的儲存資源就靠主要兩個東西來定位,一個就是儲存系統的控制器(target),一個就是lun id,這個lun是由儲存的控制系統給定的,是儲存系統的某部分儲存資源。 


d、lun masking,lun mapping 
我們有了獨立的磁碟陣列用了之後,伺服器只要看到儲存的控制系統,就有可能使用磁碟陣列的磁碟資源,但是磁碟陣列不可能只為某一個伺服器來使用,所以他必須管制主機使用某部分磁碟資源。這個管制分為兩個部分:一部分就是lun mapping,類似於綠色通道,就是保證伺服器能看到某部分儲存資源,一部分就是lun masking,類似於警戒線,就是保證伺服器只可訪問給它分配的儲存資源,而沒分配給伺服器的資源,就不要染指了。 
實現lun masking和lun mapping有三種方法:一個是基於儲存控制系統來設定,一個是基於儲存交換系統來設定,一個是基於伺服器os來設定。 
基於儲存控制系統得設定,是比較常見的設定,比如很多磁碟陣列的控制系統,本身就能設定lun被某伺服器看到。比如FastT的partition功能。 
基於儲存交換系統的設定,也是一種常用的方法,比如常說的zoning。 
基於伺服器os的設定,比較少採用,一般採用安裝某些作業系統上安裝某些軟體來實現,因為這個方法全靠伺服器自覺,所以比較少用,呵呵。

 
e、lun的multi-path 
現在,儲存網路越來越發達了,一個lun有多條通路可以訪問也不是新鮮事了。 
伺服器使用多個HBA連線到儲存網路,儲存網路又可能是由多個交換裝置組成,而儲存系統又可能有多個控制器和鏈路,lun到伺服器的儲存網路鏈路又可能存在著多條不同的邏輯鏈路。那麼,必然的,同一個physical lun在伺服器上必然被識別為多個裝置。因為os區別裝置無非用的是匯流排,target id,lun id來,只要號碼不同,就認為是不同的裝置。 
由於上面的情況,多路徑管理軟體應運而生了,比如emc的powerpath,這個軟體的作用就是讓作業系統知道那些作業系統識別到lun實際上是一個真正的physical lun,具體的做法,就是生成一個特別的裝置檔案,作業系統操作這個特殊的裝置檔案。而我們知道,裝置檔案+driver+firmware的一個作用,就是告訴作業系統該怎麼使用這個裝置。那麼就是說,多路徑管理軟體從driver和裝置檔案著手,告訴了作業系統怎麼來處理這些身份複雜的lun。 
 
 
3、關於備份(Backup)和高可用性(High availability) 
備份,從字面的意思來理解,其實就是現時存在和應用的一個實體的後備實體; 
高可用性,即是指我們硬體的環境、設施、資料、應用系統等,在複雜環境下可用的能力和可能性達到一個較高的值; 
在現實世界裡,我們都講究有一個穩定,可靠,所以我們經常在計算機環境設計裡,涉及到高可用性和備份等等元素。 
我首先把這兩個詞拿出來說,就是不想讓新手們在什麼雙機熱備,資料備份亞,叢集等等概念裡暈的不也樂乎。

對於備份我主要說說以下幾個方面: 
    a、裝置的備份 
    裝置的備份,也就是我們在現時使用的裝置之外,採取相同或者類似的裝置做後備。 
    比如我們在伺服器上採用冗餘電源,也叫後備電源,我們使用單獨的硬碟來做RAID的備用盤,也叫熱備盤。 
    如果我們採取單獨的一臺伺服器來做後備,這就成了主機的備份,主機的備份有很多種方式,比較著名的就是所謂的cluster,所謂的雙機熱備和雙機容錯,我很不喜歡鼓搗這些概念,我一概稱他們為主機熱備,因為他們有一個共同的特點,就是都是為了實現主機的備份,即某一個主機失效了,有另外一個主機頂替它來執行。實現主機熱備的軟體有很多,比如IBM的HACMP,HP的MCSG,SUN的sun cluster,Compaq的Ture Cluster,Veritas的VCS,EMC的autostart,ROSE HA等等 
     
    b、資料的備份 
    資料的備份,就是我們在現時使用的資料之外,實現或設定另外一份不同物理體現的、內容相同的的有效資料拷貝 
    比如我們將生產資料拷貝到磁帶上,就是一種資料備份方式。 
    比如我們將生產資料複製到磁碟的另一個分割槽,另一個檔案系統,或者拷貝到別的主機的磁碟上,等等,都是一種資料備份的方式。 
    實現資料備份的軟體有很多,比如一些磁帶操作的小工具,tar,cpio等,大的工具軟體有什麼EMC Networker, Symantec Netbackup,CommVault,tapeware等等,資料複製的工具就更多了,作業系統的複製命令呀,emc replicator呀,srdf等等 
        
    c、應用系統的備份 
    應該說應用系統的備份,包含了以上兩種備份,因為一個完善的應用系統,其裝置和資料都是要求有備份的,那麼初次之外,做為一個應用系統,除了裝置和資料,他還包含了業務程式,人員,業務邏輯,外部環境等等一系列讓應用跑起來的東西。 
    在這個層面,就有一個比較熱火的東西,那就是常說的遠端容災。遠端容災,就是在生產系統環境之外,在相隔較遠的物理空間,構建相同或類似的一個應用系統,以達到在必要的時候頂替原生產系統工作的目標。 
    要實現遠端容災的目的,除了我們說的外部環境,比如機房,電力,後勤保障,人員配備,業務程式之外,我們比較著重的一個環節,就是資料的問題,也就是我們在兩個系統之間要保證資料的相對一致,實現這個目標的方法有很多,比如磁碟陣列之間的卷複製,比如兩個主機之間檔案系統上的複製,等等。當然,在一個系統裡,把資料用磁帶匯出來,快遞到另外一個系統地點,在用磁帶把資料導進取,也不能說不是一個辦法,但是這樣操作,經常會和業務的邏輯相違背(呵呵,這麼麻煩又耽誤時間,估計一般很難接受)。

對於高可用性,我要說的是: 
    可用性,即是指在各種複雜環境下,我們的資料,應用等計算資源都可以保持使用的能力和可能性。比如伺服器配備冗餘電源,就提高了伺服器的可用性,好理解,一個電源工作不正常或者能力不夠的是候,伺服器不受影響嘛。再比如,我們的磁碟陣列採用雙控制器,當某個控制器和鏈路工作不正常的時候,資料的訪問能平滑的過渡到另外一個控制器上和鏈路上,這也是提高了資料和儲存裝置的可用性。 
    那麼什麼是高可用性呢,我們就是一切為了提高系統可用性的實現方法和結果。 
    要拿出來說的就是cluster,或者雙機什麼的。我們為了實現生產的應用系統的高可用性,其中一個環節就是實現伺服器的高可用性,就是某伺服器失效或者能力不足時,應用能平滑的過渡到另外的主機上,也就是說對於應用系統來說,伺服器保證了相對的可用 
    
那備份和高可用性有什麼區別呢? 
    那我要說,這根本沒有可比性!因為這是兩個不同的概念,他們的著眼點是不同的。備份只是保證了有後備,而高可用性則是為了保證應用的儘快恢復。 
    打個比方,我們說備份就好比買保險,買保險不能保證你平安無事,但是肯定能減輕損失。我們說搞可用性,就是安全氣囊,ABS,能讓你快速的重新開始或者說將危險消弭於萌芽時刻。 
    所以說我們做備份和提高可用性,兩手都不可放鬆,也不互相矛盾。就好比買了好車,你就不買保險,或者你買了保險,就可以飆車,都是愚蠢的。


===================================================================================

LUN詳解(原創)

LUN概述

LUN的全稱是Logical Unit Number,也就是邏輯單元號,是SCSI中的概念 我們用Target ID(也有稱為SCSI ID的)來描述這些裝置,裝置只要一加入系統,就有一個代號,我們在區別裝置的時候,只要說幾號幾號就ok了。 早期的SCSI系統採用3個ID,一個SCSI總線上只能接駁8個裝置,除了SCSI控制卡佔用了一個ID外,只剩7個裝置號可用。儘管SCSI以後採用了4位ID,擴充套件到了16個裝置,但對於現代的儲存裝置,這種個位數的ID識別號顯然不夠用。目前生產環境上多產用RAID技術來規劃儲存,通過RAID組合後的磁碟不再能看到單獨的磁碟資訊,而是變成了一個巨大的儲存空間古老的RAID技術只能將此儲存空間整體分配,被指定了一個LUN後,成為了一個“邏輯”磁碟,供接駁的計算機使用
鑑於上述種種原因,於是我們引進了LUN的概念,也就是說LUN ID的作用就是擴充了Target ID。每個Target下都可以有多個LUN Device,我們通常簡稱LUN Device為LUN,這樣就可以說每個裝置的描述就有原來的Target x變成Target x LUN y了,那麼顯而易見的,我們描述裝置的能力增強了,同時也能對儲存空間內的磁碟進行單獨的管理。就好比,以前你給別人郵寄東西,寫地址的時候,可以寫:
xx市人民大街54號 xxx(收)
但是自從高樓大廈越來越多,你不得不這麼寫:
xx市人民大街54號xx大廈518室 xxx (收)
所以我們可以總結一下,LUN ID不等於某個裝置,只是個號碼而已,不代表任何實體屬性,在我們的實際環境裡,我們碰到的LUN可能是磁碟空間,可能是磁帶機,或者是media changer等等。
 LUN就是我們為了使用和描述更多裝置及物件而引進的一個方法而已,一點也沒什麼特別的地方。

還要說明的地方是,在有些廠商和有些產品的概念裡,LUN ID被繫結到了具體的Device上,比如IBM的一些帶庫,整個帶庫只有一個Target ID,然後changer,tape drive被分別分配為LUN0、LUN1、LUN2…,但是我們要注意到,這只是產品做了特別設計,也是少數情況。

儲存和主機的LUN概念區別 
在磁碟陣列和磁帶庫大行其道的時代,儲存越來越智慧化,越來越像一個獨立的機器,實際上儲存和主機的電氣獨立本來就是一個必然趨勢,俗話說得好,兒大要分家嘛。在儲存越來越重要的時代,儲存要自立門戶是必然的事。
如果我們把儲存當作一個獨立的主機來看,理解起來就很簡單了。我們說到LUN的概念的時候,我們就要將分為兩個層面。一個層面就是在陣列這個機器的OS識別到的範圍,另一個層面就是伺服器的OS識別到的範圍。這兩個層面是相對獨立的,因為如果我們把儲存當作一個主機來看,那麼它自然有自己的Device、Target、LUN之說,而伺服器也有自己的Device、Target、LUN之說;另外一方面,這兩個層面又是相互關聯的,一個陣列的控制系統,大多都有虛擬化的功能,陣列想讓主機看到什麼樣的東西,主機才能看到相應的東西。當然,伺服器識別到的最小的儲存資源,就是LUN級別的。那麼主機的HBA卡看到的儲存上的儲存資源就主要
  兩個東西來定位,一個就是儲存系統的控制器(Target),一個就是LUN ID,這個LUN是由儲存的控制系統給定的,是儲存系統的某部分儲存資源。

LUN masking,LUN mapping和Zone

我們有了獨立的磁碟陣列用了之後,伺服器只要看到儲存的控制系統,就有可能使用磁碟陣列的磁碟資源,但是磁碟陣列不可能只為某一個伺服器來使用,所以它必須管制主機使用某部分磁碟資源。實現這種管制的主要技術有:LUN mapping,LUN masking和Zone。

LUN masking

LUN masking是指LUN與主機HBA卡的WWN地址繫結,與主機HBA卡建立一對一或多對一的連線和訪問關係。無論主機跳線到同一個FABRIC(無 zone設定)的哪一個埠上,主機都能識別到相同的LUN。儲存裝置一般預設在卷和主機間建立多對一的對應關係,即一臺主機可訪問儲存裝置上的多個卷。 
每塊磁碟都在一個佇列裡,磁碟分割槽也能被分配成LUN。當多臺計算機在同一時間訪問同一磁碟時將會導致磁碟資料的混亂。如果你應用LUN masking,那麼一個單獨的RAID將被分到多個邏輯磁碟上,這些磁碟都分配給了指定的計算機。通過LUN masking,只有特定的LUN才能被特定的SCSI卡訪問。不僅是SCSI介面的磁碟陣列,由於FC實際使用的也是SCSI協議,因此較新的FC磁碟陣列也可有提供LUN masking功能。被劃分完的LUN裝置會屬於一個Host Group中。同一Group中的FC卡,能訪問這個Group中的LUN,而不能跨越Group訪問指派給別的Group的LUN
 邏輯單元數掩碼(LUN masking)是以獨立磁碟冗餘陣列(RAID)為中心的,在一個埠掩碼多個LUN的加強型方法。LUN masking在儲存控制器級別上進行 主機HBA的WWN繫結,因此儲存控制器能夠將不同LUN劃分給一個或多個主機,可以提供LUN級別的訪問控制。

LUN masking也允許磁碟儲存資源在多個獨立伺服器之間共享。單個的大容量RAID裝置可以劃分子模組,之後通過帶LUN masking功能的SAN光纖通道連到RAID上的不同主機上,提供服務。所以,只有一個或者有限的伺服器可以看到LUN (例如,磁碟薄片,部分,單元), 可對RAID裝置中的每個LUN進行限制。

但並不是所有的RAID裝置具有LUN masking能力,這樣,為了設定LUN masking, 一些HBA廠商允許在驅動器級進行持久繫結(persistent binding)。

LUN Mapping
LUN Mapping是LUN與儲存裝置的主機埠進行繫結,工作站連線不同的主機埠時所能訪問的LUN不同。
當一個儲存系統同時為多個應用系統提供資料儲存服務,且不同應用系統的主機分別處於不同的地理地址時,有可能用到第二種LUN Mapping方式。即將不同的LUN與不同的儲存主機埠繫結,不同的主機埠與不同的FC交換機或者不同的ZONE連線,從而實現不同的工作站只能訪問不同的埠。
一個LUN Mapping中所對應的LUN和儲存主機埠(WWPN)成為一個分割槽。由於儲存裝置的主機埠數量是一定的,如果劃分的LUN Mapping分割槽越多,分割槽中儲存主機埠就會越少。儲存裝置的冗餘鏈路連線功能就越小,當一個分割槽裡只能設定一個主機埠時,儲存就失去了冗餘鏈路連線功能,整個系統極易因儲存主機埠和交換機埠的故障而發生單點故障。
 當系統無FC交換機,主機與儲存裝置的主機埠直連時,通過LUN Mapping實現起來LUN分割槽非常方便。當所有主機埠都連線到同一個FABRIC時,就需要與 FCswitch的ZONE結合起來一起使用,來實現資料通訊的隔離。
不同廠商對LUN Masking和LUN Mapping的定義和解釋不完全相同。有的甚至就定義成一個名稱,如SAN SHARE,而有的儲存乾脆就沒有LUN Masking和LUN Mapping功能。

ZONE

在早期的SAN方案中,伺服器大多是同種作業系統,SAN環境下的安全性問題並不突出。但是現在的方案中,異種作業系統並存的需求比比皆是,多套磁碟陣列 子系統或具有多個主機介面的磁碟陣列子系統也很常見。為了保證SAN正常工作,不互相破壞資料。基於FC儲存交換機層面的Zoning 分區劃分,可以有效提供一種解決方案。這樣伺服器只能訪問同一分割槽內的裝置,提高裝置訪問的安全性.
很多使用者將Zoning 分割槽和LIP 隔離混淆,認為Zoning 就是LIP 隔離,實際情況為兩者是不同的概念。
當FC 儲存交換機遵循FC-AL協議工作時,一般所有的裝置之間協商AL_PA地址(或常說的Loop_ID),這個過程我們稱為環路初始化(LIP)。SAN上有任何新的裝置啟動都會引起LIP,這時所有的機器停止工作進行地址協商,因此LIP會使系統中斷工作.
當 FC儲存交換機遵循FC-SW協議工作時,需要特殊的服務來確保SAN正常工作,與上面所說LIP相類似的一個服務就是RSCN。裝置做完Fabric Login後會向交換機登記許多資訊,當該裝置關閉或重新啟動時就會引起登記狀態的改變,RSCN服務就是負責將登記狀態改變資訊通知SAN上的所有設 備。
可見,LIP和RSCN都對SAN的正常工作造成破壞,對於一些特殊關鍵應用甚至是致命的,如視訊流應用和磁帶庫備份應用。根據FC-AL協議標準,LIP一般需要15毫秒,而遵循FC-SW 協議的RSCN根據實際的SAN環境的複雜程度,甚至影響正常通訊達數秒。
對於不具備LIP隔離功能的交換機,在解決RSCN 影響問題時,只能靠Zoning 分割槽的方法使一個分割槽的裝置對其他分割槽的裝置減輕衝擊。但是,在視訊流應用的實際測試效果來看,仍然對正常通訊的裝置效能造成了較大的影響.
進行zone劃分有兩種方式:

1.基於埠的Hardware Zoning(硬體分割槽)劃分,可以產生直觀、清晰的邏輯劃分,在實踐中被大量使用。

2. Software Zoning(軟體分割槽)方法,即基於WWN (World Wide Name) 進行分割槽。不過,軟體分割槽在實際使用中較少使用.

FC SWITCH上的ZONE功能類似於乙太網交換機上的VLAN功能,它是將連線在SAN網路中的裝置(主機和儲存),邏輯上劃到為不同的區域內,使得不同區域中的裝置相互間不能FC網路直接訪問,從而實現網路中的裝置之間的相互隔離。

Zoning分割槽可具有以下特點:
a. 分割槽可以重疊、同一裝置可屬於不同分割槽
b. 分割槽可以在裝置執行時動態劃分
c. 使不同的作業系統可以在一個SAN裡共存

假設兩臺FC交換機通過級連線連線成一個fabric。紅色區域的交換機埠屬於ZONE 1,綠色區域屬於zone 2,藍色區域屬於zone 3,橙色區域既屬於zone 1又屬於zone 3,白色為擴張埠區域,不需要定義zone。
在這兩臺FC交換機組成的fabric中,凡是紅色區域zone 1中的裝置之間都可以相互訪問,但是不能訪問綠色區域和藍色區域中的裝置,但可以訪問橙色區域中的裝置,因為橙色也屬於zone 1。
藍色區域與紅色區域相似。
綠色區域zone 2中的裝置之間只能可以相互訪問,別的任何區域的裝置。
橙色區域中的裝置既可以訪問紅色區域中的裝置,又可以訪問藍色區域中的裝置,但不能訪問綠色區域中的裝置。
按照中方法,無論儲存系統的結構有多麼複雜,都可以通過畫圖的方式把LUN、儲存裝置主機埠,交換機埠和工作站之間的關係分析清楚。

LUN masking和Zone比較 

由上文可以知道,LUN masking和zone的功能都是將特定的LUN劃分給特定的主機來實現資料隔離,這兩項技術的具體區別如下:

1、交換機裡面那個隔離的功能叫Zoning,該功能能做一些隔離和訪問限制,但是是基於埠層次的。如果要把一個埠連線的多個LUN區別對待,Zoning就不行了,就得靠陣列控制器裡面的Lun Masking功能了。例如,通過同一個埠連線的LUN需要分配給多個主機,那麼就需要Lun Masking。

2、LUN masking是在儲存控制器或者HBA卡上進行的,可以控制主機訪問特定的LUN。Zone

發生在SAN中的交換機上,他將不同的儲存正列和主機劃歸到不同的zone中。

3、 zone是通過交換機埠的強制物理的隔離masking是邏輯隔離,物理沒有隔離。在多臺伺服器連一臺或者多臺儲存用。儲存裝置有很多,主機不同應用有很多,OS有很多 時,zone能很好的隔離資料。 根據前文所述,LUN masking和只能 主機HBA卡建立一對一或多對一的連線和訪問關係, 如果在一個LUN對應多臺主機的共享儲存架構中,則只能通過zone來實現。 LUN Masking的層面是邏輯的陣列內部,ZONE的層面除了一個裝置以外,還有多個裝置,而多個裝置的情況下,顯然這個儲存的LUN Masking不能給另外一個儲存用。 如果交換機未劃分zone那麼連線到該換機的主機將可任意訪問連線到該交換機的LUN。同時在交換機上劃分多個zone也可以有效防止當單個zone失效的時候,影響到其他zone! 因此當主機或者儲存特別多的時候,zone就變得很有意義。

4、劃分zone還一方面是 FC協議本身的問題,在出現意外的情況時,會產生RSCN公告,大量的RSCN時會影響到正常使用,影響NameServer的正常工作,和響應 Fabric Login,通過HardwareZone隔離裝置是ZONE的功能之一。也正是因為這樣,我們劃分ZONE的原則是Single HBA ZONE。現在交換機都採用FC-SW協議了,以前老的loop協議的時候產生LIP,產生LIP會讓資料中斷。

參考至:http://baike.baidu.com/view/541220.htm

             http://bbs.chinaunix.net/viewthread.php?tid=586064

             http://club.techtarget.com.cn/showtopic-45530.aspx

http://www.loveunix.net/viewthread.php?tid=108984

http://bbs.chinaunix.net/thread-8937-1-1.html

http://space.doit.com.cn/18911/viewspace-1997.html

http://www.sanduel.com/SAN-Storage-FAQs/What-is-LUN-Masking.html

             http://storagetrendz.blogspot.com/2008/06/lun-mapping-persistent-binding-lun.html

http://technet.microsoft.com/en-us/library/cc758640%28WS.10%29.aspx

http://searchstorage.techtarget.co.uk/answer/LUN-masking-or-LUN-zoning-Which-one-is-a-better-fit-for-a-SAN-fabric?ShortReg=1&mboxConv=searchStorageUK_RegActivate_Submit&

本文原創,轉載請註明出處、作者

如有錯誤,歡迎指正

郵箱:[email protected]

相關推薦

儲存一些基本概念HBALUN

有些新手總是在各式各樣的概念裡繞來繞去,弄的不亦樂乎。所以我就把我的一些理解寫了下來,供您參考.我說的不侷限於任何一種具體產品和廠家,也可能有些說法和某些廠家的說法不一樣,但是我覺得應該算的上是本原的東西,有以不變應萬變之功效,呵呵,見笑 1、關於HBA HBA的全

Oracle的一些基本概念

1、超鍵、候選鍵、主鍵、外來鍵 ☆超鍵(superkey):在關係中能唯一標識元組的屬性集,在一個關係型資料表中,超鍵可以有多個,一個屬性可以被稱為超鍵,多個屬性集也可以被稱為超鍵 (超鍵包含主鍵和候選鍵)。 ☆候選鍵(candidate key):不含有多餘屬性的超鍵稱為候選鍵,就是去掉任何一個屬性都不

identityServer4 中的概念Scopeclaim

在IdentityServer中好多地方出現這幾個詞,這單詞的解釋也有好多大神解釋過: chaim:   ASP.NET Core 之 Identity 入門(一),這個是asp.net identity中chaim的解釋,雖然不是identityServer,但解釋相當精準。 Identi

棧溢位漏洞原理及基本利用ret2addrret2arg

菜雞總結下,方便複習。 ret2addr和ret2arg這兩種利用手法在《黑手緩衝區溢位教程》裡有所提及。這兩種只是基本的利用手法,如果開啟了NX(堆疊程式碼不可執行)或者ASLR就無用武之地了,需要更高階的利用手法,例如ret2libc,ret2plt,和ROP等高階利用手法,這篇筆記

numpy常用概念copy deepcopy

import numpy as np 賦值(物件引用) a = np.array([1, 2, 3, 4]) a array([1, 2, 3, 4]) b = a b array([1, 2, 3, 4]) a[2] = 0 a array([1

pandas一些基本操作DataFram和Series_4

協方差 first tac imp value 等級分 panda 二次排序 wap import numpy as np;import pandas as pd;kill_num=pd.Series([10,12,8,5,0,2,6])#擊殺數量#青銅1200-2000#

pandas一些基本操作DataFram和Series_2

randint isinf 向上 四舍五入 and [1] taf init base import numpy as nparr1 = np.arange(32).reshape(8,4)print(arr1)arr1 = arr1.reshape(-1);print(a

pandas一些基本操作DataFram和Series_3

重復值 包含 asc import afr and 對齊 是否 isn import pandas as pd;import numpy as np#通過一維數組創建Chinese = np.array([89,87,86])print(Chinese)print(pd.S

github+hexo搭建自己的博客網站主題之外的一些基本配置(圖片位置文章目錄功能)

100% setattr border color fff scale 進行 自己 num 使用的yilia主題之後,還需要進行自己的定制配置 1、圖片的位置 比如打賞的支付寶二維碼圖片,是在當前博客的source/assets/img/下 (不是當前主題) 配

學習筆記:python3一些基本語句2017

val from 列表 除法 方法 是否 主程 return tuple 數學運算 1、整除、取模 a = 36 b = 10 c = d = 0 c = a//b #取整除 - 返回商的整數部分 d = a % b #取模 - 返回

二叉樹基本概念滿二叉樹、完全二叉樹滿二叉樹二叉樹的遍歷

1. 二叉樹 二叉樹是每個節點最多有兩個子樹的樹結構。它有五種基本形態:二叉樹可以是空集;根可以有空的左子樹或右子樹;或者左、右子樹皆為空。 性質1:二叉樹第i層上的結點數目最多為 2{i-1} (i≥1)。性質2:深度為k的二叉樹至多有2{k}-1個結點(k≥1)

儲存一些基本概念

SCSI (Small Computer System Interface, 小型計算機系統介面) 是一種用於計算機及其周邊裝置(硬碟,軟碟機,光碟機,印表機,掃描器等)的系統級介面的獨立處理器標準。 SCSI-3於1992年制定。大致規格與速率如下: 規格

矩陣——特徵向量一些基本概念

轉載,原連結(建議在原連結檢視) 矩陣是個非常抽象的數學概念,很多人到了這裡往往望而生畏。比如矩陣的乘法為什麼有這樣奇怪的定義?實際上是由工程實際需要定義過來的。如果只知道概念不懂有何用處,思維就只有抽象性而沒有直觀性,實在是無法感受矩陣的精妙。 直觀性說明 我們先看點直觀性的內容。矩陣

完成雙鏈表的一些基本操作連結串列的建立雙向輸出插入刪除

#include "stdafx.h" #include<stdlib.h> #include<stdio.h> #include<string.h> typedef struct dlink_node  {     int info;

OpenCV學習心得二:影象基本操作建立讀取載入儲存展示+畫素操控

課程緊張,以後儘量每節課消化後及時更新部落格以加深印象。 此次為第一節實驗課內容,為了方便,我將各個功能寫成一個小方法,在main函式裡呼叫已檢驗成功與否。 helloline()  :建立圖片 draw()  :基本作圖 pixels():操縱圖片畫素點 thr(

Kettle學習之路3理解一些基本概念

 Kettle包括了在ETL開發和部署階段用到的多個程式,每個程式都有獨立功能。 Spoon:整合開發環境。提供了一個圖形化使用者介面,用於建立/編輯作業或者轉換,也可以用於執行/除錯作業

目標定位和檢測系列1一些基本概念

最近開始學習深度學習中的定位和檢測任務。本來打算直接看論文,卻發現文章中的的很多基本概念都搞不清楚,於是就自己先梳理了一些定位和檢測任務的基本概念。(內容主要來自斯坦福大學的CS231課程、吳恩達的deeplearning.ai卷積部分,這兩門課程都可以在網易雲

高效能MySQL -MySQL架構MVCC多版本併發控制和一些基本概念

內容源於《高效能MySQL》 一、MySQL邏輯架構 架構圖: 最上層不是Mysql獨有的, 比如連線處理,授權認證, 安全 等等 第二層核心服務功能,包括查詢解析,分析,優化,快取以及所有內建函式,儲存過程,觸發器,檢視等都在這層實現 第三層

雲端儲存---ceph簡介架構原理和一些基本概念

我們在上篇文章已經對比了不同的儲存系統之間的區別,本章開始逐步深入記錄Ceph的學習和運用。 Ceph簡介 Ceph是一個分散式儲存系統,提供物件,塊和檔案儲存,是一個免費開源軟體的儲存解決方案,可以部署於普通的x86相容伺服器上,可用於解決統一儲存的i

Unix中儲存管理的一些基本概念

物理卷        簡單的說就是一個帶有硬碟驅動器的硬碟,在unix下顯示為一個裝置,未經處理。又成為裸裝置 Raw Device邏輯卷        由一個或者一組物理卷組成,組成卷組的基本元素卷組        由一個或者一組邏輯卷組成,可以在它的上面實現一些RAID處