Linux中raid磁碟陣列

来源:https://www.cnblogs.com/t-ym/archive/2019/10/03/11617094.html
-Advertisement-
Play Games

RAID是將把好幾塊硬碟通過一定組合方式把它組合起來,成為一個新的硬碟陣列組,從而使它能夠達到高性能硬碟的要求. ...


一.磁碟陣列(Redundant Arrays of Independent Disks,RAID) 有“獨立磁碟構成的具有冗餘能力的陣列”之意。

    磁碟陣列是由很多價格較便宜的磁碟,以硬體(RAID卡)或軟體(MDADM)形式組合成一個容量巨大的磁碟組,利用多個磁碟組合在一起,提升整個磁碟系統效能。利用這項技術,將數據切割成許多區段,分別存放在各個硬碟上。 磁碟陣列還能利用同位檢查(Parity Check)的觀念,在數組中任意一個硬碟故障時,仍可讀出數據,在數據。
註:RAID可以預防數據丟失,但是它並不能完全保證你的數據不會丟失,所以使用RAID的同時還是註意備份重要的數據.

二.RAID創建方式

    RAID的創建有兩種方式:軟RAID(通過操作系統軟體來實現)和硬RAID(使用硬體陣列卡);瞭解raid1、raid5和raid10。不過隨著雲的高速發展,供應商一般可以把硬體問題解決掉。

三.RAID磁碟陣列特點

對磁碟高速存取(提速): RAID將普通硬碟組成一個磁碟陣列,在主機寫入數據,RAID控制器把主機要寫入的數據分解為多個數據塊,然後並行寫入磁碟陣列;主機讀取數據時,RAID控制器並行讀取分散在磁碟陣列中各個硬碟上的數據,把它們重新組合後提供給主機。由於採用並行讀寫操作,從而提高了存儲系統的存取速度。
擴容。
數據冗餘

四.RAID類型

raid級別:raid 0 raid 1 raid5 raide 10 raid 01

 

RAID 0

0 :(stripe)條帶模式,至少需要兩塊硬碟,每一份數據平均分成多份存儲在多個磁碟 中,且都處於一個水平條帶上

優點:讀寫速度提高,用了多少塊盤就是多少倍 缺點:無冗餘能力(也稱容錯能力) 空間利用率:多個磁碟的總和,100%

RAID 1

1:(mirror)鏡像模式,磁碟數量需要2的倍數,兩個磁碟中存儲的數據完全一致,當一 個盤損壞時,數據依然可以進行讀寫

優點:有冗餘能力

缺點:磁碟利用率 只有50%,寫的速度下降

RAID 5

5:check code校驗碼模式,至少需要三塊硬碟,每一次存儲數據時,採用條帶模式存 儲到n-1數量的磁碟中,另外一個磁碟存放的是其他幾個磁碟中的數據以某種加密方式之 後得出的加密數據,且每一次存儲,存儲加密數據的磁碟都是不斷變化的,當其中任何 一個盤的數據損壞時,都可以通過加密方式和其餘兩塊磁碟的數據來得知另外一個盤的 數據,具有較高的冗餘能力

優點:讀寫速度快,有冗餘能力

缺點:磁碟利用率為n-1/n,兩個磁碟損壞時,數據將丟失

組合起來用RAID10

10:mirror+stripe模式,至少需要4快硬碟,先將兩塊硬碟組成Raid1,然後將兩組 Raid1組合成Raid0,存儲一分數據時,每一Raid1的組合存儲的數據都是均分的,然後 Raid1組合再用mirror模式存儲

優點:讀寫速度快,冗餘能力強 

缺點:磁碟利用率為50%

 

 

組合起來用RAID01

RAID01 是先做條帶化再作鏡像,本質是對物理磁碟實現鏡像

優點:讀寫速度快,冗餘能力強 

缺點:磁碟利用率為50%,安全性能比10差

比較:

 

 

RAID10和RAID01的比較

    兩者最重要的區別在於:RAID10的底層是鏡像RAID1,而鏡像就保證了當有一塊硬碟比如A1損壞時,並不影響他的寫功能,讀性能可能稍微有所降低(大概降低1/8)。但是RAID01的底層是條帶RAID0,而條帶就導致了只要有一塊硬碟比如左邊的Disk0中的A1損壞時,那麼整個左邊的RAID0就不能使用了,所以整個RAID01就變成了只有右邊的RAID0可以使用了,也就是從RAID01變成了RAID0,讀性能馬上降低一般,寫性能沒有影響,可靠性變得最差。僅僅憑藉這一點,我們就絕不應該使用RAID01,而應該選擇RAID10

 

五.RAID命令

    命令:mdadm (需要下載)
    #功能:創建/管理/刪除 磁碟陣列
    #語法格式:
    mdadm [模式] <磁碟陣列名稱> [選項] <組成設備>
    #模式:

  assemble:將以前定義的某個陣列加入當前在用陣列。
  create:創建一個新的陣列,每個設備具有超級塊
  manage: 管理陣列,比如增加或移除
  misc:允許單獨對陣列中的某個設備做操作,比如抹去超級塊或 終止在用的陣列。
  follow or Monitor:監控磁碟陣列的狀態
  grow:改變磁碟陣列容量或陣列中的設備數目

  

    選項:
 

 -A:加入一個以前定義的陣列
 -C:創建一個新的陣列 (重要)
 -D:列印一個或多個設備的詳細信息
 -E:列印設備上的超級塊的內容
 -h:幫助信息,用在以上選項後,則顯示該選項信息
 -v:顯示細節
 -b:較少的細節。用於-D和-E選項
 -f, --force 強制執行
 -c:指定配置文件,預設為 /etc/mdadm.conf
 -s:掃描配置文件或 /proc/mdstat以搜尋丟失的信息。

  

    create 或 build 使用的選項:

 -c:指定塊大小,單位 kb. 預設為 64.
 -l,:設定RAID模式.(非常重要)
 -n=:指定陣列中可用設備數目。
 -x :指定初始陣列的熱備盤數目。
 -a, --auto{=no,yes,md,mdp,part,p}{NN} :創建RAID同時是否創建設備。

  

例:使用sdb sdc 創建raid0
mdadm -C /dev/md0 -l 0 -n 2 /dev/sd{b,c}1
raid查看方法

cat /proc/mdstat       mdadm --detail /dev/mdXXX

  

刪除raid (刪除raid前需要卸載對應的掛載點)

mdadm --stop /dev/mdXXXX

  

 


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

-Advertisement-
Play Games
更多相關文章
  • VBA 中的用戶窗體就是指帶 UI 的用戶界面,在運行的時候會單獨彈出一個視窗,類似於在 windows 系統中運行的一個可執行程式一樣(這個說法不太嚴謹,因為可執行程式也可能是只有命令視窗而沒有 UI 的)。再具體一點,就是一個視窗界面當中,有可能會包含有文本框、覆選框、單選按鈕、下拉列表,就如在 ...
  • 點這裡進入ABP開發手記目錄 創建實體 在領域層(即JD.CRS.Core)下新建文件夾Entitys //用以存放實體對象添加一個實體類Course.cs //課程信息 1 using Abp.Domain.Entities; 2 using Abp.Domain.Entities.Auditin ...
  • 前陣子一直期待.net core3.0正式版本的出來,以為這個版本出來,Winform程式又迎來一次新生了,不過9.23日出來的馬上下載更新VS,創建新的.net core Winform項目,發現並沒有Winform窗體設計器。而微軟目前則是通過插件的方式,讓我們單獨下載Winform設計器,這個... ...
  • 1.Autofac基礎使用 參考: https://www.cnblogs.com/li150dan/p/10071079.html 2.ASP.NETCore 3.0 Autofac 容器替換 需要引用:Autofac, Autofac.Extensions.DependencyInjection ...
  • 更改Ubuntu下預設Python版本 首先查看系統內有哪些版本的Python ls /usr/bin/python 查看當前python版本 python --version 基於用戶修改預設版本 想要為某個特定用戶修改 Python 版本,只需要在其 home 目錄下創建一個 alias(別名) ...
  • vim 功能 : 一個強大的文本編輯器 語法格式 :vim [ 選項 ] / 路徑 / 文本文件名 命令格式: vi [ 選項 ] [ 文件名 ] +num 打開某個文件直接跳轉到 num 行 -b 以 binary 方式打開文件 , 用於編輯二進位文件 -R 以只讀方式打開文件 一.VIM 基礎使 ...
  • Vsftp 實驗案例一:(本地用戶) 試驗版本:Linux7.X版本 公司內部現在有一臺FTP 和WEB 伺服器,FTP 的功能主要用於維護公司的網站內容,包括上傳文 件、創建目錄、更新網頁等等。公司現有兩個部門負責維護任務,他們分別適用team1 和team2 帳號進行管理。先要求僅允許team1 ...
  • 1、檢查環境 2、配置yum源 mkdir /iso #創建掛載點 mount /dev/cdrom /iso #掛載光碟到掛載點 ls /iso #查看掛載是否成功 cd /etc/yum.repos.d/ #進入yum源目錄 rm -fr *.repo #刪除官方源 vim iso.repo # ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...