存儲與分配

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

存儲器是計算機系統的重要資源之一,計算機系統的存儲器分為兩類:主存和輔助存儲器。空間分配是指對主存和輔助存儲器空間的分配。主存和外存空間分配很多相同之處:提高空間利用率;都有空間分配記錄表;提高存取速度。

基本介紹

  • 中文名:存儲與分配
  • 外文名:Storage and allocation
  • 領域:計算機
  • 存儲介質:磁碟和磁帶
  • 存儲方式:DNS、NAD、SAN
  • 存儲空間分配:主存儲器、外存儲器
簡介,存儲介質,三類存儲方式,DAS,NAS,SAN,三種存儲方式比較,主存空間分配方法,直接存儲分配方式,靜態存儲分配方式,動態存儲分配方式,外存空間分配方式,連續分配方式,連結分配,索引分配,

簡介

數據存儲對象包括數據流在加工過程中產生的臨時檔案或加工過程中需要查找的信息。數據以某種格式記錄在計算機內部或外部存儲介質上。數據存儲要命名,這種命名要反映信息特徵的組成含義。數據流反映了系統中流動的數據,表現出動態數據的特徵;數據存儲反映系統中靜止的數據,表現出靜態數據的特徵。
存儲器是計算機系統的重要組成部分。對於通用計算機而言,存儲層次至少應具有三級:最高層為 CPU 暫存器,中間為主存,最底層是輔存。空間分配是指對主存和輔存空間分配。主存空間分配是指根據一定規則和策略將主存空間分配給進程或程式;外存空間分配則是按照一定策略將將檔案存儲到外存中。

存儲介質

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

三類存儲方式

DAS

DAS(Direct Attached Storage)直接附加存儲方式與我們普通的PC存儲架構一樣,外部存儲設備都是直接掛接在伺服器內部匯流排上,數據存儲設備是整個伺服器結構的一部分。
DAS存儲方式主要適用以下環境:
1)小型網路
因為網路規模較小,數據存儲量小,且也不是很複雜,採用這種存儲方式對伺服器的影響不會很大。並且這種存儲方式也十分經濟,適合擁有小型網路的企業用戶。
2)地理位置分散的網路
雖然企業總體網路規模較大,但在地理分布上很分散,通過SAN或NAS在它們之間進行互聯非常困難,此時各分支機構的伺服器也可採用DAS存儲方式,這樣可以降低成本。
3)特殊套用伺服器
在一些特殊套用伺服器上,如微軟的集群伺服器或某些資料庫使用的原始分區,均要求存儲設備直接連線到套用伺服器。
4)提高DAS存儲性能
在伺服器與存儲的各種連線方式中,DAS曾被認為是一種低效率的結構,而且也不方便進行數據保護。直連存儲無法共享,因此經常出現的情況是某台伺服器的存儲空間不足,而其他一些伺服器卻有大量的存儲空間處於閒置狀態卻無法利用。如果存儲不能共享,也就談不上容量分配與使用需求之間的平衡。
DAS結構下的數據保護流程相對複雜,如果做網路備份,那么每台伺服器都必須單獨進行備份,而且所有的數據流都要通過網路傳輸。如果不做網路備份,那么就要為每台伺服器都配一套備份軟體和磁帶設備,所以說備份流程的複雜度會大大增加。
想要擁有高可用性的DAS存儲,就要首先能夠降低解決方案的成本,例如:LSI的12Gb/s SAS,在它有DAS直聯存儲,通過DAS能夠很好的為大型數據中心提供支持。對於大型的數據中心、雲計算、存儲和大數據,所有這一切都對DAS存儲性能提出了更高的要求,雲和企業數據中心數據的爆炸性增長也推動了市場對於可支持更高速數據訪問的高性能存儲接口的需求,因而LSI 12Gb/s SAS正好是能夠滿足這種性能增長的要求,它可以提供更高的IOPS和更高的吞吐能力,12Gb/s SAS提高了更高的寫入的性能,並且提高了RAID的整個綜合性能。
與直連存儲架構相比,共享式的存儲架構,比如SAN(storage-area network)或者NAS(network-attached storage)都可以較好的解決以上問題。於是乎我們看到DAS被淘汰的進程越來越快了。可是到2012年為止,DAS仍然是伺服器與存儲連線的一種常用的模式。事實上,DAS不但沒有被淘汰,近幾年似乎還有回潮的趨勢。[1]

NAS

NAS(Network Attached Storage)數據存儲方式全面改進了以前低效的DAS存儲方式。它採用獨立於伺服器,單獨為網路數據存儲而開發的一種檔案伺服器來連線所存儲設備,自形成一個網路。這樣數據存儲就不再是伺服器的附屬,而是作為獨立網路節點而存在於網路之中,可由所有的網路用戶共享。
NAS的優點:
1)真正的即插即用
NAS是獨立的存儲節點存在於網路之中,與用戶的作業系統平台無關,真正的即插即用。
2)存儲部署簡單
NAS不依賴通用的作業系統,而是採用一個面向用戶設計的,專門用於數據存儲的簡化作業系統,內置了與網路連線所需要的協定,因此使整個系統的管理和設定較為簡單。
3)存儲設備位置非常靈活
4)管理容易且成本低
NAS數據存儲方式是基於現有的企業Ethernet而設計的,按照TCP/IP協定進行通信,以檔案的I/O方式進行數據傳輸。
NAS的缺點:
(1)存儲性能較低 (2)可靠度不高

SAN

1991年,IBM公司在S/390伺服器中推出了ESCON(Enterprise System Connection)技術。它是基於光纖介質,最大傳輸速率達17MB/s的伺服器訪問存儲器的一種連線方式。在此基礎上,進一步推出了功能更強的ESCON Director(FC SWitch),構建了一套最原始的SAN系統。
SAN(Storage Area Network)存儲方式存儲方式創造了存儲的網路化。存儲網路化順應了計算機伺服器體系結構網路化的趨勢。SAN的支撐技術是光纖通道(FC Fiber Channel)技術。它是ANSI為網路和通道I/O接口建立的一個標準集成。FC技術支持HIPPI、IPI、SCSI、IP、ATM等多種高級協定,其最大特性是將網路和設備的通信協定與傳輸物理介質隔離開,這樣多種協定可在同一個物理連線上同時傳送。
SAN的硬體基礎設施是光纖通道,用光纖通道構建的SAN由以下三個部分組成:
1)存儲和備份設備:包括磁帶、磁碟和光碟庫等。
2)光纖通道網路連線部件:包括主機匯流排適配卡驅動程式、光纜、集線器交換機、光纖通道和SCSI間的橋接器
3)套用和管理軟體:包括備份軟體、存儲資源管理軟體和存儲設備管理軟體。
SAN的優勢:
1)網路部署容易;
2)高速存儲性能。因為SAN採用了光纖通道技術,所以它具有更高的存儲頻寬,存儲性能明顯提高。SAn的光纖通道使用全雙工串列通信原理傳輸數據,傳輸速率高達1062.5Mb/s。
3)良好的擴展能力。由於SAN採用了網路結構,擴展能力更強。光纖接口提供了10公里的連線距離,這使得實現物理上分離,不在本地機房的存儲變得非常容易。

三種存儲方式比較

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

主存空間分配方法

直接存儲分配方式

直接存儲分配方式要求存儲器的可用空間已經確定,且確保各程式所用的地址之間互不重疊。缺點是用戶感到不方便,存儲器的利用率也不高。

靜態存儲分配方式

靜態存儲分配方式中。在程式被裝入、連線時,才確定它們在主存中的相應位置(物理地址)。系統必須分配其要求的全部存儲空間.否則不能裝入該用戶程式。程式將占據著分配給它的存儲空間直到程式結束。該存儲空間的位置固定不變,也不能動態地申請存儲空間。這種方式無法實現用戶對存儲空間的動態擴展,而且也不能有效地實現存儲器資源的共享。

動態存儲分配方式

動態存儲分配方式是不一次性將整個程式裝入到主存中。可根據執行的需要,部分地動態裝入。同時,在裝入主存的程式不執行時,系統可以收回該程式所占據的主存空間。再者,用戶程式裝入主存後的位置,在運行期間可根據系統需要而發生改變。此外,用戶程式在運行期間也可動態地申請存儲空間以滿足程式需求。由此可見,動態存儲分配方式在存儲空間的分配和釋放上,表現得十分靈活,現代的作業系統常採用這種存儲方式。

外存空間分配方式

連續分配方式

連續分配(Continuous Allocation)要求為每一個檔案分配一組相鄰接的盤塊。 一組盤塊的地址定義了磁碟上的一段線性地址。例如,第一個盤塊的地址為 b,則第二個盤塊的地址為b+1,第三個盤塊的地址為 b+2……。通常,它們都位於一條磁軌上,在進行讀/寫時,不必移動磁頭,僅當訪問到一條磁軌的最後一個盤塊後,才需要移到下一條磁軌,於是又去連續地讀/寫多個盤塊。在採用連續分配方式時,可把邏輯檔案中的記錄順序地存儲到鄰接的各物理盤塊中,這樣所形成的檔案結構稱為順序檔案結構,此時的物理檔案稱為順序檔案。這種分配方式保證了邏輯檔案中的記錄順序與存儲器中檔案占用盤塊的順序的一致性。為使系統能找到檔案存放的地址,應在目錄項的“檔案物理地址”欄位中,記錄該檔案第一個記錄所在的盤塊號和檔案長度(以盤塊數進行計量)。
如同記憶體的動態分區分配一樣,隨著檔案建立時空間的分配和檔案刪除時空間的回收,將使磁碟空間被分割成許多小塊,這些較小的連續區已難於用來存儲檔案,此即外存的碎片。同樣,我們也可以利用緊湊的方法,將盤上所有的檔案緊靠在一起,把所有的碎片拼接成一大片連續的存儲空間。例如,可以運行一個再裝配例程(repack routine),由它將磁碟A 上的大量檔案拷貝到一張軟碟 B 或幾張軟碟(C,D,…)上,並釋放原來的 A 盤,使之成為一個空閒盤。然後再將軟碟 B(C,D,…)上的檔案拷回 A 盤上。這種方法能將含有多個檔案的盤上的所有空閒盤塊都集中在一起,從而消除了外部碎片。但為了將外存上的空閒空間進行一次緊湊,所花費的時間遠比將記憶體緊湊一次所花費的時間多得多。

連結分配

如同記憶體管理一樣, 連續分配所存在的問題就在於: 必須為一個檔案分配連續的磁碟空間。如果在將一個邏輯檔案存儲到外存上時,並不要求為整個檔案分配一塊連續的空間,而是可以將檔案裝到多個離散的盤塊中,這樣也就可以消除上述缺點。在採用連結分配(Chained Allocation)方式時,可通過在每個盤塊上的連結指針,將同屬於一個檔案的多個離散的盤塊連結成一個鍊表,把這樣形成的物理檔案稱為連結檔案。
由於連結分配是採取離散分配方式,消除了外部碎片,故而顯著地提高了外存空間的利用率;又因為是根據檔案的當前需要,為它分配必需的盤塊,當檔案動態增長時,可動態地再為它分配盤塊,故而無需事先知道檔案的大小。此外,對檔案的增、刪、改也十分方便。連結方式又可分為隱式連結和顯式連結兩種形式。

索引分配

單級索引分配
連結分配方式雖然解決了連續分配方式所存在的問題,但又出現了下述另外兩個問題:
(1) 不能支持高效的直接存取。 要對一個較大的檔案進行直接存取, 須首先在 FAT 中順序地查找許多盤塊號。
(2) FAT 需占用較大的記憶體空間。由於一個檔案所占用盤塊的盤塊號是隨機地分布在FAT 中的, 因而只有將整個 FAT 調入記憶體, 才能保證在 FAT 中找到一個檔案的所有盤塊號。當磁碟容量較大時,FAT 可能要占用數兆位元組以上的記憶體空間,這是令人難以接受的。
事實上,在打開某個檔案時,只需把該檔案占用的盤塊的編號調入記憶體即可,完全沒有必要將整個 FAT 調入記憶體。為此,應將每個檔案所對應的盤塊號集中地放在一起。索引分配方法就是基於這種想法所形成的一種分配方法。它為每個檔案分配一個索引塊(表),再把分配給該檔案的所有盤塊號都記錄在該索引塊中,因而該索引塊就是一個含有許多盤塊號的數組。在建立一個檔案時,只需在為之建立的目錄項中填上指向該索引塊的指針。圖3示出了磁碟空間的索引分配圖。
索引分配方式支持直接訪問。當要讀檔案的第 i 個盤塊時,可以方便地直接從索引塊中找到第 i 個盤塊的盤塊號;此外,索引分配方式也不會產生外部碎片。當檔案較大時,索引分配方式無疑要優於連結分配方式。
索引分配方式的主要問題是:可能要花費較多的外存空間。每當建立一個檔案時,便須為之分配一個索引塊,將分配給該檔案的所有盤塊號記錄於其中。但在一般情況下,總是中、小型檔案居多,甚至有不少檔案只需 1~2 個盤塊,這時如果採用連結分配方式,只需設定 1~2 個指針。如果採用索引分配方式,則同樣仍須為之分配一索引塊。通常是採用一個專門的盤塊作為索引塊,其中可存放成百個、甚至上千個盤塊號。可見,對於小檔案採用索引分配方式時,其索引塊的利用率將是極低的。
多級索引分配
當 OS 為一個大檔案分配磁碟空間時, 如果所分配出去的盤塊的盤塊號已經裝滿一個索引塊時, OS 便為該檔案分配另一個索引塊, 用於將以後繼續為之分配的盤塊號記錄於其中。依此類推,再通過鏈指針將各索引塊按序連結起來。顯然,當檔案太大,其索引塊太多時,這種方法是低效的。此時,應為這些索引塊再建立一級索引,稱為第一級索引,即系統再分配一個索引塊,作為第一級索引的索引塊,將第一塊、第二塊……等索引塊的盤塊號填入到此索引表中,這樣便形成了兩級索引分配方式。如果檔案非常大時,還可用三級、四級索引分配方式。
混合索引分配方式
所謂混合索引分配方式,是指將多種索引分配方式相結合而形成的一種分配方式。例如,系統既採用了直接地址,又採用了一級索引分配方式,或兩級索引分配方式,甚至還採用了三級索引分配方式。 這種混合索引分配方式已在 UNIX 系統中採用。 在 UNIX SystemⅤ的索引結點中, 共設定了13個地址項, 即iaddr(0)~iaddr(12), 如圖所示。 在BSD UNIX的索引結點中,共設定了 13 個地址項,它們都把所有的地址項分成兩類,即直接地址和間接地址。

相關詞條

熱門詞條

聯絡我們