【理論研究】漫談傳統IT基礎設施09-儲存(03)

工程師Waiting發表於2020-10-17

本文歡迎轉載,轉載請註明出處和作者。

儲存型別

如同前面所講的伺服器一樣,儲存也有很多不同維度的對比。
例如塊儲存、ISCSI、SAN,平常可能會聽到不懂行的人拿這幾個來對比,但是這根本不是一個維度上面的概念,根本無法進行對比。
以下我們從幾個維度來對儲存型別進行對比。

1-按照儲存的連線方式

DAS:

特徵:磁碟裝在伺服器內部,直連伺服器的序列(SCSI)介面。(類似筆記本透過USB直接插入行動硬碟)

優點:部署簡單,即插即用,價格便宜;

缺點:只能單臺裝置使用,無法共享。

NAS:

特點:磁碟陣列接入IP交換機,伺服器透過IP網路訪問儲存;(類似Windows筆記本,資料夾右鍵屬性建立共享資料夾,然後其他客戶端可以透過\IP共享資料夾名稱訪問)

優點:磁碟陣列可以透過IP網路多臺伺服器共享訪問,便宜;

缺點:傳輸資料速率較慢,對大量讀寫IO的支援較差。

SAN:

特點:磁碟陣列接入光纖交換機,伺服器配置HBA卡接入光纖交換機訪問儲存。

優點:三者裡面效能最優,IO讀寫效能最好,速度最快;

缺點:價格較高,需要額外購置光纖交換機與HBA卡進行組網。

2-按照封裝協議分類

SCSI協議:

對應DAS儲存,硬碟透過IDE或SATA介面線連線伺服器主機板,資料透過SCSI協議進行封裝,然後傳輸。

ISCSI協議(對應IPSAN網路):

對應NAS或是使用IP交換機的塊儲存,磁碟陣列裝置有控制器,控制器上有NAS介皮膚(相當於乙太網卡),透過乙太網線與普通IP交換機互聯,資料先透過SCSI協議封裝,外層再封裝IP協議,再經過IP網路傳輸。

FC協議(對應SAN網路):

對應SAN網路的儲存(一般為塊儲存),磁碟陣列裝置有控制器,控制器有光纖介面,透過光纖與光纖交換機互聯,伺服器需要特別配置HBA卡,連線光纖交換機訪問磁碟陣列,資料透過FC協議進行封裝。

FCOE協議:

對應SAN網路儲存,但IP交換機採用具備FCoE功能的交換機,資料透過FC協議進行封裝,外層再封裝IP協議,再透過IP網路傳輸。

3-按照儲存網路分類

4-按產品型別分類

1、集中式儲存

集中式儲存指採用單臺/單套專用儲存硬體,對資料進行集中存放,然後透過接入FC/IP網路的方式,共享給多臺伺服器同時訪問的儲存。此類儲存的冗餘通常透過該專用硬體裡面各部分部件進行冗餘配置來解決(如通常配置至少2個控制器,磁碟需要配置熱備盤,磁碟組要做Raid,風扇、電源也冗餘配置等)。(如IBM DS8000、EMC VMAX系統列 等)

優點是專用硬體,各部分部件冗餘,效能強勁,可以透過增加擴充套件櫃與磁碟擴容容量與效能。(Scale Up)

缺點是專用硬體價格昂貴,並且通常品牌繫結,不同品牌之間的裝置無法搭配擴容容量使用。甚至同品牌的不同系列儲存產品,都不會向下相容。而就算再高階的系列產品,受限於控制器的效能,下面可以帶的磁碟總數與擴充套件櫃數,都是有限制的。因此一旦使用容量/效能超過最大值,就要弄一套新的儲存,需要業務那邊考慮如何將資料拆分到2套獨立的儲存中去。

集中式儲存主要分以下兩類:

01、傳統塊儲存:

基本對應SAN、IPSAN、DAS,指裸磁碟對映給伺服器的作業系統,由作業系統對裸磁碟進行格式化(即安裝檔案系統)後才能使用。

優點是讀寫IO效能高,部分資料庫必須採用這種方式的儲存。缺點是不適合儲存資料的共享,如Linux伺服器的磁碟檔案系統是EXT4,而Windows的伺服器檔案系統為NTFS,兩者的磁碟資料無法共享。

02、傳統檔案儲存:

基本對應NAS儲存,用普通伺服器也能作為NAS使用,有專門的檔案系統(NFS、CIFS),其他伺服器只要IP可達,即可以使用其作為檔案儲存,訪問的時候能看見一級級的檔案目錄,無需格式化即可以上傳或下載檔案。

優點是可以共享資料(Linux/Win的伺服器都能訪問),缺點是隻適合存放檔案(資料庫不能用這種)以及IO效能差。

2、分散式儲存

可以理解為伺服器+DAS+軟體:業界基本採用伺服器裝大硬碟,然後分散式部署,再透過幾臺管理伺服器安裝物件儲存軟體的方式實現。管理伺服器有所有資料的後設資料(即所有資料的屬性,如大小,日期等),使用者訪問時先向管理伺服器查詢資料所在,然後直接訪問實際儲存資料的分散式物件儲存伺服器拿資料。

優點是分散式的伺服器同時並行對外提供服務,提升了IO效能,理論上可以無限橫向擴充套件。(Scale Out)

缺點是依賴於軟體本身,操作、維護都有門檻,需要專門的技術人員去管理與運維。

分散式儲存分別有分散式塊儲存、分散式檔案儲存、分散式物件儲存。

物件儲存:

物件儲存適合存放一次上傳,多次讀取,從不修改的資料。(例如現在移動網際網路,大家抖音發的影片,微博、朋友圈發的文字、圖片、影片,都有此屬性)物件一旦上傳是不能修改的。

物件儲存與傳統的儲存不太一樣,存放的東西叫物件。物件除了需要儲存的資料本身,還包括一部分叫後設資料的內容(用來描述資料本身屬性的資料,例如最後修改時間,物件大小等)。物件存放在一個叫Bucket的儲存空間下,沒有檔案系統、目錄等概念,儲存空間在物件儲存內有唯一的全域性ID,儲存物件資料是透過KEY:VALUE的鍵值對的方式進行儲存的。使用者可以直接透過“儲存空間物件KEY”的方式,透過網路讀取與呼叫物件的VALUE。

與塊儲存與檔案儲存相比:

1、檔案儲存是樹狀索引式的,訪問越深入的目錄,消耗的資源越大。物件儲存使用key:value進行儲存,讀取開銷很低。

2、塊儲存不方便進行資料共享,而檔案儲存可以將檔案上傳之後,其他使用者有訪問許可權的情況下可以直接透過http/RestAPI等方式呼叫物件,從而達到資料共享。

3、NOSQL儲存

nosql的全稱是not-only-sql,以往常用的資料庫都是關係型資料庫,將業務邏輯透過抽象化的方式,具象成一堆具有關聯關係的二維表,但是隨著移動網際網路的高速發展傳統的關係型資料庫在應付超大規模超大流量以及高併發的時候力不從心,特別是在SNS之類的應用,很多都是圖片、影片等非結構化的資料。

NOSQL具有Key-Value儲存、列式儲存、物件儲存等多種形式,在特定的應用場景能夠提供更快的查詢能力。
更多精彩內容,可以關注我的微信公眾號Waiting的運維日常

本篇文章由一文多發平臺ArtiPub自動釋出

相關文章