分佈式存儲學習入門(一)

存儲基本知識

在計算機中,存儲設備扮演着不可或缺的角色。從某種程度上來講,電腦性能的好壞只是影響運算數據的速度,而存儲設備的使命則是保證大家的研究所得以及運算數據得以延續。不誇張地說,現代文明很大程度上都是存在硬盤裏面。

一、機械硬盤的發展歷史

目前硬盤大體上分爲三種,分別有固態硬盤、機械硬盤、混合硬盤。

機械硬盤出現在 50 年代初,從 70 年代開始,硬盤的容量不斷的增大,從最早的幾十兆,到現在的 TB 級別 。同時,硬盤體積則是不斷的縮小,直到我們今天常見 2.5/3.5 英寸體積硬盤,還有一些微硬盤(1.8 英寸以下的硬盤,包括 1.8 英寸)。
在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述

1、硬盤的主要指標

  1. 容量 :指硬盤能存儲的數據量大小,以字節(Byte)爲基本單位
  2. 單碟容量 :硬盤都是由一個或幾個盤片組成的,單碟容量就是指包括正反兩面在內的單個盤片的總容量 ;
  3. 轉速 :即主軸馬達轉動速度,單位爲RPM(Round Per Minute),即每分鐘盤片轉動圈數;
  4. 緩存 :是硬盤控制器上的一塊內存芯片,具有極快的存取速度,它是硬盤內部盤片和外部接口之間的緩衝器。
  5. 平均訪問時間:硬盤磁頭找到目標數據所需的平均時間
    平均尋道時間:磁頭尋找目標數據所在磁道所需的平均時間
    平均潛伏時間:當磁頭移動到數據所在的磁道後,等待指定的數據扇區轉動到磁頭下方的時間
  6. 數據傳輸率:數據從盤片表面傳輸到硬盤的緩存的速率
    內部數據傳輸率:數據從盤片表面傳輸到硬盤的緩存的速率
    外部數據傳輸率:數據從硬盤的緩存讀出到外部總線的速率
  7. MTBF:Mean Time Between Failure,平均無故障時間

2、影響硬盤性能的因素

轉速:轉速是影響硬盤連續IO時吞吐性能的首要因素;
尋道速度:尋道速度是影響磁盤隨機IO性能的首要因素;
緩存:提速功能
單碟容量:單碟容量是影響磁盤性能的一個間接因素

二、各種機械硬盤的接口協議

1、SCSI存儲協議

SCSI的英文全稱爲「Small Computer System Interface」(小型計算機系統接 口),是同IDE(ATA)完全不同的接口,IDE接口是普通PC的標準接口,而SCSI並不是專門爲硬盤設計的接口,是一種廣泛應用於小型機上的高速數 據傳輸技術。
SCSI接口具有應用範圍廣、多任務、帶寬大、CPU佔用率低,以及熱插拔等優點,但較高的價格使得它很難如IDE硬盤般普及,因此SCSI 硬盤主要應用於中、高端服務器和高檔工作站中。
SCSI接口從誕生到現在已經歷了多年的發展,對於並行SCSI來說,先後衍生出了SCSI-1、 Fast SCSI、FAST-WIDE-SCSI-2、Ultra SCSI、Ultra2 SCSI、Ultra160 SCSI、 Ultra320 SCSI等,現在市場中佔據主流的是Ultra160 SCSI、Ultra320 SCSI接口產品。

2、SAS存儲協議

SAS(Serial Attached SCSI)即串行SCSI技術,是一種新型的磁盤連接技術。它綜合了現有並行SCSI和串行連接技術(光纖通道、SSA、IEEE1394等)的優勢,以串行通訊爲協議基礎架構,採用SCSI-3擴展指令集併兼容SATA設備,是多層次的存儲設備連接協議棧。而SAS磁 盤就是採用該接口技術的磁盤。

SAS的優勢主要體現在:

  1. 靈活性,可以兼容SATA,爲用 戶節省投資;
  2. 擴展性,一個SAS域最多可以直連16384個設備;
  3. 性能卓越,點對點的架構使性能隨端口數量增加而提高;
  4. 更合理的電纜設計,在高密度環境中 提供更有效的散熱。

3、SATA存儲協議

使用SATA(Serial ATA)口的硬盤又叫串口硬盤,是未來PC機硬盤的趨勢。Serial ATA採用串行連接方式,串行ATA總線使用嵌入式時鐘信號,具備了更強的糾錯能力,與以往相比其最大的區別在於能對傳輸指令(不僅僅是數據)進行檢查, 如果發現錯誤會自動矯正,這在很大程度上提高了數據傳輸的可靠性。串行接口還具有結構簡單、支持熱插拔的優點。

目前,由於在存儲設備中採用多塊SATA硬盤的協同RAID工作模式,使得數據存儲的傳輸瓶頸仍然存在於存儲到主機端。此外,由於存儲廠商推出SATA-SCSI、SATA-FC、SATA-IP的存儲設備,兼之SATA硬盤的大容量、價格低廉以及本身的性能而受到市場的廣泛認可。

4、FC存儲協議

光纖信道標準(FCS)定義了一種用於連接工作站、大型機、巨型機、存儲設備以及顯示設備等的高速數據傳輸機制。FCS 滿足了大量信息的快速傳輸需求,並減輕了支持當前多通道和網絡環境的系統提供商的負擔,這是因爲 FCS 爲網絡、存儲以及數據傳輸提供了一個單一標準。光纖信道協議是一種在光纖信道上的 SCSI 接口協議。

光纖信道(FC)主要特徵如下:

  1. 性能:傳輸速率範圍從 266Mb/s 到2Gb/s、 4Gb/s、8Gb/s;
  2. 支持光介質和電介質,工作速率範圍從 133Mb/S 到 1062Mb/S,傳輸 距離爲 10km;
  3. 小連接器;
  4. 高帶寬利用率,與距離無關;
  5. 支持從小型機到巨型機的多種性價比級別;
  6. 可以傳送多種接口命令集,包括 IP、SCSI、以及音頻 / 視頻等。

SAN(存域網)是指獨立於異構計算網絡系統之外的幾乎擁有無限存儲容量的高速網絡。其通常採用高速的光纖通道作爲傳輸媒介,以FCP+SCSI協議作爲存儲訪問協議,將存儲子系統網絡化、開放化、虛擬化、智能化,實現真正的高速、安全、共享存儲。

FC網絡存儲以其高速穩定的數據傳輸、良好的可擴展性被大多數具有核心應用的大中型企業所採納。經過實際應用, FC網絡存儲已經發展成爲目前最成熟的高速存儲區域網絡。

5、ISCSI存儲協議

簡單的說ISCSI就是將SCSI協議封裝於IP協議中進行數據傳輸。ISCSI區別於FC-SAN的一點就是傳輸的介質和協議的不同。而兩端的存儲設備和主機端基本一樣。
由於IP網絡現階段各個企業建設相對完善,因此ISCSI部署成本較低,而且部署方便。
但是,在現階段以千兆網絡爲主流的網絡環境中,ISCSI還只是適合於普通的非關鍵應用,而且對數據量的存儲吞吐不會大於70MB/S。相對關鍵應用來說,目前還是大多數採用FC。
加粗樣式

三、DAS、NAS、SAN及組網基礎知識

在這裏插入圖片描述
高性能服務器一般由四個關鍵部分組成:
1、計算機微處理器(例如, Intel 和 Motorola )
2、網絡連接 (例如, Cisco 和 Lucent)
3、內存 (DRAM, SDRAM), RAM = 隨機訪問存儲器
4、系統I/O (例如, IDE 和 SCSI等I/O技術.)
隨着微處理器能力的快速增強, 對於大規模存儲容量的要求也隨之而來. 例如: RAID(Redundant Array of Independent Disks;冗餘獨立磁盤陣列)系統使用得日益廣泛。高容量光盤系統也得到了廣泛使用. 網絡操作系統(如, Solaris 和 Windows NT)和多任務桌面操作系統(LINUX, Windows XP) 需要更高的系統吞吐性能以滿足中間件等軟件應用對數據訪問的要求.
高容量光盤系統也得到了廣泛使用. 網絡操作系統(如, Solaris 和 Windows NT)和多任務桌面操作系統(LINUX, Windows XP) 需要更高的系統吞吐性能以滿足中間件等軟件應用對數據訪問的要求.

I/O通道或簡稱通道, 必須滿足數據關鍵應用對於數據訪問帶寬的要求. 在許多環境下系統瓶頸是由於吞吐能力造成的. 達到50MIPS(million instructors per second )微處理器已經非常普遍. 很快100MIPS的微處理器就會獲得普及. 根據Amdahl定律. 每一微處理器MIPS需要一megabit系統I/O吞吐能力. 許多計算應用的性能需求已經達到了1000MIPS, 這就需要I/O系統提供125MB/每秒的吞吐能力, 在不久的將來這一需求還會繼續增加.

1、直聯存儲 DAS - Direct Attached Storage

直接連接存儲(通道技術)難以實現系統優化
1、計算資源
2、存儲資源
3、帶寬
在這裏插入圖片描述
我們需要網絡連接模式以提高存儲系統利用率。

網絡連接存儲模式分類如下:
在這裏插入圖片描述
在這裏插入圖片描述

2、存儲區域網絡 SAN - Storage Area Network

在這裏插入圖片描述
SAN從DAS發展而來,原來一臺存儲磁盤陣列只能連接到有限的服務器,發展爲可以同時連接到上百臺服務器。
採用光纖鏈路,專用的FC交換機進行連接,構成存儲網絡。
後端存儲空間以LUN形式提供給多臺服務器,每個LUN只能屬於一個前端服務器。
每臺服務器擁有自己的存儲空間,數據仍然不能共享。
提供快照、容災等高級數據保護功能。
鏈路速率爲4Gbps、8Gbps。未來會達到16Gbps。

3、網絡連接存儲 NAS - Network Attached Storage

在這裏插入圖片描述
出現NAS專用存儲設備,成爲數據共享與交換的核心。
多臺服務器共享後端存儲設備。
NAS設備上的存儲空間通過CIFS和NFS協議共享給主機,可同時對同一目錄或文件進行併發讀寫。
文件系統位於後端存儲系統。
採用標準的以太網鏈路和TCP/IP協議進行連接。
鏈路速率爲1Gbps、10Gbps。

4、IP SAN –iSCSI Storage Area Network

在這裏插入圖片描述
爲了解決FC-SAN在價格和管理上的門檻,產生IP-SAN(ISCSI)。
採用以太網作爲連接鏈路,使用專用以太網交換機構成存儲網絡。
每臺服務器擁有自己的存儲空間,但數據不能共享。
後端存儲空間以LUN形式提供給多臺服務器,每個LUN只能屬於一個前端服務器。
提供快照、容災等高級數據保護功能。
根植於IP網絡,管理和基礎建設成本大大降低。
鏈路速率爲1Gbps、10Gbps。

組網

FC的三種拓撲結構:
1、點對點:只能連接兩個設備,直接連接
2、仲裁環:最多支持126個設備,光纖集線器
3、交換式Fabric:最多支持1千6百萬個設備,光纖通道交換機

光纖通道 = 通道和網絡的完美結合
光纖通道的優點:網絡路由;連接能力;遠距離;管理能力;高速度;低延遲;數據完整性;大量數據傳輸;超級錯誤檢測能力。

光纖通道並不等於只使用光纖連接線,而是銅纜和光纖連接線。
在這裏插入圖片描述
單模光纖, 其設計是降低光芯尺寸使得只有一種波長的光可以通過此光纖傳輸信息. 單模光纖通過消除光散射從而連接更長的距離. 多模光脈衝可以通過不同的路徑傳輸。
Deci-meter (dm) = 10-1米
Centi-meter (cm) = 10-2米
Milli-meter (mm) = 10-3米
Micro-meter (µm) = 10-6米 (µ - 希臘字母)
Nano-meter (nm) = 10-9米
Pico-meter (pm) = 10-12米
Femto-meter (fm) = 10-15米
Atto-meter (am) = 10-18米

光纖通道 : 是SAN Fabric的基礎,爲存儲系統提供一個網絡連接模式 。
交換式「Fabric」是一個由智能光纖通道交換機構成並具有良好系統設計的高智能網絡, 這一網絡可以提供企業級的性能, 擴展能力, 可管理能力, 可靠性和可用能力。

光纖通道的優點:
1、一個新的多用途網絡信息基礎結構, 用於連接開放系統存儲, 網絡, 視頻應用和服務器集羣應用.
2、爲上層協議(SCSI, IP等)提供一個通用硬件傳輸平臺。光纖通道不是一種新的協議
3、高速: 現在可以提供16Gbit(200MB)/秒的數據傳輸速率, 全雙工專有連接,未來可升級至32Gbit/秒
4、無阻塞數據傳輸
5、最大10公里連接距離(通過擴展器可連接上千公里,非常適於災難恢復應用)
6、先進的流控制系統保證數據按順序傳輸.
7、多平臺系統支持(包括 AIX, NT, Solaris, HP/UX, UNIX, LINUX, Novell,等)
8、支持傳統環境和應用

SAN

SAN是一種可以解放LAN和WAN的大容量存儲信息基礎結構, 由於操作速度更快, 提供了更強大的工作後臺, 這意味着SAN可以在不影響前端LAN功能的條件下正常工作. 此外, 由於提供了多通道並行工作設計, 任意部件的故障都不會影響系統的操作.
SAN Fabric是一種基於光纖通道技術,專門應用於存儲系統的高性能網絡. 它提供了對SAN內部資源的無限連接能力, 所有服務器能夠訪問所有的存儲設備. 同時, SAN Fabric也允許存儲和SAN設備(交換機, 集線器, 路由器, 橋接器)之間的通訊. SAN使用包括光纜和銅纜在內的多種連接方式建立了一個專注於服務器和存儲設備的網絡系統

存儲設備

1、RAID – 冗餘獨立磁盤陣列系統.
RAID(冗餘獨立磁盤陣列系統; 盤陣)是一種磁盤集羣技術, 很早以前就開始使用在大型系統之中. 用戶可以自由定義數據的保存方式, 可以採用數據鏡像(在不同磁盤上保存數據拷貝), 條帶集(數據交叉保存在多個磁盤上), 還有奇偶校驗保護(記錄額外的數據以識別錯誤), 這些技術可以根據用戶對性能和可靠性的要求單獨或聯合使用. 考慮到RAID的大容量(和高價格), 通過SAN實現對其的共享是一個比較好的選擇.

2、JBOD – 只是一組盤(磁盤組)
是與RAID相似的一種標準. 也是指一組磁盤通過一個接口連接到服務器, 但與RAID不同, JBOD不提供鏡像, 數據條帶集存儲和奇偶校驗等功能, 這些功能通常由主機上的軟件來實現.
JBOD是一種最簡單廉價的「裸存儲」設備. 獨立的磁盤保存在一個機箱之中, 允許不同的服務器分組訪問. 一般不提供「緩衝」(高速緩存)和提供先進功能的控制器. JBOD的擴展空間有限, 一般不超過1TB. 由於缺少智能,數據條帶集存儲或奇偶校驗, 對於任意磁盤的損壞沒有保護. 磁帶存儲是磁盤損壞後恢復保存信息的常用手段.

3、磁帶 – 主要用於數據備份和恢復

NAS網絡附加存儲

NAS:支持遠程文件訪問;使用現有LAN資源;使用傳統網絡協議。

NAS與SAN是兩種互補的存儲技術, 他們可以單獨或聯合使用。
NAS通常專用於面向來自網絡的文件I/O訪問請求.

並行與串行接口之間的比較

光纖通道基於核心SCSI協議設計,光纖通道通過將並行接口轉換爲串行接口極大的提高了SCSI的性能。
在這裏插入圖片描述
光纖通道分層體系結構:
在這裏插入圖片描述

四、RAID基礎知識

RAID = Redundant Array of Independaent/Inexpensive Disks
RAID中的磁盤組對於操作系統是一個邏輯單元;根據不同的RAID級可以提供不同的數據保護;陣列可以提供更高的帶寬和更快的I/O

廉價磁盤冗餘陣列
1、通過把多個磁盤組織在一起作爲一個邏輯卷提供磁盤跨越功能
2、通過把數據分成多個數據塊(Block)並行寫入/讀出多個磁盤以提高訪問磁盤的速度
3、通過鏡像或校驗操作提供容錯能力
鏡像方式:數據被完全複製在另一個物理硬盤上。
校驗方式:2個或更多的數據塊以XOR異或的方式生成校驗數據快;數據塊和生成的校驗快形成邏輯存儲集 ;任意數據塊可以有校驗塊和其它數據塊從新生成並保證整個數據集的數據完整。

RAID狀態:
RAID創建,正產工作,重組,降級,失效。
RAID由幾個硬盤組成,從整體上看相當於一個物理卷。在物理卷的基礎上可以按照指定容量創建一個或多個邏輯卷,通過LUN(Logic Unit Number)來標識。

在這裏插入圖片描述

RAID 0

沒有容錯設計的條帶硬盤陣列,以條帶形式將RAID組的數據均勻分佈在各個硬盤中。
極高的讀寫效率;不存在校驗速度快;部署簡單;無冗餘;易丟失,不適合用於關鍵數據環境。最小硬盤數2。

RAID 1

又稱鏡像,數據同時一致寫到主硬盤和鏡像硬盤。
100%數據冗餘;設計使用簡單;不作校驗計算,CPU佔用資源少;提高數據安全性和可用性;空間利用率只有1/2;最小硬盤數2。

RAID 0+1

先0再1,讀寫速度快;數據保護能力強;磁盤空間利用率50%。
RAID01 兼備了 RAID0 和 RAID1 的優點,它先用兩塊磁盤建立鏡像,然後再在鏡像內部做條帶化。 RAID01 的數據將同時寫入到兩個磁盤陣列中,如果其中一個陣列損壞,仍可繼續工作,保證數據安全性的同時又提高了性能。

RAID 10

RAID01 是先做條帶化再作鏡像,本質是對物理磁盤實現鏡像;而 RAID10 是先做鏡像再作條帶化,是對虛擬磁盤實現鏡像。相同的配置下,RAID01 比 RAID10 具有更好的容錯能力。
RAID01 和 RAID10 內部都含有 RAID1 模式,因此整體磁盤利用率均僅爲 50% 。

RAID 3

RAID 3 即帶有校驗的並行數據傳輸陣列,數據條帶化分佈在數據盤中,同時使用專用校驗硬盤存放校驗數據。
冗餘性高;高數據傳輸率;實現複雜;檢驗盤單點問題

RAID 5

與3類似,校驗數據均勻分佈在各數據硬盤上,數據塊和對應的校驗信息保存在不同硬盤上。

RAID 6

雙向校驗:橫向和斜向校驗盤