亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

塊存儲、文件存儲和對象存儲對比學習

2023-04-14 06:40:29
384
0

存儲的分類

外掛存儲根據連接的方式分為:直連式存儲(Direct-Attached Storage,簡稱DAS)和網絡化存儲(Fabric-Attached Storage,簡稱FAS);網絡化存儲根據傳輸協議又分為:網絡接入存儲(Network-Attached Storage,簡稱NAS)和存儲區域網絡(Storage Area Network,簡稱SAN)。

2、塊級和文件級

塊級概念:

 塊級是指以扇區為基礎,一個或我連續的扇區組成一個塊,也叫物理塊。它是在文件系統與塊設備(例如:磁盤驅動器)之間。

文件級概念:

 文件級是指文件系統,單個文件可能由于一個或多個邏輯塊組成,且邏輯塊之間是不連續分布。邏輯塊大于或等于物理塊整數倍,

物理塊與文件系統之間的關系圖:

 映射關系:扇區→物理塊→邏輯塊→文件系統

塊級備份:

 

塊備份是指物理塊復制,效率高,實時性強,備份時間短,且增量備份時,只備份修改過的物理塊。

文件級備份:

 文件級備份是指在指定某些文件進行備份時,首先會查找每個文件邏輯塊,其次物理塊,由于邏輯塊是分散在物理塊上,而物理塊也是分散在不同扇區上。需要一層一層往下查找,最后才完成整個文件復制。文件級備份時比較費時間,效率不高,實時性不強,備份時間長,且增量備份時,單文件某一小部份修改,不會只備份修改部份,而整個文件都備份。

 

3、三種存儲架構對比

 DAS存儲(直連式存儲Direct-Attached Storage

 DAS存儲是指存儲系統被直連到應用的服務器中。采用塊級的存儲方法,數據傳輸協議為SCSI/FC/ATA。

DAS存儲依賴服務器主機操作系統進行數據的IO讀寫和存儲維護管理,數據備份和恢復要求占用服務器主機資源(包括CPU、系統IO等),連式存儲與服務器主機之間的連接通道通常采用SCSI連接,服務器主機SCSI ID資源有限,能夠建立的SCSI通道連接有限。

NAS存儲(網絡接入存儲Network-Attached Storage

 NAS存儲是存儲設備通過標準的網絡拓撲結構(例如以太網)添加到一群計算機上。NAS是文件級的存儲方法,數據傳輸協議為TCP/IP。

NAS存儲設備支持多計算機平臺,用戶通過網絡支持協議可進入相同的文檔,因而NAS設備無需改造即可用于混合Unix/Windows NT局域網內,同時NAS的應用非常靈活。NAS存儲將存儲事務由并行SCSI連接轉移到了網絡上,在備份過程中消耗帶寬,LAN除了處理正常的最終用戶傳輸流外,還處理包括備份操作的存儲磁盤請求。

 

SAN存儲(存儲區域網絡Storage Area Network)  

 SAN存儲是通過光纖通道交換機連接存儲陣列和服務器主機,最后成為一個專用的存儲網絡。SAN存儲是塊級的存儲方法,數據傳輸協議為FC。

SAN存儲不受基于SCSI存儲結構的布局限制,SAN的結構允許任何服務器連接到任何存儲陣列,這樣不管數據置放在哪里,服務器都可直接存取所需的數據,因為采用了光纖接口,SAN還具有更高的帶寬。SAN解決方案通常會采取以下兩種形式:光纖信道以及iSCSI或者基于IP的SAN,也就是FC SAN和IP SAN。SAN解決方案從基本功能剝離出存儲功能,所以運行備份操作就無需考慮它們對網絡總體性能的影響。SAN存儲方案也使得管理及集中控制實現簡化,特別是對于全部存儲設備都集群在一起的時候。最后一點,光纖接口提供了10公里的連接長度,這使得實現物理上分離的、不在機房的存儲變得非常容易。

4、塊存儲

以下列出的兩種存儲方式都是塊存儲類型:

1) DAS(Direct AttachSTorage):是直接連接于主機服務器的一種儲存方式,每一臺主機服務器有獨立的儲存設備,每臺主機服務器的儲存設備無法互通,需要跨主機存取資料時,必須經過相對復雜的設定,若主機服務器分屬不同的操作系統,要存取彼此的資料,更是復雜,有些系統甚至不能存取。通常用在單一網絡環境下且數據交換量不大,性能要求不高的環境下,可以說是一種應用較為早的技術實現。

2)SAN(Storage Area Network):是一種用高速(光纖)網絡聯接專業主機服務器的一種儲存方式,此系統會位于主機群的后端,它使用高速I/O 聯結方式, 如 SCSI, ESCON及 Fibre- Channels。一般而言,SAN應用在對網絡速度要求高、對數據的可靠性和安全性要求高、對數據共享的性能要求高的應用環境中,特點是代價高,性能好。例如電信、銀行的大數據量關鍵應用。它采用SCSI 塊I/O的命令集,通過在磁盤或FC(Fiber Channel)級的數據訪問提供高性能的隨機I/O和數據吞吐率,它具有高帶寬、低延遲的優勢,在高性能計算中占有一席之地,但是由于SAN系統的價格較高,且可擴展性較差,已不能滿足成千上萬個CPU規模的系統。

5、文件存儲

通常,NAS產品都是文件級存儲。NAS(Network Attached Storage):是一套網絡儲存設備,通常是直接連在網絡上并提供資料存取服務,一套 NAS 儲存設備就如同一個提供數據文件服務的系統,特點是性價比高。例如教育、政府、企業等數據存儲應用。

 

它采用NFS或CIFS命令集訪問數據,以文件為傳輸協議,通過TCP/IP實現網絡化存儲,可擴展性好、價格便宜、用戶易管理,如目前在集群計算中應用較多的NFS文件系統,但由于NAS的協議開銷高、帶寬低、延遲大,不利于在高性能集群中應用。

6、對象存儲

總體上來講,對象存儲同兼具SAN高速直接訪問磁盤特點及NAS的分布式共享特點。

核心是將數據通路(數據讀或寫)和控制通路(元數據)分離,并且基于對象存儲設備(Object-based Storage Device,OSD)構建存儲系統,每個對象存儲設備具有一定的智能,能夠自動管理其上的數據分布。

對象存儲結構組成部分(對象、對象存儲設備、元數據服務器、對象存儲系統的客戶端):

5.1、對象

對象是系統中數據存儲的基本單位,一個對象實際上就是文件的數據和一組屬性信息(Meta Data)的組合,這些屬性信息可以定義基于文件的RAID參數、數據分布和服務質量等,而傳統的存儲系統中用文件或塊作為基本的存儲單位,在塊存儲系統中還需要始終追蹤系統中每個塊的屬性,對象通過與存儲系統通信維護自己的屬性。在存儲設備中,所有對象都有一個對象標識,通過對象標識OSD命令訪問該對象。通常有多種類型的對象,存儲設備上的根對象標識存儲設備和該設備的各種屬性,組對象是存儲設備上共享資源管理策略的對象集合等。

5.2、對象存儲設備

對象存儲設備具有一定的智能,它有自己的CPU、內存、網絡和磁盤系統,OSD同塊設備的不同不在于存儲介質,而在于兩者提供的訪問接口。OSD的主要功能包括數據存儲和安全訪問。目前國際上通常采用刀片式結構實現對象存儲設備。OSD提供三個主要功能:

(1)數據存儲。OSD管理對象數據,并將它們放置在標準的磁盤系統上,OSD不提供塊接口訪問方式,Client請求數據時用對象ID、偏移進行數據讀寫。

(2)智能分布。OSD用其自身的CPU和內存優化數據分布,并支持數據的預取。由于OSD可以智能地支持對象的預取,從而可以優化磁盤的性能。

(3)每個對象元數據的管理。OSD管理存儲在其上對象的元數據,該元數據與傳統的inode元數據相似,通常包括對象的數據塊和對象的長度。而在傳統的NAS系統中,這些元數據是由文件服務器維護的,對象存儲架構將系統中主要的元數據管理工作由OSD來完成,降低了Client的開銷。

5.3、元數據服務器(Metadata Server,MDS)

MDS控制Client與OSD對象的交互,主要提供以下幾個功能:

(1)對象存儲訪問。

MDS構造、管理描述每個文件分布的視圖,允許Client直接訪問對象。MDS為Client提供訪問該文件所含對象的能力,OSD在接收到每個請求時將先驗證該能力,然后才可以訪問。

(2)文件和目錄訪問管理。

MDS在存儲系統上構建一個文件結構,包括限額控制、目錄和文件的創建和刪除、訪問控制等。

(3)Client Cache一致性。

為了提高Client性能,在對象存儲系統設計時通常支持Client方的Cache。由于引入Client方的Cache,帶來了Cache一致性問題,MDS支持基于Client的文件Cache,當Cache的文件發生改變時,將通知Client刷新Cache,從而防止Cache不一致引發的問題。

5.4、對象存儲系統的客戶端Client

為了有效支持Client支持訪問OSD上的對象,需要在計算節點實現對象存儲系統的Client,通常提供POSIX文件系統接口,允許應用程序像執行標準的文件系統操作一樣。

為什么需要這三類存儲,是因為這三類存儲適用的應用場景有不一樣的地方。

塊存儲:要求高性能的應用,如數據庫需要高IO,用塊存儲比較合適;

文件存儲:需局域網共享的應用,如文件共享,視頻處理,動畫渲染/高性能計算;

對象存儲:互聯網領域的存儲,如點播/視頻監控的視頻存儲、圖片存儲、網盤存儲、靜態網頁存儲等,以及異地備份存儲/歸檔等。

 

詳細介紹

【塊存儲】

典型設備:磁盤陣列,硬盤

塊存儲主要是將裸磁盤空間整個映射給主機使用的,就是說例如磁盤陣列里面有5塊硬盤(為方便說明,假設每個硬盤1G),然后可以通過劃邏輯盤、做Raid、或者LVM(邏輯卷)等種種方式邏輯劃分出N個邏輯的硬盤。(假設劃分完的邏輯盤也是5個,每個也是1G,但是這5個1G的邏輯盤已經于原來的5個物理硬盤意義完全不同了。例如第一個邏輯硬盤A里面,可能第一個200M是來自物理硬盤1,第二個200M是來自物理硬盤2,所以邏輯硬盤A是由多個物理硬盤邏輯虛構出來的硬盤。)

接著塊存儲會采用映射的方式將這幾個邏輯盤映射給主機,主機上面的操作系統會識別到有5塊硬盤,但是操作系統是區分不出到底是邏輯還是物理的,它一概就認為只是5塊裸的物理硬盤而已,跟直接拿一塊物理硬盤掛載到操作系統沒有區別的,至少操作系統感知上沒有區別。

此種方式下,操作系統還需要對掛載的裸硬盤進行分區、格式化后,才能使用,與平常主機內置硬盤的方式完全無異。

優點:

1、 這種方式的好處當然是因為通過了Raid與LVM等手段,對數據提供了保護。

2、 另外也可以將多塊廉價的硬盤組合起來,成為一個大容量的邏輯盤對外提供服務,提高了容量。

3、 寫入數據的時候,由于是多塊磁盤組合出來的邏輯盤,所以幾塊磁盤可以并行寫入的,提升了讀寫效率。

4、 很多時候塊存儲采用SAN架構組網,傳輸速率以及封裝協議的原因,使得傳輸速度與讀寫速率得到提升。

缺點:

1、采用SAN架構組網時,需要額外為主機購買光纖通道卡,還要買光纖交換機,造價成本高。

2、主機之間的數據無法共享,在服務器不做集群的情況下,塊存儲裸盤映射給主機,再格式化使用后,對于主機來說相當于本地盤,那么主機A的本地盤根本不能給主機B去使用,無法共享數據。

3、不利于不同操作系統主機間的數據共享:另外一個原因是因為操作系統使用不同的文件系統,格式化完之后,不同文件系統間的數據是共享不了的。例如一臺裝了WIN7/XP,文件系統是FAT32/NTFS,而Linux是EXT4,EXT4是無法識別NTFS的文件系統的。就像一只NTFS格式的U盤,插進Linux的筆記本,根本無法識別出來。所以不利于文件共享。

【文件存儲】

典型設備:FTP、NFS服務器

為了克服上述文件無法共享的問題,所以有了文件存儲。

文件存儲也有軟硬一體化的設備,但是其實普通拿一臺服務器/筆記本,只要裝上合適的操作系統與軟件,就可以架設FTP與NFS服務了,架上該類服務之后的服務器,就是文件存儲的一種了。

主機A可以直接對文件存儲進行文件的上傳下載,與塊存儲不同,主機A是不需要再對文件存儲進行格式化的,因為文件管理功能已經由文件存儲自己搞定了。

優點:

1、造價交低:隨便一臺機器就可以了,另外普通以太網就可以,根本不需要專用的SAN網絡,所以造價低。

2、方便文件共享:例如主機A(WIN7,NTFS文件系統),主機B(Linux,EXT4文件系統),想互拷一部電影,本來不行。加了個主機C(NFS服務器),然后可以先A拷到C,再C拷到B就OK了。(例子比較膚淺,請見諒……)

缺點:

讀寫速率低,傳輸速率慢:以太網,上傳下載速度較慢,另外所有讀寫都要1臺服務器里面的硬盤來承擔,相比起磁盤陣列動不動就幾十上百塊硬盤同時讀寫,速率慢了許多。

【對象存儲】

典型設備:內置大容量硬盤的分布式服務器

對象存儲最常用的方案,就是多臺服務器內置大容量硬盤,再裝上對象存儲軟件,然后再額外搞幾臺服務作為管理節點,安裝上對象存儲管理軟件。管理節點可以管理其他服務器對外提供讀寫訪問功能。

之所以出現了對象存儲這種東西,是為了克服塊存儲與文件存儲各自的缺點,發揚它倆各自的優點。簡單來說塊存儲讀寫快,不利于共享,文件存儲讀寫慢,利于共享。能否弄一個讀寫快,利 于共享的出來呢。于是就有了對象存儲。

首先,一個文件包含了了屬性(術語叫metadata,元數據,例如該文件的大小、修改時間、存儲路徑等)以及內容(以下簡稱數據)。

以往像FAT32這種文件系統,是直接將一份文件的數據與metadata一起存儲的,存儲過程先將文件按照文件系統的最小塊大小來打散(如4M的文件,假設文件系統要求一個塊4K,那么就將文件打散成為1000個小塊),再寫進硬盤里面,過程中沒有區分數據/metadata的。而每個塊最后會告知你下一個要讀取的塊的地址,然后一直這樣順序地按圖索驥,最后完成整份文件的所有塊的讀取。

這種情況下讀寫速率很慢,因為就算你有100個機械手臂在讀寫,但是由于你只有讀取到第一個塊,才能知道下一個塊在哪里,其實相當于只能有1個機械手臂在實際工作。

而對象存儲則將元數據獨立了出來,控制節點叫元數據服務器(服務器+對象存儲管理軟件),里面主要負責存儲對象的屬性(主要是對象的數據被打散存放到了那幾臺分布式服務器中的信息),而其他負責存儲數據的分布式服務器叫做OSD,主要負責存儲文件的數據部分。當用戶訪問對象,會先訪問元數據服務器,元數據服務器只負責反饋對象存儲在哪些OSD,假設反饋文件A存儲在B、C、D三臺OSD,那么用戶就會再次直接訪問3臺OSD服務器去讀取數據。

這時候由于是3臺OSD同時對外傳輸數據,所以傳輸的速度就加快了。當OSD服務器數量越多,這種讀寫速度的提升就越大,通過此種方式,實現了讀寫快的目的。

另一方面,對象存儲軟件是有專門的文件系統的,所以OSD對外又相當于文件服務器,那么就不存在文件共享方面的困難了,也解決了文件共享方面的問題。

所以對象存儲的出現,很好地結合了塊存儲與文件存儲的優點。

最后為什么對象存儲兼具塊存儲與文件存儲的好處,還要使用塊存儲或文件存儲呢?

1、有一類應用是需要存儲直接裸盤映射的,例如數據庫。因為數據庫需要存儲裸盤映射給自己后,再根據自己的數據庫文件系統來對裸盤進行格式化的,所以是不能夠采用其他已經被格式化為某種文件系統的存儲的。此類應用更適合使用塊存儲。

2、對象存儲的成本比起普通的文件存儲還是較高,需要購買專門的對象存儲軟件以及大容量硬盤。如果對數據量要求不是海量,只是為了做文件共享的時候,直接用文件存儲的形式好了,性價比高。

0條評論
作者已關閉評論
莫扎勒拉
3文章數
0粉絲數
莫扎勒拉
3 文章 | 0 粉絲
莫扎勒拉
3文章數
0粉絲數
莫扎勒拉
3 文章 | 0 粉絲
原創

塊存儲、文件存儲和對象存儲對比學習

2023-04-14 06:40:29
384
0

存儲的分類

外掛存儲根據連接的方式分為:直連式存儲(Direct-Attached Storage,簡稱DAS)和網絡化存儲(Fabric-Attached Storage,簡稱FAS);網絡化存儲根據傳輸協議又分為:網絡接入存儲(Network-Attached Storage,簡稱NAS)和存儲區域網絡(Storage Area Network,簡稱SAN)。

2、塊級和文件級

塊級概念:

 塊級是指以扇區為基礎,一個或我連續的扇區組成一個塊,也叫物理塊。它是在文件系統與塊設備(例如:磁盤驅動器)之間。

文件級概念:

 文件級是指文件系統,單個文件可能由于一個或多個邏輯塊組成,且邏輯塊之間是不連續分布。邏輯塊大于或等于物理塊整數倍,

物理塊與文件系統之間的關系圖:

 映射關系:扇區→物理塊→邏輯塊→文件系統

塊級備份:

 

塊備份是指物理塊復制,效率高,實時性強,備份時間短,且增量備份時,只備份修改過的物理塊。

文件級備份:

 文件級備份是指在指定某些文件進行備份時,首先會查找每個文件邏輯塊,其次物理塊,由于邏輯塊是分散在物理塊上,而物理塊也是分散在不同扇區上。需要一層一層往下查找,最后才完成整個文件復制。文件級備份時比較費時間,效率不高,實時性不強,備份時間長,且增量備份時,單文件某一小部份修改,不會只備份修改部份,而整個文件都備份。

 

3、三種存儲架構對比

 DAS存儲(直連式存儲Direct-Attached Storage

 DAS存儲是指存儲系統被直連到應用的服務器中。采用塊級的存儲方法,數據傳輸協議為SCSI/FC/ATA。

DAS存儲依賴服務器主機操作系統進行數據的IO讀寫和存儲維護管理,數據備份和恢復要求占用服務器主機資源(包括CPU、系統IO等),連式存儲與服務器主機之間的連接通道通常采用SCSI連接,服務器主機SCSI ID資源有限,能夠建立的SCSI通道連接有限。

NAS存儲(網絡接入存儲Network-Attached Storage

 NAS存儲是存儲設備通過標準的網絡拓撲結構(例如以太網)添加到一群計算機上。NAS是文件級的存儲方法,數據傳輸協議為TCP/IP。

NAS存儲設備支持多計算機平臺,用戶通過網絡支持協議可進入相同的文檔,因而NAS設備無需改造即可用于混合Unix/Windows NT局域網內,同時NAS的應用非常靈活。NAS存儲將存儲事務由并行SCSI連接轉移到了網絡上,在備份過程中消耗帶寬,LAN除了處理正常的最終用戶傳輸流外,還處理包括備份操作的存儲磁盤請求。

 

SAN存儲(存儲區域網絡Storage Area Network)  

 SAN存儲是通過光纖通道交換機連接存儲陣列和服務器主機,最后成為一個專用的存儲網絡。SAN存儲是塊級的存儲方法,數據傳輸協議為FC。

SAN存儲不受基于SCSI存儲結構的布局限制,SAN的結構允許任何服務器連接到任何存儲陣列,這樣不管數據置放在哪里,服務器都可直接存取所需的數據,因為采用了光纖接口,SAN還具有更高的帶寬。SAN解決方案通常會采取以下兩種形式:光纖信道以及iSCSI或者基于IP的SAN,也就是FC SAN和IP SAN。SAN解決方案從基本功能剝離出存儲功能,所以運行備份操作就無需考慮它們對網絡總體性能的影響。SAN存儲方案也使得管理及集中控制實現簡化,特別是對于全部存儲設備都集群在一起的時候。最后一點,光纖接口提供了10公里的連接長度,這使得實現物理上分離的、不在機房的存儲變得非常容易。

4、塊存儲

以下列出的兩種存儲方式都是塊存儲類型:

1) DAS(Direct AttachSTorage):是直接連接于主機服務器的一種儲存方式,每一臺主機服務器有獨立的儲存設備,每臺主機服務器的儲存設備無法互通,需要跨主機存取資料時,必須經過相對復雜的設定,若主機服務器分屬不同的操作系統,要存取彼此的資料,更是復雜,有些系統甚至不能存取。通常用在單一網絡環境下且數據交換量不大,性能要求不高的環境下,可以說是一種應用較為早的技術實現。

2)SAN(Storage Area Network):是一種用高速(光纖)網絡聯接專業主機服務器的一種儲存方式,此系統會位于主機群的后端,它使用高速I/O 聯結方式, 如 SCSI, ESCON及 Fibre- Channels。一般而言,SAN應用在對網絡速度要求高、對數據的可靠性和安全性要求高、對數據共享的性能要求高的應用環境中,特點是代價高,性能好。例如電信、銀行的大數據量關鍵應用。它采用SCSI 塊I/O的命令集,通過在磁盤或FC(Fiber Channel)級的數據訪問提供高性能的隨機I/O和數據吞吐率,它具有高帶寬、低延遲的優勢,在高性能計算中占有一席之地,但是由于SAN系統的價格較高,且可擴展性較差,已不能滿足成千上萬個CPU規模的系統。

5、文件存儲

通常,NAS產品都是文件級存儲。NAS(Network Attached Storage):是一套網絡儲存設備,通常是直接連在網絡上并提供資料存取服務,一套 NAS 儲存設備就如同一個提供數據文件服務的系統,特點是性價比高。例如教育、政府、企業等數據存儲應用。

 

它采用NFS或CIFS命令集訪問數據,以文件為傳輸協議,通過TCP/IP實現網絡化存儲,可擴展性好、價格便宜、用戶易管理,如目前在集群計算中應用較多的NFS文件系統,但由于NAS的協議開銷高、帶寬低、延遲大,不利于在高性能集群中應用。

6、對象存儲

總體上來講,對象存儲同兼具SAN高速直接訪問磁盤特點及NAS的分布式共享特點。

核心是將數據通路(數據讀或寫)和控制通路(元數據)分離,并且基于對象存儲設備(Object-based Storage Device,OSD)構建存儲系統,每個對象存儲設備具有一定的智能,能夠自動管理其上的數據分布。

對象存儲結構組成部分(對象、對象存儲設備、元數據服務器、對象存儲系統的客戶端):

5.1、對象

對象是系統中數據存儲的基本單位,一個對象實際上就是文件的數據和一組屬性信息(Meta Data)的組合,這些屬性信息可以定義基于文件的RAID參數、數據分布和服務質量等,而傳統的存儲系統中用文件或塊作為基本的存儲單位,在塊存儲系統中還需要始終追蹤系統中每個塊的屬性,對象通過與存儲系統通信維護自己的屬性。在存儲設備中,所有對象都有一個對象標識,通過對象標識OSD命令訪問該對象。通常有多種類型的對象,存儲設備上的根對象標識存儲設備和該設備的各種屬性,組對象是存儲設備上共享資源管理策略的對象集合等。

5.2、對象存儲設備

對象存儲設備具有一定的智能,它有自己的CPU、內存、網絡和磁盤系統,OSD同塊設備的不同不在于存儲介質,而在于兩者提供的訪問接口。OSD的主要功能包括數據存儲和安全訪問。目前國際上通常采用刀片式結構實現對象存儲設備。OSD提供三個主要功能:

(1)數據存儲。OSD管理對象數據,并將它們放置在標準的磁盤系統上,OSD不提供塊接口訪問方式,Client請求數據時用對象ID、偏移進行數據讀寫。

(2)智能分布。OSD用其自身的CPU和內存優化數據分布,并支持數據的預取。由于OSD可以智能地支持對象的預取,從而可以優化磁盤的性能。

(3)每個對象元數據的管理。OSD管理存儲在其上對象的元數據,該元數據與傳統的inode元數據相似,通常包括對象的數據塊和對象的長度。而在傳統的NAS系統中,這些元數據是由文件服務器維護的,對象存儲架構將系統中主要的元數據管理工作由OSD來完成,降低了Client的開銷。

5.3、元數據服務器(Metadata Server,MDS)

MDS控制Client與OSD對象的交互,主要提供以下幾個功能:

(1)對象存儲訪問。

MDS構造、管理描述每個文件分布的視圖,允許Client直接訪問對象。MDS為Client提供訪問該文件所含對象的能力,OSD在接收到每個請求時將先驗證該能力,然后才可以訪問。

(2)文件和目錄訪問管理。

MDS在存儲系統上構建一個文件結構,包括限額控制、目錄和文件的創建和刪除、訪問控制等。

(3)Client Cache一致性。

為了提高Client性能,在對象存儲系統設計時通常支持Client方的Cache。由于引入Client方的Cache,帶來了Cache一致性問題,MDS支持基于Client的文件Cache,當Cache的文件發生改變時,將通知Client刷新Cache,從而防止Cache不一致引發的問題。

5.4、對象存儲系統的客戶端Client

為了有效支持Client支持訪問OSD上的對象,需要在計算節點實現對象存儲系統的Client,通常提供POSIX文件系統接口,允許應用程序像執行標準的文件系統操作一樣。

為什么需要這三類存儲,是因為這三類存儲適用的應用場景有不一樣的地方。

塊存儲:要求高性能的應用,如數據庫需要高IO,用塊存儲比較合適;

文件存儲:需局域網共享的應用,如文件共享,視頻處理,動畫渲染/高性能計算;

對象存儲:互聯網領域的存儲,如點播/視頻監控的視頻存儲、圖片存儲、網盤存儲、靜態網頁存儲等,以及異地備份存儲/歸檔等。

 

詳細介紹

【塊存儲】

典型設備:磁盤陣列,硬盤

塊存儲主要是將裸磁盤空間整個映射給主機使用的,就是說例如磁盤陣列里面有5塊硬盤(為方便說明,假設每個硬盤1G),然后可以通過劃邏輯盤、做Raid、或者LVM(邏輯卷)等種種方式邏輯劃分出N個邏輯的硬盤。(假設劃分完的邏輯盤也是5個,每個也是1G,但是這5個1G的邏輯盤已經于原來的5個物理硬盤意義完全不同了。例如第一個邏輯硬盤A里面,可能第一個200M是來自物理硬盤1,第二個200M是來自物理硬盤2,所以邏輯硬盤A是由多個物理硬盤邏輯虛構出來的硬盤。)

接著塊存儲會采用映射的方式將這幾個邏輯盤映射給主機,主機上面的操作系統會識別到有5塊硬盤,但是操作系統是區分不出到底是邏輯還是物理的,它一概就認為只是5塊裸的物理硬盤而已,跟直接拿一塊物理硬盤掛載到操作系統沒有區別的,至少操作系統感知上沒有區別。

此種方式下,操作系統還需要對掛載的裸硬盤進行分區、格式化后,才能使用,與平常主機內置硬盤的方式完全無異。

優點:

1、 這種方式的好處當然是因為通過了Raid與LVM等手段,對數據提供了保護。

2、 另外也可以將多塊廉價的硬盤組合起來,成為一個大容量的邏輯盤對外提供服務,提高了容量。

3、 寫入數據的時候,由于是多塊磁盤組合出來的邏輯盤,所以幾塊磁盤可以并行寫入的,提升了讀寫效率。

4、 很多時候塊存儲采用SAN架構組網,傳輸速率以及封裝協議的原因,使得傳輸速度與讀寫速率得到提升。

缺點:

1、采用SAN架構組網時,需要額外為主機購買光纖通道卡,還要買光纖交換機,造價成本高。

2、主機之間的數據無法共享,在服務器不做集群的情況下,塊存儲裸盤映射給主機,再格式化使用后,對于主機來說相當于本地盤,那么主機A的本地盤根本不能給主機B去使用,無法共享數據。

3、不利于不同操作系統主機間的數據共享:另外一個原因是因為操作系統使用不同的文件系統,格式化完之后,不同文件系統間的數據是共享不了的。例如一臺裝了WIN7/XP,文件系統是FAT32/NTFS,而Linux是EXT4,EXT4是無法識別NTFS的文件系統的。就像一只NTFS格式的U盤,插進Linux的筆記本,根本無法識別出來。所以不利于文件共享。

【文件存儲】

典型設備:FTP、NFS服務器

為了克服上述文件無法共享的問題,所以有了文件存儲。

文件存儲也有軟硬一體化的設備,但是其實普通拿一臺服務器/筆記本,只要裝上合適的操作系統與軟件,就可以架設FTP與NFS服務了,架上該類服務之后的服務器,就是文件存儲的一種了。

主機A可以直接對文件存儲進行文件的上傳下載,與塊存儲不同,主機A是不需要再對文件存儲進行格式化的,因為文件管理功能已經由文件存儲自己搞定了。

優點:

1、造價交低:隨便一臺機器就可以了,另外普通以太網就可以,根本不需要專用的SAN網絡,所以造價低。

2、方便文件共享:例如主機A(WIN7,NTFS文件系統),主機B(Linux,EXT4文件系統),想互拷一部電影,本來不行。加了個主機C(NFS服務器),然后可以先A拷到C,再C拷到B就OK了。(例子比較膚淺,請見諒……)

缺點:

讀寫速率低,傳輸速率慢:以太網,上傳下載速度較慢,另外所有讀寫都要1臺服務器里面的硬盤來承擔,相比起磁盤陣列動不動就幾十上百塊硬盤同時讀寫,速率慢了許多。

【對象存儲】

典型設備:內置大容量硬盤的分布式服務器

對象存儲最常用的方案,就是多臺服務器內置大容量硬盤,再裝上對象存儲軟件,然后再額外搞幾臺服務作為管理節點,安裝上對象存儲管理軟件。管理節點可以管理其他服務器對外提供讀寫訪問功能。

之所以出現了對象存儲這種東西,是為了克服塊存儲與文件存儲各自的缺點,發揚它倆各自的優點。簡單來說塊存儲讀寫快,不利于共享,文件存儲讀寫慢,利于共享。能否弄一個讀寫快,利 于共享的出來呢。于是就有了對象存儲。

首先,一個文件包含了了屬性(術語叫metadata,元數據,例如該文件的大小、修改時間、存儲路徑等)以及內容(以下簡稱數據)。

以往像FAT32這種文件系統,是直接將一份文件的數據與metadata一起存儲的,存儲過程先將文件按照文件系統的最小塊大小來打散(如4M的文件,假設文件系統要求一個塊4K,那么就將文件打散成為1000個小塊),再寫進硬盤里面,過程中沒有區分數據/metadata的。而每個塊最后會告知你下一個要讀取的塊的地址,然后一直這樣順序地按圖索驥,最后完成整份文件的所有塊的讀取。

這種情況下讀寫速率很慢,因為就算你有100個機械手臂在讀寫,但是由于你只有讀取到第一個塊,才能知道下一個塊在哪里,其實相當于只能有1個機械手臂在實際工作。

而對象存儲則將元數據獨立了出來,控制節點叫元數據服務器(服務器+對象存儲管理軟件),里面主要負責存儲對象的屬性(主要是對象的數據被打散存放到了那幾臺分布式服務器中的信息),而其他負責存儲數據的分布式服務器叫做OSD,主要負責存儲文件的數據部分。當用戶訪問對象,會先訪問元數據服務器,元數據服務器只負責反饋對象存儲在哪些OSD,假設反饋文件A存儲在B、C、D三臺OSD,那么用戶就會再次直接訪問3臺OSD服務器去讀取數據。

這時候由于是3臺OSD同時對外傳輸數據,所以傳輸的速度就加快了。當OSD服務器數量越多,這種讀寫速度的提升就越大,通過此種方式,實現了讀寫快的目的。

另一方面,對象存儲軟件是有專門的文件系統的,所以OSD對外又相當于文件服務器,那么就不存在文件共享方面的困難了,也解決了文件共享方面的問題。

所以對象存儲的出現,很好地結合了塊存儲與文件存儲的優點。

最后為什么對象存儲兼具塊存儲與文件存儲的好處,還要使用塊存儲或文件存儲呢?

1、有一類應用是需要存儲直接裸盤映射的,例如數據庫。因為數據庫需要存儲裸盤映射給自己后,再根據自己的數據庫文件系統來對裸盤進行格式化的,所以是不能夠采用其他已經被格式化為某種文件系統的存儲的。此類應用更適合使用塊存儲。

2、對象存儲的成本比起普通的文件存儲還是較高,需要購買專門的對象存儲軟件以及大容量硬盤。如果對數據量要求不是海量,只是為了做文件共享的時候,直接用文件存儲的形式好了,性價比高。

文章來自個人專欄
文章 | 訂閱
0條評論
作者已關閉評論
作者已關閉評論
0
0