中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在linux中配置raid

發布時間:2021-03-12 15:22:19 來源:億速云 閱讀:193 作者:Leah 欄目:系統運維

今天就跟大家聊聊有關怎么在linux中配置raid,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

1 什么是RAID,RAID的級別和特點 ;

什么是RAID呢?全稱是 “A Case for Redundant Arrays of Inexpensive Disks (RAID)”,在1987年,由加州大學伯克利大學發表的論文而來,其實就是這個標題的縮寫就是RAID;中譯為“磁盤陣列”;

RAID就是把幾個物理磁盤組合在一起成為一個大的虛擬物理磁盤,主要目的和用途主要有:把若干小容量物理磁盤組成一個大容量虛擬存儲設備(以前的物理磁盤的容量都比較小);提高物理存儲效率(讀、寫),或提供冗余以提高數據存儲的安全性。

根據應用方向的不同,RAID也分不不同級別 ,有LINEAR、RAID0、RAID1、RAID5、RAID10、RAID4、RAID6、MULTIPATH。常用的有RAID0、RAID1、RAID5、RAID10(其實就是0+1)、LINEAR


1.1 什么是硬件RAID和軟RAID;

RAID 還分為硬件RAID 和軟件RAID,硬件RAID是通過RAID 卡來實現的,而軟件RAID是通過軟件來實現的;在企業級應用領域,大部份都是硬件RAID。而軟件RAID由于性價比高,大多被中小型企業所采用;

硬件RAID是通過RAID卡把若干同等容量大小的硬盤,根據使用方向的不同,聚合起來成為一個大的虛擬RAID設備(或RAID0,或RAID1,或者RAID5,或RAID10……),如果每個硬盤容量不一致,以最小容量的硬盤為基礎;它的成員是整個硬盤;

軟RAID是軟把若干同等容量大小的硬盤或分區,根據使用方向的不同,聚合起來成為一個大的虛擬RAID設備(或RAID0,或RAID1,或者RAID5,或RAID10……),如果每個硬盤或分區容量不一致,以最小容量的硬盤或分區為基礎。軟RAID的成員是整個硬盤或分區;

RAID 總的來說還是應用在生產型項目領域中,一般在商用辦公或個人娛樂應用并未被大規模采用。應有領域大多要求性價比級的低端服務器或PC-SERVER;


1.2 RAID 的級別及特點;

RAID 有幾種級別,LINEAR,RAID0 (striping), RAID1 (mirroring), RAID4, RAID5, RAID6, RAID10, MULTIPATH, and FAULTY.其中我們常用有RAID0、RAID1、RAID5、RAID10。

下面我們說說常用的RAID0、RAID1、RAID5以及RAID10;


1.21 什么是軟RAID0及特點;

RAID0 是把兩個或兩個以上的容量相同的硬盤或分區,通過RAID控制器(硬RAID是通過RAID卡來實現的,軟RAID 是通過軟件來實現的),結合為一個在容量上是RAID0下成員的容量的總和,在寫入時,要向每個硬盤或分區同時寫入數據。

在硬RAID中,RAID0的成員是以整個硬盤為單位的,把兩個硬盤或兩個以上的硬盤通過RAID卡綁定成為一個虛擬的磁盤設備,而每個硬盤就是RAID0的成員;

在軟RAID0中,RAID0的成員是整個硬盤或分區,容量是加入RAID0的所有成員容量的總和。在RAID0中每個成員的容量都是相同一致的。比如我們把 /dev/sdb 、/dev/sdc、/dev/sdd 三個容量大小為80G的硬盤做成RAID0,這時RAID0設備的容量就是三個硬盤的總和 80x3=240G。當然我們也可以,在寫入數據時,系統要向每個硬盤同時寫入數據,是以條塊的形式寫入。比如我們存一份數據linuxsir.tar.gz 到RAID0的設備中,這份數據是分拆成若干份被分散的寫入到RAID0中的每個成員中。只有RAID0中的每個成員正常運行,并且RAID0也正常運行的情況下,這份數據才是完整的。RAID0中任何一個成員(硬盤分區)有有問題時,RAID0便不能運行,同時數據也不是完整的;

RAID0 在讀寫速度上是比較快的,是普通不做RAID的兩倍左右(注:實際速度和機器的硬件配置有關),所以RAID0常被用于對存儲效率要求較高,但對數據安全性要求不高的應用解決方案中;

安全性:RAID0中有任何一個成員出現故障,整個RAID0就不能被激活。數據不能保障;


1.22 什么是軟RAID1及特點;

RAID1就是把若干相同容量的硬盤或分區,成員與成員之間是鏡像關系。在容量上,RAID1設備是單個成員的容量。比如兩個80G的硬盤做成RAID1,這個RAID1的設備容量仍是80G。比如我們寫入一個份數據linuxsir.tar.bz2 到RAID1設備時,其實是向RAID的每個成員都寫了一份。比如RAID1設備下有兩個成員/dev/sdb和/dev/sdc ,我們寫入linuxsir.tar.bz2 到RAID1時,/dev/sdb和/dev/sdc都有一份完整的linuxsir.tar.bz2。 所以RAID1是冗余的陣列,一般被用于安全性要求比較高的應用中。

因為RAID1在由于鏡像冗余,所以磁盤利用效率并不高,或者說是“浪費”。這種方案相對來說性價比并不高,一般很少應用。數據讀寫效率要比RAID0慢。

安全性:RAID1 中只要有一個成員是健康的,RAID1完全可以激活,而且數據絕對是完整安全的。如果所有的成員有故障,RAID1也就報廢了。哈哈,這不是廢話嗎?


1.23 什么是軟RAID5及特點;

軟RAID5也是冗余安全的,RAID5是把至少三個硬盤或分區通過軟件虛擬成為一個大的存儲設備。在容量上是(n-1)x單個硬盤(分區)容量 ,比如我們用三塊80G硬盤做成RAID5,容量就是兩塊容量的和160G。在寫入上,數據被分拆成若干份,分別向RAID5的每個成員下寫入。比如把linuxsir.tar.bz2寫入RAID5時, 要先把linuxsir.tar.bz2分拆成若干份,分別寫入RAID5成員中。因為涉及到冗余,所以數據在讀入速度上并不是很快,沒辦法和RAID0相比,但RAID5的寫入數據速度沒有RAID1和RAID0快,也沒有不做RAID的磁盤寫入速度要快;

因為RAID5在容量損失比較小,有冗余安全保障,另外寫入速度比較快,從整體上來看,性價比比較高,所以被大范圍內采用;

安全性:當RAID5中的成員中有一個發生故障時,RAID5一樣能啟動和正常運行,只要n-1(注n>3)塊硬盤或分區的不出故障,RAID5上的數據就是安全,對于一個文件存到RAID5設備中,只有成員是n-1(注n>3)無故障時,這份文件才是完整的。 比如RAID5有四個硬盤(或分區)做的,當一個硬盤或分區掛掉了,并不影響整個RAID5上數據的完整性和安全性。


1.24 什么是軟RAID10及特點;

軟RAID10也是冗余安全陣列,是RAID0+1的集成,RAID10是把至少四個硬盤或分區通過軟件虛擬成為一個大的存儲設備。在容量是:n/2x單個硬盤(分區)容量 ,比如我們用四塊80G硬盤做成RAID5,容量就是兩塊容量的和4/2x80=160G。做RAID10所需要的硬盤或分區個數是偶數的。

RAID10,有RAID1的鏡像特點,還有RAID0的速度。可以這么理解RAID10,比如有四個硬盤做成的RAID10,過程是先把每兩個硬盤做成RAID1,然后再兩個RAID1的基礎上再做成RAID0。從理論上來說,RAID10應該繼承RAID0的速度和RAID1的冗余安全。但經過我在軟RAID0、RAID1、RAID5、RAID10的測試過程中發現RAID10的寫入速度是最慢的,測試方法是用超過1G的大文件幾盤復制。結果發現速度由高低的順序是:RAID0> 不做RAID>RAID1>RAID5>RAID10


2 在Linux中,軟RAID的創建和管理;

在Linux中,軟RAID是通mdadm來創建和管理的,mdadm 是一個專用創建和管理RAID的軟件,在Linux中,大多發行版本已經默認安裝,mdadm能創建任何級別的軟RAID;

在本節中,RAID創建并不是目的,我們還要查看學會RAID的狀態,啟動、停止RAID。還要學會使用RAID。所以RAID的使用應該包括創建、管理和使用。 RAID的使用就是在RAID設備上創建文件系統,然后供存儲應用;

流程是:

[RAID創建]->[RAID管理]->[RAID的使用]
|
[RAID的維護]


2.1 RAID的創建方法;

創建RAID有兩個方法 ,

第一種方法 :用mdadm 通過-C或--create 參數來創建RAID。這種方法 ,是把RAID信息寫到每個RAID成員的 superblocks(超級塊)中,在每個RAID成員的超級塊中,都會記錄RAID的級別、成員、RAID的UUID等…… 這種方法把RAID的信息記錄在各個成員的 superblocks(超級塊)中。這種方法對于重裝系統或系統發生災難來來說,有利于現有RAID的恢復;這種方法是最常用的;

第二種方法:用mdadm 通過-B或--build 參數來創建RAID。這種方法并不把RAID的信息寫入RAID成員的 superblocks(超級塊中),所以我們無法通過查看RAID成員信息來獲得RAID的級別,以及RAID的成員等;這種方法對于重裝系統或系統發生災難來來說,不利于現有RAID的恢復;如果你想用第二種方法來創建RAID,可以在下面的語法中,把-C或--create 換成 -B或--build 。


語法:創建把RAID信息寫入RAID每個成員的superblocks(超級塊)中;
mdadm -C -v /dev/mdX -lY -nZ RAID成員

mdadm --create --verbose /dev/mdX --level=Y --RAID-devices=Z RAID成員

注:

-C 是--create 的縮寫,表示創建的意思;這種方法是創建把RAID信息寫入每個RAID成員superblocks(超級塊)的方法。這是最常用的方法。
-v 和--verbose, 顯示創建過程中詳細的事件;

如果把-C或--create 換成-B或--build,就是創建RAID的另一種方法,不把RAID信息寫入RAID成員的superblocks(超級塊)中,如果您試用,請自己嘗試;

RAID設備: /dev/mdX,RAID設備在Linux中,大多是/dev/md0,/dev/md1…… 第一個設備從/dev/md0開始。 比如你已經有RAID0設備是/dev/md0,你再想做一個RAID5,那就是/dev/md1,以此類推;

RAID級別 : 用-lY或--level=Y表示,Y是RAID的級別。RAID的級別有RAID0就用0表示,RAID1就用1表示,RAID5就用RAID5表示,RAID10就用10表示。RAID的級別是根據自己的使用方向和現有磁盤和分區個數來定位。如果你就想高速讀寫、大容量,對數據安全性要求不高,那就用RAID0,如果對數據要求較高,可以用RAID1或RAID5,再者就是RAID10。比如-l0或--level=0表示RAID0,-l5或--level=5表示RAID5, -l1或--level=1表示RAID1,-l10或--level=10表示RAID10;

-nZ或--RAID-devices=Z 表示RAID成員的個數,比如我們把三個硬盤分分區做成一個RAID,那就是3個設備。就要寫成這樣 -n3或 --RAID-devices=3;值得注意的是RAID0和RAID1至少需要兩個設置,RAID5至少需要三個設備,RAID10至少四個設備;

RAID成員:也就是RAID的組成設備,要一個一個的列出來,每個設備后要用空格來隔開;比如我們把/dev/sdb、/dev/sdc、/dev/sdd三個硬盤做成RAID0,在RAID設備這塊,我們要寫成 /dev/sdb /dev/sdc /dev/sdd ; 軟件RAID的成員還可以是分區,比如 /dev/sdb1、/dev/sdc1 ……

舉例一:我們要做一個RAID0,成員是 /dev/sdb、/dev/sdc 兩個硬盤設備。 我們要運行如下命令;

mdadm -C --verbose /dev/md0 -l0 -n2 /dev/sdb /dev/sdc

mdadm -C --verbose /dev/md0 --level=0 --RAID-devices=2 /dev/sdb /dev/sdc

如果我們想把/dev/sdb1 、/dev/sdc1和/dev/sdd1三個分區做成RAID0呢?

mdadm -C -v /dev/md0 -l0 -n3 /dev/sd[bcd]1

mdadm -C --verbose /dev/md0 --level=0 --RAID-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

舉例二:我們要做一個RAID5 ,成員是/dev/sdb、/dev/sdc、/dev/sdd 三個設備,我們要運行如下命令;

mdadm -C -v /dev/md0 -l5 -n3 /dev/sd[bcd]

mdadm -C --verbose /dev/md0 --level=5 --RAID-devices=3 /dev/sdb /dev/sdc /dev/sdd

如果我們想把/dev/sdb1 、/dev/sdc1和/dev/sdd1三個分區做成RAID5呢?

mdadm -C -v /dev/md0 -l5 -n3 /dev/sd[bcd]1

mdadm -C --verbose /dev/md0 --level=5 --RAID-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

創建完成后,RAID也就立即啟動了。我們會發現有類似如下一行的提示信息:

mdadm: array /dev/md0 started.

我們要可以通過下面的命令來查看RAID的信息;

mdadm -Ds /dev/md0
mdadm -D /dev/md0


2.2 RAID管理工具;

RAID的管理包括創建、啟動、狀態查看等一系列工具;我們只說常用的使用方法;


2.21 RAID的啟動方法;

RAID的啟動有兩種方法,一種是指定RAID設備和RAID成員的辦法來啟動RAID,另一種辦法是通過加載RAID默認的配置文件來啟動。


第一種方法:不通過讀取mdadm.conf來啟動RAID;適用情況是你沒有配置 /etc/mdadm.conf 文件;

語法:
mdadm -A RAID設備 RAID成員

注:

-A 同 --assemble ,意思是激活一個已經存在的RAID;
RAID設備 ,就是/dev/md0 或/dev/md1 …… 根據你所創建的RAID設備為準;
RAID成員,就是你要啟動的RAID,其下屬設備有哪些,要一個一個的列出來,中間以空格分開;

舉例:比如我要啟動一個RAID,設備是/dev/md0,其下有成員是 /dev/sdb和/dev/sdc;所以我要用下面的辦法;

[root@linuxsir:~] mdadm -A /dev/md0 /dev/sdb /dev/sdc

注: 這種情況,是沒有配置RAID的配置文件/etc/mdadm.conf 時,所使用的啟動方法;如果您已經配置好了/etc/mdadm.conf文件,就可以用 mdadm -As 來啟動;


第二種方法:利用配置好的/etc/mdadm.conf 來啟動RAID;

mdadm -A RAID設備

mdadm -As

注: 這種啟動方法的前提是要配置 /etc/mdadm.conf文件,要把您系統中所有的RAID,都寫入這個文件,然后就可以簡單的用這個命令來啟動了;

-A 同 --assemble ,意思是激活一個已經存在的RAID;
RAID設備 ,就是/dev/md0 或/dev/md1 …… 根據你所創建的RAID設備為準;


舉例:

[root@linuxsir:~] mdadm -A /dev/md0
[root@linuxsir:~] mdadm -As

注: 比如我配置好/etc/mdadm.conf 后,啟動RAID設備/dev/md0,就用上面的辦法。具體mdadm.conf的寫法,請參見 RAID的配置文件一節;


2.22 RAID管理工具一些常用參數說明;

mdadm 參數 [RAID設備] [RAID成員]

-A 或 --assemble 激活一個RAID;
-S 和--stop 停止正在運行的設備;
-s 或 --scan 掃描RAID設備;
-D 或 --detail 查看RAID的詳細信息;
--examine 查看RAID成員的詳細信息;

注:其中[]中的選項是可選的。

舉例:

[root@linuxsir:~]# mdadm -As
[root@linuxsir:~]# mdadm -Ss
[root@linuxsir:~]# mdadm -Ds
[root@linuxsir:~]# mdadm --examine /dev/sdb

注:上面的些標例, 都是在配置好/etc/mdadm.conf 的情況下,運行的,如果您沒配置好mdadm.conf文件,請指定RAID設備及其成員;其中,--As 是搜索/etc/mdadm.conf ,然后根據 mdadm.conf 配置好的RAID信息來啟動RAID。 -Ss 是搜索正在運行的RAID,然后停止。-Ds 搜索RAID,查看RAID信息; --examine /dev/sdb 是查看其中一塊硬盤的RAID信息,這個很有用。比如你忘記了RAID的成員和UUID,想恢復現有的RAID,就要用這個來查看,然后重新讓RAID啟動起來。

比如系統有一個RAID,但在/etc/mdadm.conf 中沒有相應的記錄RAID信息。我不知道這個RAID是哪個類型的,是RAID0,還是RAID1,還是RAID5??到底機器中有幾個RAID?如果您是一個新接手的管理員,應該想知道這些信息。那就一個一個硬盤,一個一個的分區查看過去。從中找出系統中所有的RAID。然后一個一個的恢復。這時就要用到 --examine這個參數了;

[root@linuxsir:~]# fdisk -l

[root@linuxsir:~]# # mdadm --examine /dev/sdb
/dev/sdb:
Magic : a92b4efc
Version : 00.90.00
UUID : 35e1a3e6:ed59c368:e5bc9166:5004fe52
Creation Time : Wed Aug 1 07:11:43 2007
RAID Level : RAID0
Used Dev Size : 0
RAID Devices : 2
Total Devices : 2
Preferred Minor : 0

Update Time : Thu Aug 2 07:43:30 2007
State : active
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Checksum : 8f8a235e - correct
Events : 0.29

Chunk Size : 64K

Number Major Minor RAIDDevice State
this 0 8 16 0 active sync /dev/sdb

0 0 8 16 0 active sync /dev/sdb
1 1 8 32 1 active sync /dev/sdc

注:

首先:我們用fdisk -l 查看一下機器中所有硬盤和分區,如果不能完全列出,請指定具體硬盤。
其次:我們查看一下某個硬盤或分區上是否有RAID信息,比如我查看的是/dev/sdb ,結果顯示出,/dev/sdb是RAID0設備的一個成員,/dev/sdb和/dev/sdc 共同組成的RAID0;

得到這些信息有何用呢?我們就可以激活RAID,或重寫/etc/mdadm.conf ,讓RAID重新運行起來。在此過程中, 千萬不要用-C或--create 參數來重新創建RAID,否則你以前存在的RAID就被破壞,里面的數據當然也會一無所有!!!切記。在一個有數據的RAID中,不能隨便用-C 參數。如果用了-C或--create 就是創建一個新的RAID設備!


看完上述內容,你們對怎么在linux中配置raid有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临高县| 永顺县| 尼勒克县| 呈贡县| 中西区| 石景山区| 清水河县| 平定县| 延寿县| 栾城县| 邯郸市| 山丹县| 临沂市| 黄浦区| 环江| 漯河市| 鲜城| 宁明县| 林口县| 咸阳市| 潢川县| 伊通| 苏尼特右旗| 土默特左旗| 长宁县| 迁西县| 启东市| 新安县| 钟山县| 安岳县| 茶陵县| 台前县| 濮阳市| 龙岩市| 讷河市| 大庆市| 沧源| 南召县| 宣城市| 保亭| 荔波县|