啥都玫說之網絡篇-6.2網絡存儲

孤城子復 發佈 2022-05-26T04:36:11.789013+00:00

您閱讀本文如果覺得符合大人您的口味,請關注一下本君,點個關注和評論,說一下您的觀點。創作不易,還請多多支持!6.2 存儲存儲,其實就是數據存儲,數據存儲對象包括數據流在加工過程中產生的臨時文件或加工過程中需要查找的信息。數據以某種格式記錄在計算機內部或外部存儲介質上。

您閱讀本文如果覺得符合大人您的口味,請關注一下本君,點個關注和評論,說一下您的觀點。創作不易,還請多多支持!

6.2 存儲

存儲,其實就是數據存儲,數據存儲對象包括數據流在加工過程中產生的臨時文件或加工過程中需要查找的信息。數據以某種格式記錄在計算機內部或外部存儲介質上。數據存儲要命名,這種命名要反映信息特徵的組成含義。數據流反映了系統中流動的數據,表現出動態數據的特徵;數據存儲反映系統中靜止的數據,表現出靜態數據的特徵。

磁碟和磁帶都是常用的存儲介質。數據存儲組織方式因存儲介質而異。在磁帶上數據僅按順序文件方式存取;在磁碟上則可按使用要求採用順序存取或直接存取方式。數據存儲方式與數據文件組織密切相關,其關鍵在於建立記錄的邏輯與物理順序間對應關係,確定存儲地址,以提高數據存取速度。

目前常見的存儲方式主要分三類:DAS、NAS、SAn。還是得分開一個一個說。

DAS(Direct Attached Storage)直接附加存儲方式與我們普通的PC存儲架構一樣,外部存儲設備都是直接掛接在伺服器內部總線上,數據存儲設備是整個伺服器結構的一部分。DAS存儲方式主要適用以下環境:

  • 小型網絡:因為網絡規模較小,數據存儲量小,且也不是很複雜,採用這種存儲方式對伺服器的影響不會很大。並且這種存儲方式也十分經濟,適合擁有小型網絡的企業用戶。
  • 地理位置分散的網絡:雖然企業總體網絡規模較大,但在地理分布上很分散,通過SAN或NAS在它們之間進行互聯非常困難,此時各分支機構的伺服器也可採用DAS存儲方式,這樣可以降低成本。
  • 特殊應用伺服器:在一些特殊應用伺服器上,如微軟的集群伺服器或某些資料庫使用的原始分區,均要求存儲設備直接連接到應用伺服器。
  • 提高DAS存儲性能:在伺服器與存儲的各種連接方式中,DAS曾被認為是一種低效率的結構,而且也不方便進行數據保護。直連存儲無法共享,因此經常出現的情況是某台伺服器的存儲空間不足,而其他一些伺服器卻有大量的存儲空間處於閒置狀態卻無法利用。如果存儲不能共享,也就談不上容量分配與使用需求之間的平衡。

DAS結構下的數據保護流程相對複雜,如果做網絡備份,那麼每台伺服器都必須單獨進行備份,而且所有的數據流都要通過網絡傳輸。如果不做網絡備份,那麼就要為每台伺服器都配一套備份軟體和磁帶設備,所以說備份流程的複雜度會大大增加。

NAS(Network Attached Storage)數據存儲方式全面改進了以前低效的DAS存儲方式。它採用獨立於伺服器,單獨為網絡數據存儲而開發的一種文件伺服器來連接所存儲設備,自形成一個網絡。這樣數據存儲就不再是伺服器的附屬,而是作為獨立網絡節點而存在於網絡之中,可由所有的網絡用戶共享。

NAS的優點:

  • [x] 真正的即插即用:NAS是獨立的存儲節點存在於網絡之中,與用戶的作業系統平台無關,真正的即插即用。
  • [x] 存儲部署簡單:NAS不依賴通用的作業系統,而是採用一個面向用戶設計的,專門用於數據存儲的簡化作業系統,內置了與網絡連接所需要的協議,因此使整個系統的管理和設置較為簡單。
  • [x] 存儲設備位置非常靈活
  • [x] 管理容易且成本低:NAS數據存儲方式是基於現有的企業Ethernet而設計的,按照TCP/IP協議進行通信,以文件的I/O方式進行數據傳輸。

NAS的缺點:

  • [x] 存儲性能較低
  • [x] 可靠度不高

SAN(Storage Area Network)存儲方式存儲方式創造了存儲的網絡化。存儲網絡化順應了計算機伺服器體系結構網絡化的趨勢。SAN的支撐技術是光纖通道(FC Fiber Channel)技術。它是ANSI為網絡和通道I/O接口建立的一個標準集成。FC技術支持HIPPI、IPI、SCSI、IP、ATM等多種高,級協議,其最大特性是將網絡和設備的通信協議與傳輸物理介質隔離開,這樣多種協議可在同一個物理連接上同時傳送。

SAN的硬體基礎設施是光纖通道,用光纖通道構建的SAN由以下三個部分組成:

  • [x] 存儲和備份設備:包括磁帶、磁碟和光碟庫等。
  • [x] 光纖通道網絡連接部件:包括主機總線適配卡、驅動程序、光纜、集線器、交換機、光纖通道和SCSI間的橋接器
  • [x] 應用和管理軟體:包括備份軟體、存儲資源管理軟體和存儲設備管理軟體。

SAN的優勢:

  • [x] 網絡部署容易;
  • [x] 高速存儲性能。因為SAN採用了光纖通道技術,所以它具有更高的存儲帶寬,存儲性能明顯提高。SAn的光纖通道使用全雙工串行通信原理傳輸數據,傳輸速率高達1062.5Mb/s。
  • [x] 良好的擴展能力。由於SAN採用了網絡結構,擴展能力更強。光纖接口提供了10公里的連接距離,這使得實現物理上分離,不在本地機房的存儲變得非常容易。

三種存儲方式比較一下,存儲應用最,大的特點是沒有標準的體系結構,這三種存儲方式共存,互相補充,已經很好滿足企業信息化應用。從連接方式上對比,DAS採用了存儲設備直接連接應用伺服器,具有一定的靈活性和限制性;NAS通過網絡(TCP/IP,ATM,FDDI)技術連接存儲設備和應用伺服器,存儲設備位置靈活,隨著萬兆網的出現,傳輸速率有了很大的提高;SAN則是通過光纖通道技術連接存儲設備和應用伺服器,具有很好的傳輸速率和擴展性能。三種存儲方式各有優勢,相互共存,占到了磁碟存儲市場的70%以上。SAN和NAS產品的價格仍然遠遠高於DAS.許多用戶出於價格因素考慮選擇了低效率的直連存儲而不是高效率的共享存儲。客觀的說,SAN和NAS系統都已經可以利用類似的自動精簡配置,用技術來彌補存儲分配不靈活的短板。然而,之前它們消耗了太多的時間來解決存儲分配的問題,以至於給DAS留有足夠的時間在數據中心領域站穩腳跟。此外,SAN和NAS依然問題多多,無法解決。

存儲這裡除了存儲方式以外,另外一個重要得技術就是磁碟陣列,英文Redundant Arrays of Independent Drives,簡稱RAID,有「獨立磁碟構成的具有冗餘能力的陣列」之意。磁碟陣列是由很多磁碟組合成一個容量巨大的磁碟組,利用個別磁碟提供數據所產生加成效果提升整個磁碟系統效能。利用這項技術,將數據切割成許多區段,分別存放在各個硬碟上。磁碟陣列還能利用同位檢查(Parity Check)的觀念,在數組中任意一個硬碟故障時,仍可讀出數據,在數據重構時,將數據經計算後重新置入新硬碟中

磁碟陣列作為獨立系統在主機外直連或通過網絡與主機相連。磁碟陣列有多個埠可以被不同主機或不同埠連接。一個主機連接陣列的不同埠可提升傳輸速度。和當時PC用單磁碟內部集成緩存一樣,在磁碟陣列內部為加快與主機交互速度,都帶有一定量的緩衝存儲器。主機與磁碟陣列的緩存交互,緩存與具體的磁碟交互數據。在應用中,有部分常用的數據是需要經常讀取的,磁碟陣列根據內部的算法,查找出這些經常讀取的數據,存儲在緩存中,加快主機讀取這些數據的速度,而對於其他緩存中沒有的數據,主機要讀取,則由陣列從磁碟上直接讀取傳輸給主機。對於主機寫入的數據,只寫在緩存中,主機可以立即完成寫操作。然後由緩存再慢慢寫入磁碟。

如果說優點麼,提高傳輸速率。RAID通過在多個磁碟上同時存儲和讀取數據來大幅提高存儲系統的數據吞吐量(Throughput)。在RAID中,可以讓很多磁碟驅動器同時傳輸數據,而這些磁碟驅動器在邏輯上又是一個磁碟驅動器,所以使用RAID可以達到單個磁碟驅動器幾倍、幾十倍甚至上百倍的速率。這也是RAID最初想要解決的問題。因為當時CPU的速度增長很快,而磁碟驅動器的數據傳輸速率無法大幅提高,所以需要有一種方案解決二者之間的矛盾。RAID最後成功了。通過數據校驗提供容錯功能。普通磁碟驅動器無法提供容錯功能,如果不包括寫在磁碟上的CRC(循環冗餘校驗)碼的話。RAID容錯是建立在每個磁碟驅動器的硬體容錯功能之上的,所以它提供更高的安全性。在很多RAID模式中都有較為完備的相互校驗/恢復的措施,甚至是直接相互的鏡像備份,從而大大提高了RAID系統的容錯度,提高了系統的穩定冗餘性。

RAID技術主要包含RAID 0~RAID 50等數個規範,它們的側重點各不相同,常見的規範有如下幾種:

RAID 0:RAID 0連續以位或字節為單位分割數據,並行讀/寫於多個磁碟上,因此具有很高的數據傳輸率,但它沒有數據冗餘,因此並不能算是真正的RAID結構。RAID 0隻是單純地提高性能,並沒有為數據的可靠性提供保證,而且其中的一個磁碟失效將影響到所有數據。因此,RAID 0不能應用於數據安全性要求高的場合。

RAID 1:它是通過磁碟數據鏡像實現數據冗餘,在成對的獨立磁碟上產生互為備份的數據。當原始數據繁忙時,可直接從鏡像拷貝中讀取數據,因此RAID 1可以提高讀取性能。RAID 1是磁碟陣列中單位成本最,高的,但提供了很高的數據安全性和可用性。當一個磁碟失效時,系統可以自動切換到鏡像磁碟上讀寫,而不需要重組失效的數據。

RAID 01/10:根據組合分為RAID 10和RAID 01,實際是將RAID 0和RAID 1標準結合的產物,在連續地以位或字節為單位分割數據並且並行讀/寫多個磁碟的同時,為每一塊磁碟作磁碟鏡像進行冗餘。它的優點是同時擁有RAID 0的超凡速度和RAID 1的數據高可靠性,但是CPU占用率同樣也更高,而且磁碟的利用率比較低。RAID 1+0是先鏡射再分區數據,再將所有硬碟分為兩組,視為是RAID 0的最低組合,然後將這兩組各自視為RAID 1運作。RAID 0+1則是跟RAID 1+0的程序相反,是先分區再將數據鏡射到兩組硬碟。它將所有的硬碟分為兩組,變成RAID 1的最低組合,而將兩組硬碟各自視為RAID 0運作。性能上,RAID 0+1比RAID 1+0有著更快的讀寫速度。可靠性上,當RAID 1+0有一個硬碟受損,其餘三個硬碟會繼續運作。RAID 0+1 只要有一個硬碟受損,同組RAID 0的另一隻硬碟亦會停止運作,只剩下兩個硬碟運作,可靠性較低。因此,RAID 10遠較RAID 01常用,零售主板絕大部份支持RAID 0/1/5/10,但不支持RAID 01。

RAID 2:將數據條塊化地分布於不同的硬碟上,條塊單位為位或字節,並使用稱為「加重平均糾錯碼(漢明碼)」的編碼技術來提供錯誤檢查及恢復。

RAID 3:它同RAID 2非常類似,都是將數據條塊化分布於不同的硬碟上,區別在於RAID 3使用簡單的奇偶校驗,並用單塊磁碟存放奇偶校驗信息。如果一塊磁碟失效,奇偶盤及其他數據盤可以重新產生數據;如果奇偶盤失效則不影響數據使用。RAID 3對於大量的連續數據可提供很好的傳輸率,但對於隨機數據來說,奇偶盤會成為寫操作的瓶頸。

RAID 4:RAID 4同樣也將數據條塊化並分布於不同的磁碟上,但條塊單位為塊或記錄。RAID 4使用一塊磁碟作為奇偶校驗盤,每次寫操作都需要訪問奇偶盤,這時奇偶校驗盤會成為寫操作的瓶頸,因此RAID 4在商業環境中也很少使用。

RAID 5:RAID 5不單獨指定的奇偶盤,而是在所有磁碟上交叉地存取數據及奇偶校驗信息。在RAID 5上,讀/寫指針可同時對陣列設備進行操作,提供了更高的數據流量。RAID 5更適合於小數據塊和隨機讀寫的數據。RAID 3與RAID 5相比,最主要的區別在於RAID 3每進行一次數據傳輸就需涉及到所有的陣列盤;而對於RAID 5來說,大部分數據傳輸只對一塊磁碟操作,並可進行並行操作。在RAID 5中有「寫損失」,即每一次寫操作將產生四個實際的讀/寫操作,其中兩次讀舊的數據及奇偶信息,兩次寫新的數據及奇偶信息。

RAID 6:與RAID 5相比,RAID 6增加了第二個獨立的奇偶校驗信息塊。兩個獨立的奇偶系統使用不同的算法,數據的可靠性非常高,即使兩塊磁碟同時失效也不會影響數據的使用。但RAID 6需要分配給奇偶校驗信息更大的磁碟空間,相對於RAID 5有更大的「寫損失」,因此「寫性能」非常差。較差的性能和複雜的實施方式使得RAID 6很少得到實際應用。

RAID 7:這是一種新的RAID標準,其自身帶有智能化實時作業系統和用於存儲管理的軟體工具,可完全獨立於主機運行,不占用主機CPU資源。RAID 7可以看作是一種存儲計算機(Storage Computer),它與其他RAID標準有明顯區別。除了以上的各種標準(如表1),我們可以如RAID 0+1那樣結合多種RAID規範來構築所需的RAID陣列,例如RAID 5+3(RAID 53)就是一種應用較為廣泛的陣列形式。用戶一般可以通過靈活配置磁碟陣列來獲得更加符合其要求的磁碟存儲系統。

RAID 5E(RAID 5 Enhancement):RAID 5E是在RAID 5級別基礎上的改進,與RAID 5類似,數據的校驗信息均勻分布在各硬碟上,但是,在每個硬碟上都保留了一部分未使用的空間,這部分空間沒有進行條帶化,最多允許兩塊物理硬碟出現故障。看起來,RAID 5E和RAID 5加一塊熱備盤好像差不多,其實由於RAID 5E是把數據分布在所有的硬碟上,性能會比RAID5 加一塊熱備盤要好。當一塊硬碟出現故障時,有故障硬碟上的數據會被壓縮到其它硬碟上未使用的空間,邏輯盤保持RAID 5級別。

RAID 5EE:與RAID 5E相比,RAID 5EE的數據分布更有效率,每個硬碟的一部分空間被用作分布的熱備盤,它們是陣列的一部分,當陣列中一個物理硬碟出現故障時,數據重建的速度會更快。

RAID 50:RAID50是RAID5與RAID0的結合。此配置在RAID5的子磁碟組的每個磁碟上進行包括奇偶信息在內的數據的剝離。每個RAID5子磁碟組要求三個硬碟。RAID50具備更高的容錯能力,因為它允許某個組內有一個磁碟出現故障,而不會造成數據丟失。而且因為奇偶位分部於RAID5子磁碟組上,故重建速度有很大提高。優勢:更高的容錯能力,具備更快數據讀取速率的潛力。需要注意的是:磁碟故障會影響吞吐量。故障後重建信息的時間比鏡像配置情況下要長。

說過了RAID種類,再說說實現方式。通常計算機功能既可以由硬體來實現,也可以由軟體來實現。對於RAID系統而言,自然也不例外,它可以採用軟體方式實現,也可以採用硬體方式實現,或者採用軟硬結合的方式實現。

  • 軟RAID沒有專用的控制晶片和I/O晶片,完全由作業系統和CPU來實現所的RAID的功能。現代作業系統基本上都提供軟RAID支持,通過在磁碟設備驅動程序上添加一個軟體層,提供一個物理驅動器與邏輯驅動器之間的抽象層。目前,作業系統支持的最常見的RAID等級有RAID0、RAID1、RAID10、RAID01和RAID5等。比如,WindowsServer支持RAID0、RAID1和RAID5三種等級,Linux支持RAID0、RAID1、RAID4、RAID5、RAID6等,MacOSXServer、FreeBSD、NetBSD、OpenBSD、Solaris等作業系統也都支持相應的RAID等級。軟RAID的配置管理和數據恢復都比較簡單,但是RAID所有任務的處理完全由CPU來完成,如計算校驗值,所以執行效率比較低下,這種方式需要消耗大量的運算資源,支持RAID模式較少,很難廣泛應用。軟RAID由作業系統來實現,因此系統所在分區不能作為RAID的邏輯成員磁碟,軟RAID不能保護系統盤D。對於部分作業系統而言,RAID的配置信息保存在系統信息中,而不是單獨以文件形式保存在磁碟上。這樣當系統意外崩潰而需要重新安裝時,RAID信息就會丟失。另外,磁碟的容錯技術並不等於完全支持在線更換、熱插拔或熱交換,是否支持錯誤磁碟的熱交換與作業系統實現相關。

  • 硬RAID擁有自己的RAID控制處理與I/O處理晶片,甚至還有陣列緩衝,對CPU的占用率和整體性能是三類實現中最,優的,但實現成本也最高的。硬RAID通常都支持熱交換技術,在系統運行下更換故障磁碟。硬RAID包含RAID卡和主板上集成的RAID晶片,伺服器平台多採用RAID卡。RAID卡由RAID核心處理晶片(RAID卡上的CPU)、埠、緩存和電池4部分組成。其中,埠是指RAID卡支持的磁碟接口類型,如IDE/ATA、SCSI、SATA、SAS、FC等接口。

  • 軟RAID性能欠佳,而且不能保護系統分區,因此很難應用於桌面系統。而硬RAID成本非常昂貴,不同RAID相互獨立,不具互操作性。因此,人們採取軟體與硬體結合的方式來實現RAID,從而獲得在性能和成本上的一個折中,即較高的性價比。這種RAID雖然採用了處理控制晶片,但是為了節省成本,晶片往往比較廉價且處理能力較弱,RAID的任務處理大部分還是通過固件驅動程序由CPU來完成。

近年來,隨著存儲技術的持續發展,RAID技術在成本、性能、數據安全性等諸多方面都將優於其他存儲技術,例如磁帶庫、光碟庫等,大多數企業數據中心首,選RAID作為存儲系統。當前存儲行業的知名存儲廠商均提供全線的磁碟陣列產品,包括面向個人和中小企業的入門級的低端RAID產品,面向大中型企業的中高端RAID產品。這些存儲企業包括了國內外的主流存儲廠商,如EMC、IBM、HP、SUN、NetApp、NEC、HDS、H3C、Infortrend、華賽等。另外,這些廠商在提供存儲硬體系統的同時,還往往提供非常全面的軟體系統,這也是用戶採購產品的一個主要參考因素。

不同的存儲廠商的產品在技術、成本、性能、管理、服務等方面各有優勢和不足。用戶選擇RAID的原則是:在成本預算內,滿足數據存儲需求的前提下,選擇最,優的存儲廠商解決方案。因此,首先用戶需要對存儲需求作深入的調研和分析,並給出成本預算,然後對眾多存儲廠商的解決方案進行分析和對比,最,後選擇出一個綜合最,優的存儲方案。其中,存儲產品的擴展性和存儲廠家的售後服,\務需要重點考察,存儲需求(如容量、性能)可能會不斷升級,存儲產品發生故障後的維修和支持保障,這些都要未雨先繆。

回顧RAID發展歷史,從提出概念至今已有二十多年。在此期間,整個社會信息化水平不斷提高,數據呈現爆炸式增長趨勢,數據取代計算成為信息計算的中心。這促使人們對數據愈加重視,不斷追求海量存儲容量、高性能、高安全性、高可用性、可擴展性、可管理性等等。RAID技術在這樣強大的存儲需求推動下不斷發展進步,時至今日技術已經非常成熟,在各種數據存儲系統中得到了十分廣泛的應用。正是由於技術發展的成熟,RAID技術的未來發展已經不被廣泛看好,甚至預言在不久的將來會停止發展,稱之為「殭屍技術」,即雖然宣布死亡,但在很長一段時間內仍會繼續發揮巨大的價值。然而,當前的RAID技術仍然存在諸多不足,各種RAID模式都存在自身的缺陷,主要集中在讀寫性能、實現成本、恢復時間窗口、多磁碟損壞等方面。因此,RAID技術顯然還存在很大的提升空間,具有很大的發展潛力。近年來新出現的RAID模式以及學術研究顯示了其未來的發展趨勢,包括分布式校驗、多重校驗、混合RAID模式、水平和垂直條帶、基於固態內存RAID、網絡校驗等等。特別指出的是,多核CPU和GPU是當前的熱點技術,它們大幅提升了主機的可用計算資源,這可以解決RAID對計算資源的消耗問題,軟RAID很可能將重新成為熱點。另外,存儲硬體性能的提升、存儲虛擬化技術、重複數據刪除技術以及其他存儲技術都會極大地推動RAID技術的進一步創新和發展。

關鍵字: