原文:http://www.javashuo.com/article/p-fzqhfaqn-gc.htmlhtml
有些新手老是在各式各樣的概念裏繞來繞去,弄的不亦樂乎。因此我就把個人一些理解寫了下來,供您參考.我說的不侷限於任何一種具體產品和廠家,也可能有些說法和某些廠家的說法不同,可是我以爲應該算的上是本原的東西,有以不變應萬變之功效,呵呵,見笑
一、關於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直接的一個適配器,也比如一個水管工常說的「雙通」。windows
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,比如一家機構,掛多個牌子,有的時候,一塊卡有兩條通道,比如一家公司,有兩套人馬。安全
二、關於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是由存儲的控制系統給定的,是存儲系統的某部分存儲資源。 app
d、lun masking,lun mapping
咱們有了獨立的磁盤陣列用了以後,服務器只要看到存儲的控制系統,就有可能使用磁盤陣列的磁盤資源,可是磁盤陣列不可能只爲某一個服務器來使用,因此他必須管制主機使用某部分磁盤資源。這個管制分爲兩個部分:一部分就是lun mapping,相似於綠色通道,就是保證服務器能看到某部分存儲資源,一部分就是lun masking,相似於警惕線,就是保證服務器只可訪問給它分配的存儲資源,而沒分配給服務器的資源,就不要染指了。
實現lun masking和lun mapping有三種方法:一個是基於存儲控制系統來設置,一個是基於存儲交換系統來設置,一個是基於服務器os來設置。
基於存儲控制系統得設置,是比較常見的設置,好比不少磁盤陣列的控制系統,自己就能設置lun被某服務器看到。好比FastT的partition功能。
基於存儲交換系統的設置,也是一種經常使用的方法,好比常說的zoning。
基於服務器os的設置,比較少採用,通常採用安裝某些操做系統上安裝某些軟件來實現,由於這個方法全靠服務器自覺,因此比較少用,呵呵。ide
e、lun的multi-path
如今,存儲網絡愈來愈發達了,一個lun有多條通路能夠訪問也不是新鮮事了。
服務器使用多個HBA鏈接到存儲網絡,存儲網絡又多是由多個交換設備組成,而存儲系統又可能有多個控制器和鏈路,lun到服務器的存儲網絡鏈路又可能存在着多條不一樣的邏輯鏈路。那麼,必然的,同一個physical lun在服務器上必然被識別爲多個設備。由於os區別設備無非用的是總線,target id,lun id來,只要號碼不一樣,就認爲是不一樣的設備。
因爲上面的狀況,多路徑管理軟件應運而生了,好比emc的powerpath,這個軟件的做用就是讓操做系統知道那些操做系統識別到lun其實是一個真正的physical lun,具體的作法,就是生成一個特別的設備文件,操做系統操做這個特殊的設備文件。而咱們知道,設備文件+driver+firmware的一個做用,就是告訴操做系統該怎麼使用這個設備。那麼就是說,多路徑管理軟件從driver和設備文件着手,告訴了操做系統怎麼來處理這些身份複雜的lun。
三、關於備份(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、應用系統的備份
應該說應用系統的備份,包含了以上兩種備份,由於一個完善的應用系統,其設備和數據都是要求有備份的,那麼初次以外,作爲一個應用系統,除了設備和數據,他還包含了業務程序,人員,業務邏輯,外部環境等等一系列讓應用跑起來的東西。
在這個層面,就有一個比較熱火的東西,那就是常說的遠程容災。遠程容災,就是在生產系統環境以外,在相隔較遠的物理空間,構建相同或相似的一個應用系統,以達到在必要的時候頂替原生產系統工做的目標。
要實現遠程容災的目的,除了咱們說的外部環境,好比機房,電力,後勤保障,人員配備,業務程序以外,咱們比較着重的一個環節,就是數據的問題,也就是咱們在兩個系統之間要保證數據的相對一致,實現這個目標的方法有不少,好比磁盤陣列之間的卷複製,好比兩個主機之間文件系統上的複製,等等。固然,在一個系統裏,把數據用磁帶導出來,快遞到另一個系統地點,在用磁帶把數據導進取,也不能說不是一個辦法,可是這樣操做,常常會和業務的邏輯相違背(呵呵,這麼麻煩又耽誤時間,估計通常很難接受)。oop
對於高可用性,我要說的是:
可用性,便是指在各類複雜環境下,咱們的數據,應用等計算資源均可以保持使用的能力和可能性。好比服務器配備冗餘電源,就提升了服務器的可用性,好理解,一個電源工做不正常或者能力不夠的是候,服務器不受影響嘛。再好比,咱們的磁盤陣列採用雙控制器,當某個控制器和鏈路工做不正常的時候,數據的訪問能平滑的過渡到另一個控制器上和鏈路上,這也是提升了數據和存儲設備的可用性。
那麼什麼是高可用性呢,咱們就是一切爲了提升系統可用性的實現方法和結果。
要拿出來講的就是cluster,或者雙機什麼的。咱們爲了實現生產的應用系統的高可用性,其中一個環節就是實現服務器的高可用性,就是某服務器失效或者能力不足時,應用能平滑的過渡到另外的主機上,也就是說對於應用系統來講,服務器保證了相對的可用
那備份和高可用性有什麼區別呢?
那我要說,這根本沒有可比性!由於這是兩個不一樣的概念,他們的着眼點是不一樣的。備份只是保證了有後備,而高可用性則是爲了保證應用的儘快恢復。
打個比方,咱們說備份就比如買保險,買保險不能保證你平安無事,可是確定能減輕損失。咱們說搞可用性,就是安全氣囊,ABS,能讓你快速的從新開始或者說將危險消弭於萌芽時刻。
因此說咱們作備份和提升可用性,兩手都不可放鬆,也不互相矛盾。就比如買了好車,你就不買保險,或者你買了保險,就能夠飆車,都是愚蠢的。
===================================================================================
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、LUN一、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劃分給特定的主機來實現數據隔離,這兩項技術的具體區別以下:
一、交換機裏面那個隔離的功能叫Zoning,該功能能作一些隔離和訪問限制,可是是基於端口層次的。若是要把一個端口鏈接的多個LUN區別對待,Zoning就不行了,就得靠陣列控制器裏面的Lun Masking功能了。例如,經過同一個端口鏈接的LUN須要分配給多個主機,那麼就須要Lun Masking。
二、LUN masking是在存儲控制器或者HBA卡上進行的,能夠控制主機訪問特定的LUN。Zone
發生在SAN中的交換機上,他將不一樣的存儲正列和主機劃歸到不一樣的zone中。
三、 zone是經過交換機端口的強制物理的隔離masking是邏輯隔離,物理沒有隔離。在多臺服務器連一臺或者多臺存儲用。存儲設備有不少,主機不一樣應用有不少,OS有不少 時,zone能很好的隔離數據。 根據前文所述,LUN masking和只能 主機HBA卡創建一對一或多對一的鏈接和訪問關係, 若是在一個LUN對應多臺主機的共享存儲架構中,則只能經過zone來實現。 LUN Masking的層面是邏輯的陣列內部,ZONE的層面除了一個設備之外,還有多個設備,而多個設備的狀況下,顯然這個存儲的LUN Masking不能給另一個存儲用。 若是交換機未劃分zone那麼鏈接到該換機的主機將可任意訪問鏈接到該交換機的LUN。同時在交換機上劃分多個zone也能夠有效防止當單個zone失效的時候,影響到其餘zone! 所以當主機或者存儲特別多的時候,zone就變得頗有意義。
四、劃分zone還一方面是 FC協議自己的問題,在出現意外的狀況時,會產生RSCN公告,大量的RSCN時會影響到正常使用,影響NameServer的正常工做,和響應 Fabric Login,經過HardwareZone隔離設備是ZONE的功能之一。也正是由於這樣,咱們劃分ZONE的原則是Single HBA ZONE。如今交換機都採用FC-SW協議了,之前老的loop協議的時候產生LIP,產生LIP會讓數據中斷。