RAID介紹

来源:https://www.cnblogs.com/shenxm/archive/2018/01/30/8387284.html
-Advertisement-
Play Games

RAID介紹 RAID RAID 實現的方式: RAID 0 RAID 1 RAID 5 RAID 6 RAID 10和RAID 01 RAID 50 RAID 60 RAID7和JBOD ...


RAID介紹

RAID

    RAID,Redundant Arrays of Inexpensive(Independent)Disks,是多個磁碟合成一個“陣列”來提供更好的性能、冗餘,或者兩者都提供。
    獨立磁碟冗餘陣列(RAID, Redundant Array of Independent Disks),在早期也稱為廉價磁碟冗餘陣列,簡稱為磁碟列。
    Raid就是將兩個以上的物理磁碟在邏輯上捆綁在一起,數據以條帶式的形式順序保存在各個磁碟上,對外作為一個邏輯的設備提供服務。
    磁碟陣列中可包含配置成Raid的磁碟和用於後備的磁碟。
    簡單來說,RAID把多個物理硬碟組合成為一個邏輯磁碟,因此,操作系統只會把一個raid陣列當作一個硬碟。
    RAID常被用在伺服器電腦上,並且常使用完全相同的硬碟作為組合。
    由於硬碟價格的不斷下降與RAID功能更加有效地與主板集成,它也成為了一個選擇,特別是需要大容量存儲空間的工作。
    最初的RAID分成了不同的等級,每種等級都有其理論上的優缺點,不同的等級在兩個目標間取得平衡,分別是增加數據可靠性以及增加存儲器(集群)讀寫性能。
    常見RAID級別分為RAID-0,RAID-1,RAID-5,RAID-6,RAID-1E,RAID-10,RAID-50,RAID-60。
    Raid可以按照不同的標準進行分類,按照其實現方法分類可分為硬體Raid和軟體Raid。
    硬體Raid的主要特點是其I/O處理有專門的IOP(IO處理器)來執行,軟體Raid的I/O指令從主機的CPU獲得。
    根據不同的鏈接方式,Raid又可分為外接式和內置式。
    RAID可提高I/O 能力,由磁碟並行讀寫來實現。
    RAID可提高耐用性,由磁碟冗餘來實現。
    RAID的級別是由多塊磁碟組織在一起的工作方式的不同來決定的。

RAID 實現的方式:

    外接式磁碟陣列:
        通過擴展卡提供適配能力
    內接式RAID :
        主板集成RAID 控制器,安裝OS前在BIOS里配置
    軟體RAID :
        通過OS實現

RAID-0

1)
    將多個磁碟合併成一個大的磁碟,不具有冗餘,並行I/O,速度最快,RAID-0亦稱為帶區集,它是將多個磁碟併列起來,成為一個大磁碟。
    在存放數據時,其將數據按磁碟的個數來進行分段,然後同時將這些數據寫進這些盤中,所以在所有的級別中,RAID-0的速度是最快的。
    但是RAID 0沒有冗餘功能,如果一個磁碟(物理)損壞,則所有的數據都會丟失,危險程度與JBOD相當。
    理論上越多的磁碟性能就等於“單一磁碟性能”ד磁碟數”,但實際上受限於匯流排I/O瓶頸及其它因素的影響,RAID性能會隨邊際遞減。
    也就是說,假設一個磁碟的性能是50MB每秒,兩個磁碟的RAID-0性能約96MB每秒,三個磁碟的RAID 0也許是130MB每秒而不是150MB每秒。
    可使用容量是硬碟總數乘以單塊硬碟的最小容量:Size=(N)*min(S1,S2,S3…Sn).
2)
    RAID-0:
        讀、寫性能提升;
        可用空間:N*min(S1,S2,...)
        無容錯能力
        最少磁碟數:2, 2
        兩塊磁碟都用作讀寫,壞一塊RAID就壞了。

RAID-1

1)
    RAID-1是將一個兩塊硬碟所構成RAID磁碟陣列,其容量僅等於一塊硬碟的容量,因為另一塊只是當作數據“鏡像”。
    RAID-1磁碟陣列顯然是最可靠的一種陣列,因為它總是保持一份完整的數據備份。
    它的性能自然沒有RAID-0磁碟陣列那樣好,但其數據讀取確實較單一硬碟來的快,因為數據會從兩塊硬碟中較快的一塊中讀出。
    RAID-1磁碟陣列的寫入速度通常較慢,因為數據得分別寫入兩塊硬碟中並做比較。
    RAID-1磁碟陣列一般支持“熱交換”,就是說陣列中硬碟的移除或替換可以在系統運行時進行,無須中斷退出系統。
    RAID-1磁碟陣列是十分安全的,不過也是較貴一種RAID磁碟陣列解決方案,因為兩塊硬碟僅能提供一塊硬碟的容量。
    RAID-1磁碟陣列主要用在數據安全性很高,而且要求能夠快速恢復被破壞的數據的場合。
2)
    RAID-1:
        讀性能提升、寫性能略有下降;
        可用空間:1*min(S1,S2,...)
        有冗餘能力
        最少磁碟數:2, 2N
        兩塊或兩塊的倍數,用一半作為讀寫,一半作為備用校驗,同時壞了主備兩個RAID就壞了。

RAID-5

1)
    RAID-5是一種儲存性能、數據安全和存儲成本兼顧的存儲解決方案,它使用的是Disk Striping技術。
    RAID-5至少需要三顆硬碟,它不是對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息存儲到組成RAID-5的各個磁碟上,並且奇偶校驗信息和相對應的數據分別存儲於不同的磁碟上。
    當RAID-5的一個磁碟數據發生損壞後,可以利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。
    RAID-5可以理解為是RAID-0和RAID-1的折衷方案。
    RAID-5可以為系統提供數據安全保障,但保障程度要比鏡像低而磁碟空間利用率要比鏡像高。
    RAID-5具有和RAID-0相近似的數據讀取速度,只是因為多了一個奇偶校驗信息,寫入數據的速度相對單獨寫入一塊硬碟的速度略慢,若使用“回寫高速緩存”可以讓性能改善不少。
    同時由於多個數據對應一個奇偶校驗信息,RAID-5的磁碟空間利用率要比RAID=1高,存儲成本相對較便宜。 
    可使用的容量為硬碟總數減去1的差,乘以單塊硬碟的最小容量,公式為Size=(N-1)*min(S1,S2,S3…Sn)。
2)
    RAID-5: 
        讀、寫性能提升
        可用空間:(N-1)*min(S1,S2,...)
        有容錯能力:允許最多1塊磁碟損壞,帶奇偶校驗的條帶機 
        最少磁碟數:3, 3+
        其他的同RAID4一樣,唯一不同的是校驗位不是放在一個盤上,每個盤都是校驗盤,允許最多壞一塊硬碟。

RAID-6

1)
    與RAID-5相比,RAID-6增加了第二個獨立的奇偶校驗信息塊。
    兩個獨立的奇偶系統使用不同的演算法,數據的可靠性非常高,即使兩塊磁碟同時失效也不會影響數據的使用。
    但RAID-6需要分配給奇偶校驗信息更大的磁碟空間,相對於RAID-5有更大的“寫損失”,因此“寫性能”非常差。
    較差的性能和複雜的實作方式使得RAID-6很少得到實際應用,同一數組中最多容許兩個磁碟損壞。
    更換新磁碟後,數據將會重新算出並寫入新的磁碟中,依照設計理論,RAID-6必須具備四個以上的磁碟才能生效。
    可使用的容量為硬碟總數減去2的差,乘以單塊硬碟的最小容量,公式為Size=(N-2)*min(S1,S2,S3…Sn)。
2)
    RAID-6: 
        讀、寫性能提升
        可用空間:(N-2)*min(S1,S2,...)
        有容錯能力:允許最多2塊磁碟損壞
        最少磁碟數:4, 4+
        有兩個校驗位,且又添加了一塊備用硬碟,允許最多2塊硬碟損壞

RAID-10和RAID-01

1)
    RAID-10是RAID-1與RAID-0的組合,先作RAID-1,再作RAID-0,也就是對多組RAID-1彼此構成Stripe訪問。
    由於RAID-10是以RAID-1為基礎,而RAID-1至少需要2塊硬碟,因此要以多組RAID-1構成RAID-10,至少需要4塊硬碟。
    以RAID-10最小的4台硬碟組態為例,先把4台硬碟分為2組,每組2台構成RAID-1,如此就得到兩組RAID-1,然後再把兩組RAID-1構成RAID-0。
    RAID-10在底層的任一組或多組RAID-1中出現1台硬碟損壞時,仍能維持運作,不過如果任一組RAID-1中的兩塊硬碟損毀,整組RAID-10就會失效。
    RAID-10由於在上層把多組RAID-1構成Stripe,容量利用率是50%,例如:4塊硬碟做的raid10的總容量是兩塊硬碟的容量。
    先是RAID-1,然後集合同配為RAID-0,某個RAID-1壞了,整體就壞了。
2)
    RAID-01是RAID-0與RAID-1的結合,先是RAID-0,然後集合同配為RAID-1,同時壞2個RAID-0,整體就壞了。
    RAID-01的特點使其特別適用於既有大量數據需要存取,同時又對數據安全性要求嚴格的領域。
    RAID-01是存儲性能和數據安全兼顧的方案,它在提供與RAID 1一樣的數據安全保障的同時,也提供了與RAID 0近似的存儲性能。

RAID-50

    RAID-5與RAID-0的組合,先作RAID-5,再作RAID-0,也就是對多組RAID-5彼此構成Stripe訪問。
    由於RAID-50是以RAID-5為基礎,而RAID-5至少需要3台硬碟,因此要以多組RAID-5構成RAID-50,至少需要6台硬碟。
    以RAID-50最小的6台硬碟組態為例,先把6台硬碟分為2組,每組3台構成RAID-5,如此就得到兩組RAID-5,然後再把兩組RAID-5構成RAID-0。
    RAID-50在底層的任一組或多組RAID-5中出現1台硬碟損壞時,仍能維持運作,不過如果任一組RAID-5中出現2台或兩台以上硬碟損毀,整組RAID-50就會失效。
    RAID-50由於在上層把多組RAID-5構成Stripe,性能比起單純的RAID-5高,容量利用率比RAID-5要低。
    比如同樣9塊硬碟,RAID-50則3個RAID-5組成RAID-0,每個RAID-5會損失一塊硬碟的容量,利用率為(1-3/9),RAID-5則為(1-1/9)。

RAID-60

    RAID-6與RAID-0的組合,先作RAID-6,再作RAID-0。
    換句話說,就是對兩組以上的RAID-6作Stripe訪問。
    RAID-6至少需具備4塊硬碟,所以RAID-60的最小需求是8塊硬碟。
    由於底層是以RAID-6組成,所以RAID-60可以容許任一組RAID-6中損毀最多2塊硬碟,而系統仍能維持運作。
    不過只要底層任一組RAID-6中損毀3塊硬碟,整組RAID-60就會失效,當然這種情況的機率相當低。
    比起單純的RAID-6,RAID-60的上層通過結合多組RAID-6構成Stripe訪問,因此性能較高。
    不過使用門檻高,而且容量利用率低是較大的問題

RAID7和JBOD

RAID7
    可以理解為一個獨立存儲電腦,自身帶有操作系統和管理工具,可以獨立運行,理論上性能最高的RAID 模式。
JBOD :Just a Bunch Of Disks
    功能是將多塊磁碟的空間合併一個大的連續空間使用
    可用空間:sum(S1,S2,...)

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 制定了一個通訊協議,然後其數據部分有如下格式。 第三列代表的是位元組數,第4列是數據類型。 當傳輸或者收到一個byte數組的時候(下麵Hex數據),按照對應格式進行解析,解析方法有很多種,網上看到了一種方式是以結構體的方式來解析的,類似C/C++方式。 Hex數據:01 01 00 00 10 44 ...
  • 需求描述 項目中有一個通知公告的功能,在後臺管理員添加公告後需要推送消息給所有註冊用戶,讓其查看消息。消息推送移動端採用極光推送,但是消息在何時發送是個問題,比如說有一個重要的會議通知,可能希望在會議開始前半天進行提醒,僅僅使用後臺代碼處理起來可能比較麻煩,這時就需要考慮到使用作業來處理這種定時執行... ...
  • 前言 大家好,我依舊是你們的老朋友Rector,很高興又在周五的時候準時和大家見面。 Rector的系列文章【一步一步創建ASP.NET MVC5程式[Repository+Autofac+Automapper+SqlSugar]】從寫作以來,已經出了六期了,其中受到了很多朋友的喜歡,在此非常感謝大 ...
  • 題目輸入輸出 "this is a sentence" => [t, h, i, s, i, s, a, s, e, n, t, e, n, c, e]"thiis iss a senntencee" => [i, s, n, e]"thiisss iss a senntttenceee" => [ ...
  • 演示產品源碼下載地址:http://www.jinhusns.com/Products/Download ...
  • 邏輯捲管理 邏輯捲管理器(LVM) LVM 介紹 LVM 更改文件系統的容量 pv 管理工具 vg 管理工具 lv 管理工具 擴展和縮減邏輯捲 遷移捲組到新系統 創建邏輯捲示例 邏輯捲管理器快照 使用LVM 快照 ...
  • 軟RAID管理 軟RAID 軟RAID的實現 軟RAID 配置示例 軟RAID 測試和修複 軟RAID 管理 ...
  • 本節主要講述IIC的使用及源碼實現。 IIC數據有效性:只有在SCL線為低時,SDA線才允許改變電平。 初始巨集定義如下: IIC時序圖(取自DS3231數據手冊): 先看前一部分(開始與結束): 從時序圖可以看出來,開始信號為SCL為高時,SDA由高變低;結束信號為SCL為低時,SDA由低變高。 發 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...