天天看點

高可用之2——存儲b

 CPU、緩存和存儲性能

很多使用者在進行産品對比和裝置選型的時候,經常以CPU和緩存的大小、主機端口的數量來判斷儲存設備性能的好壞。許多使用者片面地會認為CPU快、緩存大、接口數量多的裝置性能要好。是以在裝置選型、編寫招标技術要求時也經常以CPU和緩存的大小、主機端口數量來作為是否采用的重要甚至惟一标準。

存儲的性能好壞不是簡單地對比CPU和緩存大小的就可以差別好壞,如果你認為可以,那麼你還沒有真正了解存儲,對存儲還隻是一知半解。

中高端的FC(fibre channel:光纖通道)存儲和iSCSI(internet samal computer system interface : 小型計算機系統接口)存儲都是基于控制器架構的,存儲性能的好壞關鍵在于控制内部的結構設計,設計先進的控制器可能處理效率非常高,因而并不一定要求很高速的CPU,也不需要很大的緩存。設計不好的存儲即使采用了很好的CPU、很大的緩存,其性能也不見得就好。如在XX行業的網絡中,為了獲得700MB~800MB的大帶寬,有的儲存設備隻需要2GB~4GB的緩存,而有的存儲即使采用32GB的超大緩存,其帶寬性能仍然很低。另外,增加緩存是否能提升性能還要看存儲應用業務環境的好壞。在資料庫、小檔案應用環境中增大緩存會大幅度提高寫帶寬,當然前提是後端磁盤性能會達到極限。但對于大檔案讀取的應用環境,增加緩存所帶來的性能提升幅度并不大。

NAS儲存設備和一些中低端的iSCSI都是基于PC架構,其核心部分就是一台PC伺服器,它的性能會因CPU和記憶體變化而發生變化,但變化也有一定的範圍。這類存儲性能一般取決于自身作業系統設計、檔案系統中資料管理和資料檢索等方面的設計,而不是CPU和緩存。先進高效的檔案系統可使存儲産品對外提供非常高的性能。NETAPP的高端NAS之是以性能好,就是因為它内部有一個非常高效的檔案系統,而不是因為CPU好和緩存大。

另外,對于儲存設備來講,主機接口的數量很多時候隻能表示儲存設備區有一定的擴充能力,即可以直連更多的主機和交換機,而不能表示性能更高。存儲産品的性能是由控制器決定的,但主機端口增加到一定數量,足以完全輸出儲存設備的最大性能時,增加再多的主機端口也不會增加性能。是以不能片面地相信主機端口越多性能就越高的說法。

希望使用者在選擇儲存設備時,能夠合理和正确地對待CPU、緩存和接口等技術參數,并根據自己系統的應用類型和帶寬、IOPS等名額,合理地選擇儲存設備。同時拿到一定産品的說明書或産品的宣傳彩頁,千萬别完全迷信上面所寫的技術參數,更别相信8個4GB的FC就能提供3200GB帶寬,8個以太網接口就能提供800MB帶寬。

 網絡存儲技術分類

網絡存儲技術是基于資料存儲的一種通用網絡術語。網絡存儲結構大緻分為3種:直連式存儲(DAS:Direct Attached Storage)、網絡儲存設備(NAS:Network Attached Storage)和存儲網絡(SAN:Storage

Area Network)。

直連式存儲(DAS):一種直接與主機系統相連接配接的儲存設備,如作為伺服器的計算機内部硬體驅動。到目前為止,DAS仍是計算機系統中最常用的資料存儲方法。

網絡儲存設備(NAS):一種采用直接與網絡媒體相連的特殊裝置實作資料存儲的機制。由于這些裝置都配置設定有IP位址,是以客戶機通過充當資料網關的伺服器可以對其進行存取通路,甚至在某些情況下,不需要任何中間媒體,客戶機也可以直接通路這些裝置。

存儲網絡(SAN):儲存設備互相聯接且與一台伺服器或一個伺服器群相連的網絡。其中的伺服器用作SAN的接入點。在有些配置中,SAN也與網相連。SAN中将特殊交換機當作連接配接裝置。它們看起來很像正常的以太網交換機,是SAN中的連通點。SAN使得在各自網絡上實作互相通信成為可能,同時帶來了很多有利條件。

網絡存儲通信中使用到的相關技術和協定包括SCSI、RAID、iSCSI以及光纖信道。一直以來SCSI支援高速、可靠的資料存儲。RAID(獨立磁盤備援陣列)指的是一組标準,提供改進的性能和/或磁盤容錯能力。光纖信道是一種提供儲存設備互相聯接的技術,支援高速通信(将來可以達到10Gbps)。與傳統存儲技術,如SCSI相比,光纖信道也支援較遠距離的裝置互相聯接。iSCSI技術支援通過IP網絡實作儲存設備間雙向的資料傳輸,其實質是使       SCSI連接配接中的資料連續化。通過iSCSI,網絡存儲器可以應用于包含IP的任何位置,而作為Internet的主要元素,IP幾乎無所不在。

各種存儲結構的示意圖如圖3-6所示。

高可用之2——存儲b

圖3-6  各種存儲架構示意圖

 SAN存儲相關基礎知識(1)

1.關于HBA

HBA的全稱為Host Bus Adapter,即主機總線擴充卡。

(1)總線擴充卡是什麼呢?

首先要了解一下主機的結構,一台計算機内部多由兩條總線串在起來(當然實際情況會有不同,這裡隻讨論常見的、簡單的情況),一條總線叫系統總線,一條叫I/O總線。系統總線上接了CPU、memory、cache等,I/O總線上接的就是外圍裝置,如今最常見的就是PCI總線。這兩條總線之間用橋接的晶片或者說電路連接配接起來。就好比一個城市裡,有兩條主幹道,一條屬于行政區,一條屬于商業區,中間有個環島,将兩條主幹道連接配接到了一起,系統總線就好比行政區裡的主幹道,而I/O總線就好比商業區的主幹道。系統總線和I/O總線的帶寬的機關都是以GB來記,但行政區的主幹道和商業區的主幹道相比,前者肯定更"核心"、更寬、更順暢,設計的要求也高。在向公仆部門要求服務的時候,是要有一些接口的部門和程式的,而橋接晶片的作用就是連接配接和協調兩條總線的工作。

雖然I/O總線的速度和系統總線的帶寬相比要低很多,但是也是以GB來計量的,而外圍裝置的速度,往往隻有幾百MB,甚至幾十KB而已,怎麼協調工作呢?好比賣煎餅果子攤子不能直接戳到城市主幹道上,怎麼辦?好辦,在主幹道邊上開個2000平米的小吃城,把攤子都收進去好了。那麼主機總線擴充卡的作用也就是如此,就是要把外設組織起來,連接配接到I/O總線上去。HBA就是指Host和I/O BUS直接的一個擴充卡,也好比一個水管工常說的"雙通"。

(2)常見的HBA有哪些呢?

比如顯示卡、網卡、SCSI卡、1394卡等。這裡主要介紹FC HBA和ATA&IDE。通常說的Emulex的LP9002、Qlogic的QLA2340都是FC HBA卡,就是将Fibre Channel的裝置和I/O總線連接配接起來的擴充卡。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

(1)lun的概念

lun的全稱是logical unit number,也就是邏輯單元号。SCSI總線上可挂接的裝置數量是有限的,一般為6個或者15個,可以用target ID(也稱SCSI ID的)來描述這些裝置,裝置隻要加入系統,就有一個代号,在差別裝置的時候,隻要說序列号就可以了。

而實際上需要描述的對象,是遠超過該數字的,于是引進了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是為了使用和描述更多裝置及對象而引進的一個方法。

(2)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…但是要注意到,這隻是産品做了特别設計,也是少數情況。

(3)存儲和主機的電氣獨立時代的lun的概念

在磁盤陣列和錄音帶庫大行其道的時代,存儲越來越智能化,越來越像一個獨立的機器,實際上存儲和主機的電氣獨立本來就是一個必然趨勢,在存儲越來越重要的時代,存儲要獨立出來是必然的事。

如果把存儲當作一個獨立的主機,了解起來就很簡單了。說到lun的概念的時候,就要分為兩個層面。一個層面就是在陣列這個機器的OS識别到的範圍,一個層面就是伺服器的OS識别到的範圍。這兩個層面是相對獨立的,因為如果把存儲當作一個主機來看,那麼它自然有自己的device、target、lun之說,而伺服器也有自己的device、target、lun之說。另一方面,這兩個層面又是互相關聯的,一個陣列的控制系統,大多都有虛拟化的功能,陣列想讓主機看到什麼樣的内容,主機才能看到相應的内容。當然,伺服器識别到的最小的存儲資源,就是lun級别的。那麼主機的HBA卡看到的存儲上的存儲資源就主要靠兩個裝置來定位,一個就是存儲系統的控制器(target),一個就是lun

id,這個lun是由存儲的控制系統給定的,是存儲系統的某部分存儲資源。

(4)lun masking、lun mapping

有了獨立的磁盤陣列之後,伺服器隻要看到存儲的控制系統,就有可能使用磁盤陣列的磁盤資源,但是磁盤陣列不可能隻為某一個伺服器來使用,是以它必須管制主機使用某部分磁盤資源。這個管制分為兩個部分:一部分就是lun mapping,類似于綠色通道,就是保證伺服器能看到某部分存儲資源;一部分就是lun masking,類似于警戒線,就是保證伺服器隻可通路給它配置設定的存儲資源,不可通路沒配置設定給伺服器的資源。

實作lun masking和lun mapping有3種方法,一個是基于存儲控制系統來設定,一個是基于存儲交換系統來設定,一個是基于伺服器OS來設定。

基于存儲控制系統的設定是比較常見的設定,很多磁盤陣列的控制系統本身就能設定lun被某伺服器看到,比如FastT的partition功能。

基于存儲交換系統的設定也是一種常用的方法,比如常說的zoning。

基于伺服器OS的設定,比較少采用。

(5)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)

備份,從字面的意思來了解,其實就是現時存在和應用的一個實體的後備實體。

高可用性,即硬體的環境、設施、資料、應用系統等,在複雜環境下可用的能力和可能達到的一個較高的值;在現實世界裡,都講究穩定、可靠,是以經常在計算機環境設計裡,涉及高可用性和備份等元素。

對于備份主要說以下幾個方面。

(1)裝置的備份

裝置的備份,也就是除使用的裝置之外,采取相同或類似的裝置做後備。

比如在伺服器上采用備援電源,也叫後備電源,使用單獨的硬碟來做RAID的備用盤,也叫熱備盤。

如果采取單獨的一台伺服器來做後備,這就成了主機的備份,主機的備份有很多種方式,比較著名的就是所謂的cluster、雙機熱備和雙機容錯,它們有一個共同的特點,就是都是為了實作主機的備份,即某一個主機失效了,由另外一個主機頂替它來運作。實作主機熱備的軟體有很多,比如IBM的HACMP、HP的MCSG、SUN的sun cluster、Compaq的Ture Cluster、Veritas的VCS、EMC的autostart、ROSE HA等。

(2)資料的備份

資料的備份,就是在現時使用的資料之外,實作或設定另外一份不同實體展現的、内容相同的有效資料複制,比如将生産資料複制到錄音帶上,就是一種資料備份方式。比如将生産資料複制到磁盤的另一個分區、另一個檔案系統或者複制到别的主機的磁盤上等,都是一種資料備份的方式。

實作資料備份的軟體有很多,比如一些錄音帶操作的小工具,tar、cpio等,大的工具軟體有EMC Networker、Symantec Netbackup、CommVault、tapeware等,資料複制的工具就更多了,作業系統的複制指令、EMC replicator、srdf等。

(3)應用系統的備份

應該說應用系統的備份,包含了以上兩種備份,因為一個完善的應用系統,其裝置和資料都是要求有備份的,除此之外,作為一個應用系統,它還包含了業務程式、人員、業務邏輯、外部環境等一系列讓應用運作的内容。

在這個層面,就有一個遠端容災。遠端容災,就是在生産系統環境之外,在相隔較遠的實體空間,建構相同或類似的一個應用系統,以達到在必要的時候頂替原生産系統工作的           目的。

要實作遠端容災的目的,除了外部環境,比如機房、電力、後勤保障、人員配備、業務程式之外,我們比較着重的一個環節,就是資料的問題,也就是在兩個系統之間要保證資料的相對一緻,實作這個目标的方法有很多,比如磁盤陣列之間的卷複制、兩個主機之間檔案系統上的複制等。當然,在一個系統裡,把資料用錄音帶導出來,快遞到另外一個系統地點,再用錄音帶把資料導進去,也不能說不是一個辦法,但是這樣操作,經常會和業務的邏輯相違背。

可用性是指在各種複雜環境下,資料、應用等計算資源都可以保持使用的能力和可能性。比如伺服器配備備援電源,就提高了伺服器的可用性,即一個電源工作不正常或者能力不夠的時候,伺服器不受影響。再比如,磁盤陣列采用雙控制器,當某個控制器和鍊路工作不正常的時候,資料的通路能平滑地過渡到另外一個控制器上和鍊路上,這也提高了資料和儲存設備的可用性。

那麼高可用性就是一切為了提高系統可用性的實作方法和結果,就是cluster或者雙機。為了實作生産的應用系統的高可用性,其中一個環節就是實作伺服器的高可用性,就是某伺服器失效或者能力不足時,應用能平滑地過渡到另外的主機上,也就是說對于應用系統來說,伺服器保證了相對的可用性。

那備份和高可用性有什麼差別呢?這是兩個不同的概念,它們的着眼點是不同的。備份隻是保證了有後備,而高可用性則是為了保證應用的盡快恢複。打個比方,備份就好比買保險,買保險不能保證平安無事,但是肯定能減輕損失。高可用性,就是安全氣囊、ABS,能快速地重新開始或者說将危險消弭于萌芽時刻。是以說做備份和提高可用性,兩手都不可放松,也不互相沖突。

SAN存儲方案

FC SAN和IP SAN是目前兩種流行的SAN存儲方案。

(1)SAN裝置在連入系統後,表示為一個或多個target ID,它的邏輯配置設定單元即為LUN-Logical Unit Number(邏輯單元号)。

(2)IP SAN也稱為iSCSI(internet Small Computer System Interface)。

iSCSI技術的核心是在TCP/IP網絡上傳輸SCSI協定,是指用TCP/IP封包和iSCSI封包封裝SCSI封包,使得SCSI指令和資料可以在普通以太網上進行傳輸。

存儲協定

本節将從兩個方面比較詳細地介紹IP存儲的相關知識,首先介紹在存儲最底層的存儲協定,而後介紹基于這些協定搭建起的存儲網絡。

存儲協定淺析就像大部分新的技術都是要經曆從釋出到普及一樣,存儲技術的發展都要經過一個過程。

SCSI協定的發展從帶寬5MB發展到現今的320MB,隻經過了不到二十年的時間。後續的版本陸續增加了能滿足特殊裝置協定所需要的指令集,使得SCSI協定既适應傳統的并行傳輸裝置,又能适應最新出現的一些串行裝置的通信需要;同時,對傳輸的速度也做了非常大的提升,SCSI 5規定了640Mbps的傳輸速度。但是SCSI仍然不能規避其連接配接裝置數目太少、距離太短、主機共享性低等一系列的問題。與SCSI有血緣關系的SSA發展到160MB的時候,随着其創造和倡導者--IBM推出DS8000,也似乎預示着它走到了盡頭。

再看FC,從誕生之日起,它便以一個貴族、一個SCSI的終結者身份出現。從1GB到現在新推出的4GB,以及将來推出的10GB,發展速度之快令人乍舌。

也許正是應了那句話:"貴族永遠解決不了平民的問題"。雖然它不斷地自降身價,從1999、2000年動辄百萬到現在少則二三十萬就可以搭建一個FC系統,它卻依然秉持着貴族的一貫作風--想與它交流,至少要穿一件像樣的貴族服裝。不可或缺的FC HBA和昂貴的FC硬碟永遠是它心裡永遠的痛。原因很簡單--它流淌的是貴族的血液!而終結SCSI使命達成之日似乎也正變得遙遙無期。越來越多的使用者正在翹首以盼,新的技術能夠改變他們日益混亂的系統,改變他們越來越多地購買新産品和大量投入的管理。而當虛拟存儲的大旗飄洋過海來到中國的時候,恍然發現那也隻不過是個噱頭。面對廠商之間的技術壁壘、打更新檔出身的供貨商、高昂的産品價格,想要嘗試的想法正在逐漸變得軟弱無力。

iSCSI的橫空出世似乎正在向人們宣告,平民出身的它正在以義無反顧地姿态展現在人們面前,将SCSI、FC融合在一起,創造一個新的存儲紀元!而此時卻驚奇地看到一個個廠商将iSCSI應用在了不同的領域,創造出了不同的産品:用網線代替SCSI、FC線纜的磁盤陣列(IBM在2001年iSCSI正式釋出以前就迫不及待地推出了200i),NETAPP将iSCSI接口用在了自己的NAS陣列,彌補NAS隻能用于檔案存儲的先天不足,Cisco、SANRAD等推出基于iSCSI技術的交換機。

恰逢FCIP、iFCP也正躍躍欲出,到底應該如何選擇?使用者是該高興還是悲哀?是應該為新的技術的推出即将解決現有的問題高興,還是悲哀自己兜裡的鈔票已經被精明的商人們算計一空?至少人們應該慶幸,商業環境日益激烈的競争正在按照解決實際應用問題的方向前進。是以,與其說摩爾定律驗證了技術發展的時效性,還不如說,摩爾定律正一次次驗證技術的發展正是依仗于商業發展的推動力。

下面就介紹幾種存儲技術。

SCSI

SCSI是小型計算機系統接口(Small Computer System Interface)的簡稱,它是在美國Shugart公司開發的SASI的基礎上,增加了磁盤管理功能而成的。SCSI接口作為輸入輸出接口,主要用于硬碟、CD光牒機、錄音帶機、掃描器、列印機等裝置,現在已經發展到Ultra 320。

FC

Fibre Channel(FC)是1994年由ANSI标準化組織制訂的一種适合于千兆位資料傳輸通信的成熟而安全的解決方案。

Fibre Channel 與傳統的SCSI技術相比,除了提供更高的資料傳輸速度、更遠的傳輸距離、更多的裝置連接配接支援、更穩定的性能、更簡易的安裝外,最重要的是支援最新的網絡區域存儲(SAN)技術。

現在已經産業化的是2GB的FC技術,4GB的FCB産品也已經通過測試,Brocade、Cisco、Qlogic、Emulex都已經推出或馬上推出相應技術的産品。

iSCSI

iSCSI(Internet SCSI網際網路小型計算機系統接口)是一種在Internet協定網絡上,特别是以太網上進行資料塊傳輸的标準。它是由Cisco 和IBM兩家發起的,并且得到了IP存儲技術擁護者的大力支援,是一個供硬體裝置使用的可以在IP協定上層運作的SCSI指令集。簡單地說,iSCSI可以實作在IP網絡上運作SCSI協定,使其能夠在諸如高速千兆以太網上進行路由選擇。

iSCSI的優勢主要表現為以下幾點。首先,iSCSI建立在SCSI、TCP/IP這些穩定和熟悉的标準上,是以安裝成本和維護費用都很低。其次,iSCSI支援一般的以太網交換機而不是特殊的光纖通道交換機,進而減少了異構網絡和電纜。最後,iSCSI通過IP傳輸存儲指令,是以可以在整個Internet上傳輸,沒有距離限制。

iSCSI的缺點在于存儲和網絡是同一個實體接口,同時協定本身的開銷較大,協定本身需要頻繁地将SCSI指令封裝到IP包中以及從IP包中将SCSI指令解析出來,這兩個因素都造成了帶寬的占用和主處理器的負擔。但是随着專門處理iSCSI的ASIC晶片開發(解決主處理器的負擔問題)以及10GB的普及(解決帶寬問題),iSCSI将有着更好的發展。

FCIP

FCIP(Fibre Channel over TCP/IP),将FC協定封裝到TCP/IP包中,進而使FC通過網絡進行傳輸。FCIP由Brocade、Gadzoox、朗訊、McData及Qlogic共同提出。

FCIP解決了FC的傳輸距離問題,即解決了SAN之間的互聯互通。

FCIP的缺點有以下幾點。首先,FCIP隻能在FCIP裝置之間建立點到點連接配接,即FCIP裝置一端(IP端)和另外一個FCIP裝置的IP端進行連接配接,FCIP裝置的另外一端(FC端)和FC光纖通道交換機進行連接配接,FCIP裝置無法在兩個獨立儲存設備之間提供本地IP連接配接。其次,由于FCIP是一種不透明的傳輸協定,即一個SAN向另一個SAN發送的資訊在FC層沒有錯誤檢測,容易将一個SAN上的錯誤蔓延到各個SAN。再次,FC和IP網絡之間線速的不比對,或者FCIP引擎的低效實作,都有可能使得FCIP裝置成為一個瓶頸。如果FCIP通道崩潰,兩個遠端FC交換機之間的連接配接也不會自動恢複,這對商業應用來說顯然是難以接受的。基于FCIP的裝置現在有Brocade多協定路由器等。

iFCP

iFCP(Internet Fibre Channel Protocol)是一個網關到網關的協定,iFCP可以直接替代FC架構,通過iFCP存儲交換機可以直接連接配接FC的各個裝置并進行分組,而不僅是簡單地對FC SAN進行遠端連接配接。

iFCP的優勢在于在建立連接配接的同時能夠建立網關分區,它可以将出現問題的區域隔離起來,并克服了點到點隧道的限制。基于iFCP實作了SAN的路由故障隔離、安全及靈活管理,具有比FCIP更高的可靠性。

iFCP由Nishan Systems倡導,McDATA開發了基于iFCP的産品。

InfiniBand體系

InfiniBand簡稱IBA,由Mellanox公司提出,是一種新的I/O總線技術,用于取代目前的PCI總線。IBA主要應用在企業網絡和資料中心,也可以應用在高速線速路由器、交換機、大型電信裝置中。

IBA傳輸率可以達到30Gbps,同時系統通過雙CRC、虛通道、優先級控制、基于信用的流控制來維持較高的性能和可靠性。IBA還提供了内部和外部的互聯支援。在軟體和作業系統方面,Mellanox公司釋出了應用于Linux作業系統的IBA标準,同時微軟的Windows2000和未來的Whistler也提供了對IBA的支援。

幾種存儲協定的比較見表3-4。

表3-4  各種網絡存儲協定對比表

協定名稱

簡單描述

主要優點

主要缺點

網絡上的SCSI、SCSI

Over TCP/TP

成本低,沒有距離限制

占用寬帶,主處理

器負擔重

FCP

SCSI的串行化,光纖

版本的SCSI

高速、共享環路及

網絡交換

距離受限制,成本高

解決SAN之間的互聯,

FC over TCP/IP

使SAN的距離更遠

無法在兩個獨立存

儲裝置間供及本地

IP連接配接,協定不明

直接連接配接FC 各裝置,

并進行分組

更好地解決點到

點限制,故障恢複等問題

遠端FC之間

無法自動恢複,

Qos問題,網絡延時

Infini Bard

新的I/O總線技術

高速、高性能

DAFS

通過TCP協定找直

接與遠端伺服器

的儲存設備建立通路

資料直接從緩沖區

搬移到網卡,時延降低

 網卡

根據傳輸協定的不同,網卡可分為3種,一是以太網卡,二是FC網卡,三是iSCSI網卡。

(1)以太網卡:Ethernet Adapter,傳輸協定為IP協定,一般通過光纖線纜或雙絞線與以太網交換機連接配接。接口類型分為光口和電口。光口一般都是通過光纖線纜來進行資料傳輸,接口子產品一般為SFP(傳輸率2Gbps)和GBIC(1Gbps),對應的接口為SC、ST和LC。電口目前常用接口類型為RJ45,用來與雙絞線連接配接,也有與同軸電纜連接配接的接口,不過現在已經用的比較少了。

(2)FC網卡:一般也叫光纖網卡,Fibre Channel HBA(Hose Bus Adapter,主機總線擴充卡)。傳輸協定為光纖通道協定,一般通過光纖線纜與光纖通道交換機連接配接。接口類型分為光口和電口。光口一般都是通過光纖線纜來進行資料傳輸,接口子產品一般為SFP(傳輸率2Gbps)和GBIC(1Gbps),對應的接口為SC和LC。電口的接口類型一般為DB9針或HSSDC。

光纖網卡一般是指FC HBA卡,插在伺服器上,外接存儲用的光纖交換機;而光口的以太網卡一般都叫做光纖以太網卡,也是插在伺服器上,不過它外接的是帶光口的以太網交            換機。

(3)iSCSI網卡:Internet Small Computer System Interface,iSCSI HBA,傳輸iSCSI協定,接口類型與以太網卡相同。iSCSI(internet SCSI)是一套定義在TCP/IP網絡上傳輸SCSI協定的指令。它将SCSI定義的發起方(initiator)和目标方(target)由原來的SCSI總線連接配接擴充到Internet上,打破了SCSI定義中的存儲距離的限制。

  I/O配置

在各種成熟的存儲技術的基礎上,合理配置系統的I/O分布及系統I/O配置能大量減少系統在生産運作中出現I/O性能及相關問題的幾率。當然,這些配置是在布置資料庫系統時的初始建議,對于複雜的系統來說,很多配置(如一些存儲相關的參數)是需要根據系統的運作狀況進行調優的。

在資料庫系統中,如果某個檔案或者某塊磁盤上存在遠高于其他檔案或磁盤的大量I/O通路,就稱這個檔案或磁盤為熱點檔案/磁盤。在做I/O規劃時的一個重要目标就是要消除系統中熱點檔案/磁盤的存在,使整個系統的I/O負載相對平衡。

 條帶化設定

由于現在的存儲技術成熟、成本降低,大多數系統都采用條帶化來實作系統的I/O負載分擔。如果作業系統有LVM(Logical Volume Manager,邏輯卷管理器)軟體或者硬體條帶裝置,就可以利用這些攻擊來分布I/O負載。當使用LVM或者硬體條帶時,決定因素是條帶深度(stripe depth)和條帶寬度(stripe width)。

條帶深度指的是條帶的大小,也叫條帶單元。

條帶寬度指的是條帶深度的産量或者一個條帶集中的驅動數。

需要根據系統的I/O要求來合理地選擇這些資料。對于Oracle資料庫系統來說,比較合理的條帶深度是從256KB到1MB。下面分析條帶深度和條帶寬度的影響因素。

條帶深度

為了提高I/O效率,要盡量使一次邏輯I/O請求有一塊磁盤的一次實體I/O請求。因而影響條帶的一個重要因素就是一次邏輯I/O請求的大小。

此外,系統中I/O的并發度不同,對條帶的配置要求也不同。例如,在高并發度且I/O請求都比較小的情況下,人們希望一塊磁盤能同時響應多個I/O操作;而在那些存在大I/O請求的低并發度系統中,可能就需要多塊磁盤同時響應一個I/O請求。無論是一個磁盤還是多個磁盤響應I/O請求,一個原則是讓一次邏輯I/O能被一次處理完成。

下面介紹影響I/O大小的作業系統和Oracle的相關參數。

db_block_size:Oracle中的資料塊大小,也決定了Oracle一次單個I/O請求中的資料塊的大小。

db_file_multiblock_read_count:在多資料塊讀時,一次讀取資料塊的數量,它和參數db_block_size一起決定了一次多資料塊讀的大小,它們的乘積不能大于作業系統的最大I/O大小。

作業系統的資料塊大小:這個參數決定了Redo Log和Archive Log操作時的資料塊大小。

最大作業系統I/O大小:決定了一次單個的I/O操作的I/O大小的上限,對于大多數Unix系統來說,由參數max_io_size設定。

sort_area_size:記憶體中sort area的大小,也決定了并發排序操作時的I/O大小。

hash_area_size:記憶體中hash area的大小,也決定了哈希操作的I/O大小。

其中,前面兩個是最關鍵的兩個參數。

在OLTP系統中,會存在大量小并發的I/O請求。這時就需要考慮選擇比較大的條帶深度。使條帶深度大于I/O大小就稱為粗粒度條帶(Coarse Grain Striping)。在高并行度系統中,條帶深度為n×db_block_size,其中n為大于1的整數。

通過粗粒度條帶能實作最大的I/O吞吐量(一次實體I/O可以同時響應多個并發的邏輯I/O)。大的條帶深度能夠使像全表掃描那樣多資料塊讀操作由一個磁盤驅動來響應,并提高多資料塊讀操作的性能。

在低并發度的DSS系統中,由于I/O請求比較序列化,為了避免出現熱點磁盤,需要避免邏輯I/O隻由一塊磁盤處理。這時,粗粒度條帶就不适合了。選擇小的條帶深度,使一        個邏輯I/O分布到多個磁盤上,進而實作I/O的負載均衡,這就叫細粒度條帶。條帶深度的大小為n×db_block_size,其中n為小于多資料塊讀參數db_file_multiblock_read_count的整數。

另外,I/O過程中,使用者無法保證Oracle資料塊的邊界和條帶單元的大小對齊。如果條帶深度大小和Oracle資料塊大小完全相同,而它們的邊界沒有對齊的話,那麼就會存在大量一個單獨的I/O請求被兩塊磁盤來完成。

在OLTP系統中,為了避免一個邏輯I/O請求被多個實體I/O操作完成,條帶寬度就需要設定為Oracle資料塊大小的兩倍或者兩倍以上。例如,如果條帶深度是I/O大小的N倍,對于大量并發I/O請求,可以保證最少有(N-1)/ N的請求是由一塊磁盤來完成。

 條帶大小計算方法

stripe width(條帶寬度):RAID中的磁盤數,就是組成這個stripe的磁盤數。例如,4個磁盤組成的RAID 0,條帶寬度就是4。

stripe depth(條帶深度):單塊磁盤上條帶的大小,有時也稱為stripe unit。

stripe size(條帶大小):stripe depth×stripe width。有時也稱block size塊大小、chunk size簇大小、stripe length條帶長度、granularity粒度,是單塊磁盤上的每次I/O的最小機關。

RAID條帶大小的另一個計算公式為:

條帶大小=(0.25×平均定位時間×資料傳輸速率×(并發使用者數-1)×1.024)+0.5KB。

平均定位時間=(平均延時+平均尋道時間)(ms);資料傳輸速率機關為:Mbps;1.024 = 1s/1000ms×1024KB/1MB(機關轉換因子)。

舉例來說,磁盤尋道時間是6ms,傳輸速率80MB,且有20個并發使用者的條帶大小應該為:(0.25×6×80×19×1.024)+0.5=2335.22KB(差不多2MB)。

 SAN、NAS和DAS (1)

随着計算機技術的發展和廣泛應用,存儲技術已經得到了業界和各個應用領域專業人士的重視。資料量的迅速增長為企業的發展提出了新的問題和要求,如何確定資料的一緻性、安全性和可靠性,如何實作不同資料的集中管理,如何實作網絡上的資料集中通路,如何實作不同主機類型的資料通路和保護等,這些都呼喚着新的網絡存儲技術及其産品的出現。

SAN與NAS技術和産品的出現不僅拓展了網絡發展的空間,更為重要的是,它們将網絡技術與新興的存儲領域有機地結合起來,在IT業發展過程中起到了不可忽視的作用。

SAN和NAS經常被視為兩種競争技術,實際上,二者還能夠很好地互相補充,以提供對不同類型資料的通路。SAN針對海量、面向資料塊的資料傳輸,而NAS則提供檔案級的資料通路功能。

這兩種技術不但可以滿足靈活的存儲通路的需要,而且SAN和NAS都基于開放的、業界标準的網絡協定:用于SAN的光纖通道協定和用于NAS的網絡協定(如TCP/IP)。SAN的應用範圍更為廣泛,而且可以提供對NAS裝置的存儲,而NAS一般隻限于檔案級資料通路的應用。如果不考慮它們之間的差别,SAN和NAS在今天的企業級存儲中都發揮着重要的作用,比傳統的伺服器連接配接存儲擁有更多的優勢。

SAN和NAS在資料中心領域對傳統的伺服器連接配接存儲是強有力的補充和替代。因而,企業級使用者逐漸認識到其衆多的優點,包括改進的靈活性、更友善的存儲部署以及更低的總體擁有成本。盡管SAN和NAS技術可以提供競争優勢,但是它們都是為特定的環境和應用而設計的。

SAN的關鍵特性

SAN作為網絡基礎設施,是為提供靈活、高性能和高擴充性的存儲環境而設計的。SAN通過在伺服器和儲存設備(例如磁盤存儲系統和錄音帶庫)之間實作連接配接來達到這一目的。

高性能的光纖通道交換機和光纖通道網絡協定可以確定裝置連接配接可靠且有效。這些連接配接以本地光纖或SCSI(通過SCSI-to-Fibre Channel轉換器或網關)為基礎。一個或多個光纖通道交換機以網絡拓撲(SAN架構)形式為主機伺服器和儲存設備提供互聯。

由于SAN是為在伺服器和儲存設備之間傳輸大塊資料而進行優化的,是以SAN對于以下應用來說是理想的選擇。

1.關鍵任務資料庫應用,其中可預計的響應時間、可用性和可擴充性是基本要素。

2.集中的存儲備份,其中性能、資料一緻性和可靠性可以確定企業關鍵資料的安全。

3.高可用性和故障切換環境可以確定更低的成本、更高的應用水準。

4.可擴充的存儲虛拟化,可使存儲與直接主機連接配接相分離,并確定動态存儲分區。

5.改進的災難容錯特性,在主機伺服器及其連接配接裝置之間提供光纖通道高性能和擴充    的距離(達到150千米)。

SAN的主要長處

面對迅速增長的資料存儲需求,大型企業和服務提供商漸漸開始選擇SAN作為網絡基礎設施,因為SAN具有出色的可擴充性。事實上,SAN比傳統的存儲架構具有更多顯著的優勢。例如,傳統的伺服器連接配接存儲通常難于更新或集中管理。每台伺服器必須關閉才能增加和配置新的存儲。相比較而言,SAN不必當機和中斷與伺服器的連接配接即可增加存儲。SAN 還可以集中管理資料,進而降低了總體擁有成本。

利用光纖通道技術,SAN可以有效地傳輸資料塊。通過支援在存儲和伺服器之間傳輸海量資料塊,SAN提供了資料備份的有效方式。是以,傳統上用于資料備份的網絡帶寬可以節約下來用于其他應用。

開放的、業界标準的光纖通道技術還使得SAN非常靈活。SAN克服了傳統上與SCSI相連的線纜限制,極大地拓展了伺服器和存儲之間的距離,進而增加了更多連接配接的可能性。改進的擴充性還簡化了伺服器的部署和更新,保護了原有硬體裝置的投資。

此外,SAN可以更好地控制存儲網絡環境,适合基于交易的系統在性能和可用性方面的需求。SAN利用高可靠和高性能的光纖通道協定來滿足這種需要。

SAN的另一個長處是傳送資料塊到企業級資料密集型應用的能力。在資料傳送過程中,SAN在通信節點(尤其是伺服器)上的處理費用開銷更少,因為資料在傳送時被分成更小的資料塊。是以,光纖通道SAN在傳送大資料塊時非常有效,這使得光纖通道協定非常适用于存儲密集型環境。

今天,SAN已經漸漸與NAS環境相結合,以提供用于NAS裝置的高性能海量存儲。事實上,許多SAN目前都用于NAS裝置的背景,滿足存儲擴充性和備份的需要。

SAN帶來的好處

SAN的一個好處是極大地提高了企業資料備份和恢複操作的可靠性和可擴充性。基于SAN的操作能顯著減少備份和恢複的時間,同時減少企業網絡上的資訊流量。

通過将SAN拓展到城域網基礎設施上,SAN還可以實作與遠端裝置無縫地連接配接,進而提高容災的能力。SAN部署城域網基礎設施以增加SAN裝置間的距離,可達到150千米,而且幾乎不會降低性能。企業可以利用這一點,通過部署關鍵任務應用和用于關鍵應用伺服器的遠端資料複制來提高容災能力,備份和恢複裝置是實作遠端管理的需要。

另外,基于交易的資料庫應用從SAN部署中獲益頗多,其無縫增加存儲的能力可以減少資料備份的時間。

SAN存在的問題

近兩年來,SAN這一概念已經漸入人心。SAN可以取代基于伺服器的存儲模式,性能更加優越。然而,時至今日,互操作性仍是實施過程中存在的主要問題。SAN本身缺乏标準,尤其是在管理上更是如此。雖然光纖通道(Fibre Channel)技術标準的确存在,但各家廠商卻有不同的解釋,于是,互操作性問題就像沙塵暴一樣迎面撲來,讓人猝不及防。

一些SAN廠商通過SNIA等組織來制定标準。還有一些廠商則着手大力投資興建互操作性實驗室,在推出SAN之前進行測試。另一種途徑便是外包SAN。盡管SAN廠商在解決互操作性問題上已經取得了進步,不過,專家仍建議使用者采用外包方式,不要自己建設SAN。

NAS的關鍵特性

NAS解決方案通常配置為作為檔案服務的裝置,由工作站或伺服器通過網絡協定(如TCP/IP)和應用程式(如網絡檔案系統NFS或者通用Internet檔案系統CIFS)來進行檔案通路。大多數NAS連接配接在工作站客戶機和NAS檔案共享裝置之間進行。這些連接配接依賴于企業的網絡基礎設施來正常運作。

為了提高系統性能和實作不間斷的使用者通路,NAS采用了專業化的作業系統用于網絡檔案的通路,這些作業系統既支援标準的檔案通路,也支援相應的網絡協定。

NAS使檔案通路操作更為快捷,并且易于向基礎設施增加檔案存儲容量。因為NAS關注的是檔案服務而不是實際檔案系統的執行情況,是以NAS裝置經常是自包含的,而且相當易于部署。

NAS裝置與客戶機之間主要是進行資料傳輸。在LAN/WAN上傳輸的大量資料被分成許多小的資料塊,傳輸的處理過程需要占用處理器資源來中斷和重新通路資料流。如果資料包的處理占用太多的處理器資源,則在同一伺服器上運作的應用程式會受到影響。由于網絡擁堵影響NAS的性能,是以,其性能局限之一是網絡傳輸資料的能力。

NAS存儲的可擴充性也受到裝置大小的限制。增加另一台裝置非常容易,但是要像通路一台機器上的資料那樣通路網絡環境中的内容并不容易,因為NAS裝置通常具有獨特的網絡辨別符。由于上述這些限制,NAS環境中的資料備份不是集中化的,是以僅限于使用直接連接配接裝置(如專用錄音帶機或錄音帶庫)或者基于網絡的政策,在該政策中,裝置上的資料通過企業或專用LAN進行備份。

NAS與DAS方式的差別

作為一種新興的存儲技術,NAS有着傳統直接連接配接方式所無法比拟的優勢。表3-5對這兩種方式進行了一個簡單的比較。

表3-5  NAS與DAS的比較

網絡附加存儲(NAS)

直接連接配接存儲(DAS)

通過檔案系統的集中化管理能

夠實作網絡檔案的通路

隻能通過與之連接配接的主機進行通路

使用者能夠共享檔案系統并查

看共享的資料

每一個主機管理它本身的

檔案系統,但不能實作與

其他主機共享資料

專業化的檔案伺服器與存儲

技術相結合,為網絡訪

問提供高可靠性的資料

隻能依靠儲存設備本身為

主機提供高可靠性的資料

 SAN、NAS和DAS (2)

NAS的技術特點

NAS為通路和共享大量檔案系統資料的企業環境提供了一個高效、性能價格比優異的解決方案。資料的整合減少了管理需求和開銷,而集中化的網絡檔案伺服器和存儲環境--包括硬體和軟體--確定了可靠的資料通路和資料的高可用性。可以說,NAS提供了一個強有力的綜合機制。

NAS技術能夠滿足特定的使用者需求。例如當某些企業需要應付快速資料增長的問題,或者是解決互相獨立的工作環境所帶來的系統限制時,可以采用新一代NAS技術,利用集中化的網絡檔案通路機制和共享來解決這些問題,進而達到減少系統管理成本,提高資料備份和恢複功能的目的。

NAS的主要長處

NAS适用于需要通過網絡将檔案資料傳送到多台客戶機上的使用者。NAS裝置在資料必須長距離傳送的環境中可以很好地發揮作用。

此外,NAS裝置非常易于部署,可以使NAS主機、客戶機和其他裝置廣泛分布在整個企業的網絡環境中。正确地進行配置之後,NAS可以提供可靠的檔案級資料整合,因為檔案鎖定是由裝置自身來處理的。盡管其部署非常簡單,但是企業仍然要確定在NAS裝置的配置過程中提供适當的檔案安全級别。

NAS帶來的好處

NAS應用于高效的檔案共享任務中,例如Unix中的NFS和Windows NT中的CIFS,其中基于網絡的檔案級鎖定提供了進階并發通路保護的功能。NAS裝置可以進行優化,以檔案級保護向多台客戶機發送檔案資訊。

在某些情況下,企業可以有限地為資料庫應用部署NAS解決方案。這些情況一般隻限于以下的應用。

(1)大量的資料通路是隻讀的,資料庫很小。

(2)要通路的邏輯卷也很少。

(3)所要求的性能也不高。

在這些情況下,NAS解決方案有助于減少使用者的總體擁有成本。

互為補充的兩種技術

盡管它們之間存在着差別,但是SAN和NAS是兩種互為補充的存儲技術。例如,SAN在資料塊傳輸和擴充性方面表現優秀,并能夠有效地管理裝置。企業可以從将SAN應用于關鍵任務應用、存儲集中、備份恢複和高可用性計算等方面受益無窮。

與SAN相比,NAS支援多台對等客戶機之間的檔案共享。NAS客戶機可以在企業中的任何地點通路共享檔案。因為在NAS環境中檔案通路的邏輯卷較少,對于響應時間要求也不是很高,是以其性能和距離要求也相對較低。

SAN與NAS關鍵特性比較見表3-6。

表3-6  SAN與NAS關鍵特性比較

SAN

NAS

協定

Fibre Channel、Fibre Channel-to-SCSI

TCP/IP

應用

關鍵任務,基于交易的

資料庫應用處理

NFS和CIFS中的檔案共享

集中的資料備份

長距離的小資料塊傳輸

災難恢複

有限的隻讀資料庫通路

存儲集中

優點

高可用性

距離的限制少

資料傳輸的可靠性

簡化附加檔案的共享容量

減少遠網絡流量

易于部署和管理

配置靈活

高性能

高可擴充性

集中管理

NAS和SAN最本質的不同就是檔案管理系統在哪裡,如圖3-7所示。

高可用之2——存儲b

圖3-7  NAS和SAN比較

由圖3-7可以看出,SAN結構中,檔案管理系統(FS)還是分别在每一個應用伺服器上;而NAS則是每個應用伺服器通過網絡共享協定(如NFS、CIFS)使用同一個檔案管理系統。換句話說,NAS和SAN存儲系統的差別是SAN有自己的檔案系統管理。

NAS是将目光集中在應用、使用者和檔案以及它們共享的資料上;SAN是将目光集中在磁盤、錄音帶以及聯接它們的可靠的基礎結構上。将來從桌面系統到資料集中管理到儲存設備的全面解決方案将是NAS加SAN。