8、RAID磁盤陣列及CentOS7系統啓動流程

 

1.RAID概念

磁盤陣列(Redundant Arrays of Independent Disks,RAID):(廉價冗餘磁盤陣列):多個磁盤組合成的一種形式,以提高磁盤的讀寫速度,可靠性。面試

RAID的建立有兩種方式:軟RAID,硬RAIDcentos

RAID幾種常見的類型安全

RAID類型服務器

 

最低磁盤個數併發

空間利用率app

各自的優缺點post

級 別性能

說 明centos7

 

 

 

RAID0spa

條帶卷

2+

100%

讀寫速度快,不容錯

RAID1

鏡像卷

2

50%

讀寫速度通常,容錯

RAID5

帶奇偶校驗的條帶卷

3+

(n-1)/n

讀寫速度快,容錯,容許壞一塊盤

RAID10

RAID1的安全+RAID0的高速

4

50%

讀寫速度快,容錯

 

 

 2.RAID有三個關鍵技術:

鏡像:提供了數據的安全性;

條帶(塊大小也能夠說是條帶的粒度),它的存在的就是提供了數據併發性

數據的校驗:提供了數據的安全

 

3.Raid相對於單個磁盤優勢:

RAID-0的工做原理

條帶 (strping),也是咱們最先出現的RAID模式

需磁盤數量:2塊以上(大小最好相同),是組建磁盤陣列中最簡單的一種形式,只須要2塊以上的硬盤便可.

特色:成本低,能夠提升整個磁盤的性能。RAID 0沒有提供冗餘或錯誤修復能力,速度快.

任何一個磁盤的損壞將損壞所有數據;磁盤利用率爲100%。

 

 

RAID-1的工做原理

mirroring(鏡像卷),須要磁盤兩塊以上

原理: 是把一個磁盤的數據鏡像到另外一個磁盤上,也就是說數據在寫入一塊磁盤的同時,會在另外一塊閒置的磁盤上生成鏡像文件,(同步)

特色:  RAID 1 mirroring(鏡像卷),至少須要兩塊硬盤

磁盤利用率爲50%,即2塊100G的磁盤構成RAID1只能提供100G的可用空間。以下圖

 

 

 

 

 

RAID-5

須要三塊或以上硬盤,能夠提供熱備盤實現故障的恢復;只損壞一塊,沒有問題。但若是同時損壞兩塊磁盤,則數據將都會損壞。 空間利用率: (n-1)/n   2/3  以下圖所示

 

 

 

 奇偶校驗信息的做用:

當RAID5的一個磁盤數據發生損壞後,利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。

 

擴展:異或運算

所謂的「奇偶校驗」能夠簡單理解爲二進制運算中的「異或運算」,一般用 xor 標識。

 

 

 

    最左邊的是原始數據,右邊分別是三塊硬盤,假設第二塊硬盤出了故障,經過第一塊硬盤上的 1 和第三塊硬盤上的 1 xor 2,就可以還原出 2。同理能夠還原出 3 和 8。至於 5 xor 6 則更簡單了,直接用 5 和 6 運算出來便可。

    一句話解釋 raid 5 的數據恢復原理就是:都是用公式算出來的。

  

  嵌套RAID級別

RAID-10鏡像+條帶

         RAID 10是將鏡像和條帶進行兩級組合的RAID級別,第一級是RAID1鏡像對,第二級爲RAID 0。

 

 

 

 

 4.RAID硬盤失效處理

通常兩種處理方法:熱備和熱插拔

熱備:HotSpare

定義:當冗餘的RAID組中某個硬盤失效時,在不干擾當前RAID系統的正常使用的狀況下,用RAID系統中另一個正常的備用硬盤自動頂替失效硬盤,及時保證RAID系統的冗餘性

熱插拔:HotSwap

定義:在不影響系統正常運轉的狀況下,用正常的物理硬盤替換RAID系統中失效硬盤。

全局式:備用硬盤爲系統中全部的冗餘RAID組共享

專用式:備用硬盤爲系統中某一組冗餘RAID組專用

以下圖所示:是一個全局熱備的示例,該熱備盤由系統中兩個RAID組共享,可自動頂替任何一個RAID中的一個失效硬盤

 

 

 

 

5.RAID-0-1-5-10搭建及使用-刪除RAID及注意事項

RAID的實現方式

面試題:咱們作硬件RAID,是在裝系統前仍是以後?

答:先作陣列才裝系統 ,通常服務器啓動時,有顯示進入配置Riad的提示。

硬RAID:須要RAID卡,咱們的磁盤是接在RAID卡的,由它統一管理和控制。數據也由它來進行分配和維護;它有本身的cpu,處理速度快

軟RAID:經過操做系統實現

 

 6.Mdadm命令詳解

 mdadm命令常見參數解釋:

參數

做用

-a                                                    

檢測設備名稱 

添加磁盤                                                                                           

-n

指定設備數量

-l

指定RAID級別                                                              

-C

建立

-v

顯示過程

-f

模擬設備損壞

-r

移除設備

-Q

查看摘要信息

-D

查看詳細信息

-S

中止RAID磁盤陣列

 

 

7.實戰搭建raid10陣列

1.新添加4塊硬盤

 

 第一步:查看磁盤

[root@ken ~]# ls /dev/sd*

/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdc  /dev/sdd  /dev/sde

 

第二步:下載mdadm

[root@ken ~]# yum install mdadm -y

 

第三步:建立raid10陣列

[root@ken ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sd{b,c,d,e}

-C:建立

V:顯示過程

-a:檢測設備名稱添加磁盤

-n:指定設備數量

-l:指定RAID級別                       

 

 

第四步:格式磁盤陣列爲xfs

[root@ken ~]# mkfs.xfs /dev/md0

mapper/ mcelog  md0     mem     midi    mqueue/

 

第五步:掛載

[root@ken ~]# mkdir /raid10

[root@ken ~]# mount /dev/md0 /raid10

[root@ken ~]# df -h

 

第六步:查看/dev/md0的詳細信息m

[root@ken ~]# mdadm -D /dev/md0/dev/md0:

 

第七步:寫入到配置文件中

[root@ken ~]# echo "/dev/md0 /raid10 ext4 defaults 0 0" >> /etc/fstab

 -D:查看詳細信息

 

 8.損壞磁盤陣列及修復

第一步:模擬設備損壞

[root@ken ~]# mdadm /dev/md0 -f /dev/sdb

-f: 模擬設備損壞

[root@ken ~]# mdadm -D /dev/md0/dev/md0:

-D:查看詳細信息

 

第二步:添加新的磁盤

[root@ken ~]# reboot

[root@ken ~]# umount /raid10

[root@ken ~]# mdadm /dev/md0 -a /dev/sdb

*-a:檢測設備名稱,添加磁盤      

[root@ken ~]# mdadm -D  /dev/md0/dev/md0:

-D:查看詳細信息

 

再次查看發現已經構建完畢

[root@ken ~]# mdadm -D  /dev/md0/dev/md0:

 

 

 9.實戰搭建raid5陣列+備份盤

 

第一步:查看磁盤

[root@ken ~]# ls /dev/sd*

/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdc  /dev/sdd  /dev/sde

 

第二步:建立RAID5陣列

[root@ken ~]# mdadm  -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sd{b,c,d,e}

 

第三步:格式化爲xfs

[root@ken ~]# mkfs.xfs /dev/md0

 

第四步:掛載

[root@ken ~]# mount /dev/md0 /raid5

[root@ken ~]# df -h

 

第五步:查看陣列信息

能夠發現有一個備份盤/dev/sde

[root@ken ~]# mdadm -D /dev/md0/dev/md0:

 

第六步:模擬/dev/sdb磁盤損壞

能夠發現/dev/sde備份盤當即開始構建

[root@ken ~]# mdadm /dev/md0 -f /dev/sdb

[root@ken ~]# mdadm -D /dev/md0/dev/md0:

 

10. centos7系統啓動過程及相關配置文件

1.uefi或BIOS初始化開始開機自檢post(power on self test)(自檢磁盤、CPU、內存)

2.加載MBR到內存(引導程序)

3.GRUB階段(加載操做系統)

4.加載內核和initramfs模塊(內核和虛擬內存)

5.內核開始初始化使用systemd來代替centos6之前的init程序

相關文章
相關標籤/搜索