raid技術基本原理

2021-10-17 10:55:18 字數 2955 閱讀 6586

近年來, cpu的處理效能保持著高速增長,intel公司在2023年最新發布的i9-7980xe處理器晶元更是達到了18核心36執行緒。但與此同時,硬碟裝置的效能提公升卻不是很大,因此逐漸成為當代計算機整體效能的瓶頸。而且,由於硬碟裝置需要進行持續、頻繁、大量的io操作,相較於其他裝置,其損壞機率也大幅增加,導致重要資料丟失的機率也隨之增加。

2023年,加利福尼亞大學伯克利分校首次提出並定義了raid技術的概念。raid技術通過把多個硬碟裝置組合成乙個容量更大、安全性更好的磁碟陣列,並把資料切割成多個區段後分別存放在各個不同的物理硬碟裝置上,然後利用分散讀寫技術來提公升磁碟陣列整體的效能,同時把多個重要資料的副本同步到不同的物理硬碟裝置上,從而起到了非常好的資料冗餘備份效果。

任何事物都有它的兩面性。raid技術確實具有非常好的資料冗餘備份功能,但是它也相應地提高了成本支出。就像原本我們只有乙個**本,但是為了避免遺失,我們將聯絡人號碼資訊寫成了兩份,自然要為此多買乙個**本,這也就相應地提公升了成本支出。raid技術的設計初衷是減少因為採購硬碟裝置帶來的費用支出,但是與資料本身的價值相比較,現代企業更看重的則是raid技術所具備的冗餘備份機制以及帶來的硬碟吞吐量的提公升。也就是說,raid不僅降低了硬碟裝置損壞後丟失資料的機率,還提公升了硬碟裝置的讀寫速度,所以它在絕大多數運營商或大中型企業中得以廣泛部署和應用。

出於成本和技術方面的考慮,需要針對不同的需求在資料可靠性及讀寫效能上作出權衡,制定出滿足各自需求的不同方案。目前已有的raid磁碟陣列的方案至少有十幾種,而劉遄老師接下來會詳細講解raid 0、raid 1、raid 5與raid 10這4種最常見的方案。

raid 0

raid 0技術把多塊物理硬碟裝置(至少兩塊)通過硬體或軟體的方式串聯在一起,組成乙個大的捲組,並將資料依次寫入到各個物理硬碟中。這樣一來,在最理想的狀態下,硬碟裝置的讀寫效能會提公升數倍,但是若任意一塊硬碟發生故障將導致整個系統的資料都受到破壞。通俗來說,raid 0技術能夠有效地提公升硬碟資料的吞吐速度,但是不具備資料備份和錯誤修復能力。如圖7-1所示,資料被分別寫入到不同的硬碟裝置中,即disk1和disk2硬碟裝置會分別儲存資料資料,最終實現提公升讀取、寫入速度的效果。

第7章 使用raid與lvm磁碟陣列技術。第7章 使用raid與lvm磁碟陣列技術。

圖7-1 raid 0技術示意圖

raid 1

儘管raid 0技術提公升了硬碟裝置的讀寫速度,但是它是將資料依次寫入到各個物理硬碟中,也就是說,它的資料是分開存放的,其中任何一塊硬碟發生故障都會損壞整個系統的資料。因此,如果生產環境對硬碟裝置的讀寫速度沒有要求,而是希望增加資料的安全性時,就需要用到raid 1技術了。

在圖7-2所示的raid 1技術示意圖中可以看到,它是把兩塊以上的硬碟裝置進行繫結,在寫入資料時,是將資料同時寫入到多塊硬碟裝置上(可以將其視為資料的映象或備份)。當其中某一塊硬碟發生故障後,一般會立即自動以熱交換的方式來恢復資料的正常使用。

第7章 使用raid與lvm磁碟陣列技術。第7章 使用raid與lvm磁碟陣列技術。

圖7-2 raid 1技術示意圖

raid 1技術雖然十分注重資料的安全性,但是因為是在多塊硬碟裝置中寫入了相同的資料,因此硬碟裝置的利用率得以下降,從理論上來說,圖7-2所示的硬碟空間的真實可用率只有50%,由三塊硬碟裝置組成的raid 1磁碟陣列的可用率只有33%左右,以此類推。而且,由於需要把資料同時寫入到兩塊以上的硬碟裝置,這無疑也在一定程度上增大了系統計算功能的負載。

那麼,有沒有一種raid方案既考慮到了硬碟裝置的讀寫速度和資料安全性,還兼顧了成本問題呢?實際上,單從資料安全和成本問題上來講,就不可能在保持原有硬碟裝置的利用率且還不增加新裝置的情況下,能大幅提公升資料的安全性。劉遄老師也沒有必要忽悠各位讀者,下面將要講解的raid 5技術雖然在理論上兼顧了三者(讀寫速度、資料安全性、成本),但實際上更像是對這三者的「相互妥協」。

raid 5

如圖7-3所示,raid5技術是把硬碟裝置的資料奇偶校驗資訊儲存到其他硬碟裝置中。raid 5磁碟陣列組中資料的奇偶校驗資訊並不是單獨儲存到某一塊硬碟裝置中,而是儲存到除自身以外的其他每一塊硬碟裝置上,這樣的好處是其中任何一裝置損壞後不至於出現致命缺陷;圖7-3中parity部分存放的就是資料的奇偶校驗資訊,換句話說,就是raid 5技術實際上沒有備份硬碟中的真實資料資訊,而是當硬碟裝置出現問題後通過奇偶校驗資訊來嘗試重建損壞的資料。raid這樣的技術特性「妥協」地兼顧了硬碟裝置的讀寫速度、資料安全性與儲存成本問題。

第7章 使用raid與lvm磁碟陣列技術。第7章 使用raid與lvm磁碟陣列技術。

圖7-3 raid5技術示意圖

raid 10

鑑於raid 5技術是因為硬碟裝置的成本問題對讀寫速度和資料的安全效能而有了一定的妥協,但是大部分企業更在乎的是資料本身的價值而非硬碟**,因此生產環境中主要使用raid 10技術。

顧名思義,raid 10技術是raid 1+raid 0技術的乙個「組合體」。如圖7-4所示,raid 10技術需要至少4塊硬碟來組建,其中先分別兩兩製作成raid 1磁碟陣列,以保證資料的安全性;然後再對兩個raid 1磁碟陣列實施raid 0技術,進一步提高硬碟裝置的讀寫速度。這樣從理論上來講,只要壞的不是同一組中的所有硬碟,那麼最多可以損壞50%的硬碟裝置而不丟失資料。由於raid 10技術繼承了raid 0的高讀寫速度和raid 1的資料安全性,在不考慮成本的情況下raid 10的效能都超過了raid 5,因此當前成為廣泛使用的一種儲存技術。

第7章 使用raid與lvm磁碟陣列技術。第7章 使用raid與lvm磁碟陣列技術。

圖7-4 raid 10技術示意圖

MTD技術的基本原理

mtd memory technology device記憶體技術裝置 是用於訪問memory裝置 rom flash 的linux的子系統。mtd的主要目的是為了使新的memory裝置的驅動更加簡單,為此它在硬體和上層之間提供了乙個抽象的介面,並進行了乙個層次劃分,層次從上到下大致為 裝置檔案 m...

mysql的基本原理 Mysql 基本原理

mysql 基本原理 mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性 ysql是資料庫登入命令 uroot預設超級使用者登入 p 預設沒密碼 中寫密碼 mysqladmin uroot password 12...

8 2 1 基本原理

乙個舞台動畫物件在包含許多舞台資訊 出現在何處,佔多大面積,處在什麼角度,是否可見 這些資訊分別儲存在動畫物件的屬性中。在 中讀取這些屬性可以了解物件的位置 大小 角度等狀態資訊 修改這些屬性可以改變物件的位置 大小 角度等狀態。如果從資料的角度去理解,動畫就是在固定時間間隔點不斷修改動畫物件某項屬...