大話存儲 3 - 七種磁碟RAID技術

来源:http://www.cnblogs.com/suzhou/archive/2016/08/21/5793093.html
-Advertisement-
Play Games

RAID技術 Redundant Array of Independent Disks由獨立的磁碟組成的具有冗餘特性的陣列。有兩個特性:陣列:需要很多磁碟來組成冗餘:允許某塊磁碟損壞之後,數據仍然可用目前,單塊磁碟容量只有幾T,對於現代應用程式來說遠遠不夠。為了提供容量更大的磁碟,發明瞭RAID技術... ...


RAID技術 Redundant Array of Independent Disks

由獨立的磁碟組成的具有冗餘特性的陣列。

有兩個特性:

  1. 陣列:需要很多磁碟來組成
  2. 冗餘:允許某塊磁碟損壞之後,數據仍然可用

目前,單塊磁碟容量只有幾T,對於現代應用程式來說遠遠不夠。為了提供容量更大的磁碟,發明瞭RAID技術。

 

1 七種RAID簡介

RAID 0

  • 4個磁碟組成一個陣列
  • 4個扇區組成的塊作為基本單元
  • 不同磁碟的相同偏移處的塊組合成Stripe
  • 數據寫入:數據被分成多塊寫入4個磁碟,而不是順序寫入一個磁碟,這就大大提高了速度 
  • 缺點:其中一塊磁碟廢掉,數據全部丟失。

RAID 1

  • 一個數據盤,一個影子盤
  • 每次寫,寫成功兩塊盤才算成功
  • 沒有提供讀副本的功能,只有數據出現損壞,才會讀第二副本
  • 缺點:短板效應,速度取決於最慢的盤,容量取決於最小的盤。

RAID 2

  • 兩塊數據盤,一塊校驗盤
  • 校驗演算法使用漢明碼,可以校驗,並具有糾錯一位的能力。
  • 每個IO下發的數據被以位為單位平均打散在所有數據盤上。
  • 缺點:校驗盤數量太多,開銷太大,成本昂貴。

RAID 3

  • 使用邏輯運算“異或XOR”來進行計算校驗位
  • 將數據盤的每一位之間做XOR運算,然後將結果寫入校驗盤的對應位置。
  • 每次IO的大小:4KB,並要求所有數據盤主軸同步,不然就會等待最慢的那個數據盤完成。
  • 優點:校驗效率較高,成本減少
  • 缺點:不支持IO併發,無法糾正錯誤。對隨機小塊讀寫時,一個很小的IO會占用所有盤。

RAID 4

  • 為瞭解決RAID 3中小塊隨機讀寫問題,增大了“條帶深度”
  • 如果一個IO過來,這個IO塊小於條帶深度,那麼這次IO就被完全禁錮在一塊磁碟上,只會用到一塊磁碟。
  • 缺點:校驗盤是瓶頸。

RAID 5

  • 目的是支持併發IO。
  • 校驗盤分割打散在數據盤上。
  • 連續性能不如RAID 3。
  • 隨機讀性能高。
  • 寫性能較差。寫過程:新數據過來->讀取待更新扇區的原數據->讀取校驗數據->計算新數據校驗數據->將新數據和新校驗數據寫到磁碟。

RAID 6

  • 目的是為瞭解決超過一塊盤損壞就丟數據的問題。
  • 增加了校驗碼,通過組成方程組求解多個未知數。
  • 缺點:因為要多讀出一個校驗數據,寫性能更差了。

 

2 關於幾個與IO相關的重要概念

IO可以分為讀寫IO、大小塊IO、連續/隨機IO、順序/併發IO、穩定/突發IO、持續/間斷IO和實虛IO。

下麵我們來分別瞭解一下這幾種IO。

1 讀/寫IO

一次IO,就是髮指令從磁碟讀寫某段序號連續的扇區內從。

指令一般是通知磁碟從某個扇區開始,並給出從這個初始扇區往後讀取的連續扇區個數,同時給出動作是讀還是寫。

一個IO索要提取的扇區段一定是連續的。

2 大/小塊IO

指控制器的指令中給出的連續讀取扇區數目的多少。如果數目很大,比如128、64等,就是大塊IO。如果很小,比如1、4、8等,就算小塊IO。

3 連續/隨機IO

連續和隨機是指本次IO給出的初始扇區地址和上一次IO的結束扇區地址是不是完全連續或者像個不多的。

如果是,則本次IO應該算是一個連續IO。

如果相差太大,則算一次隨機IO。

4 順序/併發IO

磁碟控制器如果可以同時對一個RAID系統中的多塊磁碟同時發送IO指令,並且這些最底層的IO數據包含了文件系統下發的一個IO的數據,則此時為順序IO。

5 持續/間斷IO

持續不斷地發送或者接受IO請求數據流,這種情況為持續IO。

6 穩定/突發IO

某存儲設備或者某程式在一段時間內接受或者發送的IOPS以及throughput保持響度穩定和恆定,則稱為穩定IO。

如果單位時間的IOPS或者throughput突然猛增,則為突發IO。

7 實/虛IO

讀寫實際文件或者磁碟扇區數據的,稱為實IO

對文件元數據操作的、或針對磁碟發送的非實體數據IO請求的控制性IO,稱為虛IO。

 

參考資料

《大話存儲2-存儲系統架構與底層原理極限剖析》 

 

 

 

 


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

-Advertisement-
Play Games
更多相關文章
  • 最近經過實際試驗,總結了InputType幾個常用取值表示的含義: 1、none, text, textVisiblePassword: 無任何輸入限制 2、textMultiLine: 允許多行輸入(預設EditText只允許單行輸入,即不換行) 3、textPassword: 無任何輸入限制,但 ...
  • 3、可能很多小伙伴是綠色的進入註冊表沒有ORACLE這個選項這就令人非常頭疼了。因為可能是32位的原因,你到註冊表的下麵看看HKEY_LOCAL_MACHINE->SOFTWARE->Wow6432Node看看有沒有ORACLE選項,如果還沒有那咱就添加一個;代碼如下建立二個尾碼名為AMERICAN ...
  • 前提 本文僅討論SQL Server查詢時, 對於非複合統計信息,也即每個欄位的統計信息只包含當前列的數據分佈的情況下, 在用多個欄位進行組合查詢的時候,如何根據統計信息去預估行數的。 利用不同欄位的統計信息做數據行數預估的演算法原理,以及SQL Server 2012和SQL Server 2014 ...
  • 一、前言 從20世紀90年代數字化醫院概念提出到至今的20多年時間,數字化醫院(Digital Hospital)在國內各大醫院飛速的普及推廣發展,並取得驕人成績。不但有數字化醫院管理信息系統(HIS)、影像存檔和通信系統(PACS)、電子病歷系統(EMR)和區域醫療衛生服務(GMIS)等成功實施與 ...
  • 昨天一個pgp加密盤壞了,東西全丟了。。。,我的筆記啊!我咋怎麼2呢。。 備份個腳本吧,方便以後手機查看,話說我都快忘記帳號密碼了 備註:腳步恢復時只能恢復到備份前的狀態,如果需要恢復到當前狀態,還需配合binlog,睡覺就這樣 ...
  • 非同步主從複製 主從部署步驟: 備份還原 使用mysqldump或者xtrabackup 把主庫現有基礎數據還原到從庫 授權 grant replication slave on *.* 給從庫一個複製binlog的賬號 配置複製,並啟動 從庫上配置複製信息,並指向master 查看主從複製信息 sh ...
  • 基於Centos7安裝過程中常用工具及操作技術總結回顧。 操作技巧: tab鍵,命令自動補全 xshell 預設: Ctrl + Insert (複製) Shift + Insert (粘貼) systemctl 服務操作命令: systemctl start postfix.service 動一個 ...
  • 聲明:此文是我學習MongoDB一周以來的經驗總結。一來給自己做一個備份,二來給和我一樣剛接觸MongoDB的小白分享一下,有什麼問題,給位請多擔待。 1、MongoDB安裝及配置 (1)下載: mongodb官網 https://www.mongodb.com/download-center 進入 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...