Linux高級磁盤管理-RAID管理

在馮諾依曼體系機構中,輸入輸出要存儲的外部磁盤I/O能力實在太低,尤其是企業面對高并發的訪問量,在系統內部需要大量調度磁盤的上的網頁文件資源,這些都會產生大量的I/O,一個磁盤的I/O能力不管如何提升畢竟是有線的,尤其是機械硬盤;同時為了保障業務的連續性,磁盤故障時必須提供冗余能力,面對這樣的實際需求環境,RAID技術產生了,通過組織磁盤陣列方式提供I/O,在內部通過RAID控制器,把多個磁盤的I/O平行組織在一起,當系統需要載入或寫入磁盤上的數據時,也就在RAID控制器的控制下,多個磁盤同時讀同時寫,同時一個數據在控制器下,還可以同時單獨寫入多份,這樣就有了冗余能力,保證了系統業務的連續性,不同的RAID磁盤組織方式,對應不同的實際生產應用需求,根據實際生產應用需求選擇RAID比較合理,實現資源高利用率;

1.RAID:Redundant Arrays of Inexpensive Disks

2.作用:

    (1)提供I/O能力

    (2)提供冗余(數據容錯能力)

3.RAID控制器功能:

    (1)RAID控制器——分割大小(chunk):

     控制器在接受到由CPU控制指令發出寫入磁盤的數據的數據是,在RAID控制器內部把數據劃分多個相同大小的Chunk,每個磁盤寫入一個chunk的數據進行保存,這樣既能提供寫入能力,同時當讀取數據時,RAID控制器也能夠理解還原數據;這就是劃分chunk的原因;

      

   (2)RAID控制器做異或運算–提供校驗碼機制:

     為了提供冗余能力,數據在寫入的同時對chunk做異或運算寫入校驗碼,當有一個磁盤壞損時,讀取數據時可以通過在其他磁盤上的校驗碼做異或運算,推導出原數據,只不過這時的讀取能力差,處于降級模式;

4.RAID級別圖例:

RAID0.png

RAID1.png

RAID5.png

RAID10.png

u=2867059069,1903177332&fm=21&gp=0.jpg

5.RAID總結 

   級別代表多塊磁盤的組織工作方式不同;

RAID級別    讀寫性能提升     冗余     空間利用率     組織最小磁盤數

 0              有           沒有       100%            2

 1              有(讀)       有         1/2             2

 4              有           有         n-1             3

 5              有           有         n-1             3

 6              有           有         n-2             4

 10             有           有         1/2             4

 01             有           有         1/2             4

6.RAID分析:

RAID0

    條帶卷,有一個磁盤壞損,業務立即終止,可以做臨時文件存儲

RAID1

    鏡像卷,只提供讀性能,有冗余,但是空間利用率太低,提供的I/O性能不是很高;

RAID4:

    校驗存儲,利用異或算法,校驗碼在一塊磁盤,校驗盤成為瓶頸,壞損I/O性能降級;

RAID5:

    循環存儲校驗,允許壞損,但是I/O性能降級;

RAID6:

    循環存儲兩份校驗 ,允許壞損2塊,但是整體性能不是很好;

RAID10:

    先做1再做0,數據切割一次,IO性能整體很高,每組鏡像只允許壞一塊;

RAID01:

    先做0再做1,數據切割兩次,每組允許壞損2,但是整體同時只允許一個組有壞損,這種多個組同時壞損一塊的幾率還是比較大的;

JBOD:Just a Bunch of Disks

    作用:將多塊磁盤空間合并為一個大的連續空間使用,為了應對企業單個大文件的訪問存儲;

6.RAID應用實現方式:

    (1)軟件RAID:這種利用軟件功能實現,一般僅供學習使用;

    (2)硬件RAID:需要RAID控制卡,利用的連接設備有可能是光纖交換機;

7.Linux提供軟RAID功能:

mdadm [mode] [options] devices

   -C:創建

     -n # :使用多少個快創建;

     -l # :創建RAID級別;

     -a [yes|no] :自動創建;

     -c Chunk_size :指明chunk大?。?/span>

     -x # :指明空閑磁盤數;

   

   -A:啟動

   -F:監控

   -f:標記壞損;

   -r:移除;

   -a:添加;

   -D:顯示詳細信息;

   -G:添加成員

  

顯示詳細信息

mdadm -D /dev/md0

標記損壞

mdadm /dev/md0 -f /dev/

移除

mdadm /dev/md0 -r /dev/

添加

mdadm /dev/md0 -a /dev/

停止

mdadm -S /dev/md0

啟動

mdadm -A /dev/md0

觀察狀態:

cat /proc/mdstat 

使用watch命令持續觀察

watch -n 1 'cat /proc/mdstat'

8.實例:在CentOS6.8上創建RAID5陣列

    (1)添加5塊硬盤作為RAID使用

Linux高級磁盤管理-RAID管理

    (2)默認分區格式化整個磁盤為主分區20G,同時修改分區類型為支持RAID分區類型;

Linux高級磁盤管理-RAID管理

    (3)查看分區完的磁盤是否讀入到內核中,如何沒有使用partx -a device同步;

2016-09-05 15 06 42.png

   (4)使用mdadm命令創建RAID5,三個做RAID5成員,一塊做空閑盤,另一塊后面使用

2016-09-05 15 12 25.png

    (5)查看創建過程狀態;

2016-09-05 15 13 22.png

2016-09-05 15 17 46.png

    (6)等待創建完成,也可以使用cat /proc/mdstat命令查看

2016-09-05 15 15 49.png

    (7)把創建的配置信息導入到/etc/mdadm.conf文件中,方便下次啟動能夠讀取配置信息;

生成配置文件.png

    (8)要想使用RAID必須格式化文件系統,這里使用ext4

2016-09-05 15 19 12.png

    (9)創建掛載目錄并且掛載到/tmp/raid

2016-09-05 15 22 33.png

    (10)復制文件到RAID5分區中

2016-09-05 15 25 58.png

    (11)測試實驗:標記一塊成員硬盤為壞損,

2016-09-05 15 29 55.png

    (12)查看RAID5分區中的文件是否可以查看,測試壞損一塊成員時,在空閑磁盤構建中,數據是否可以繼續訪問

2016-09-05 15 32 01.png

    (13)查看構建空閑磁盤為成員完成

2016-09-05 15 32 56.png

    (14)刪除標記的壞損成員

Linux高級磁盤管理-RAID管理

     (15)添加一個成員進入,這里變成空間盤

2016-09-05 15 37 35.png

    (16)添加一塊成員進入RAID5陣列中,擴大陣列范圍

2016-09-05 15 43 01.png

    (17)再次測試數據是否可用

2016-09-05 15 46 46.png

    (18)實驗完成刪除RAID步驟

2016-09-05 16 48 16.png

  注意:有了RAID企業還有必要備份數據嗎?

這是必須的,不能取代,RAID提供的僅僅是磁盤壞損不影響業務的終止,并不能保證誤操作引發的數據丟失,備份能防止誤操作和意外故障時提供數據恢復。

原創文章,作者:xiashixiang,如若轉載,請注明出處:http://www.www58058.com/43545

(1)
xiashixiangxiashixiang
上一篇 2016-09-06
下一篇 2016-09-06

相關推薦

  • 系統管理之磁盤管理(一)

    磁盤結構 一.概論 1.操作系統的組成部分: 硬件: 根據馮諾依曼體系,計算機的組成:    運算,控制器:cpu    存儲器:主存(ram);       io設備:      &nbs…

    Linux干貨 2016-08-30
  • Linux基礎知識—Vim編輯器/crond周期性任務計劃

    vim文本編輯 vim是vi文本編輯的增強版本,因其編輯功能強大、且支持各種語言開發環境關鍵字自動增亮功能,也可稱為是開發工具。在Centos7/RHEL7開始,默認將vi定義成vim –color=auto,已經取代了vi的地位。下面總結下關于vim工具的使用 vim有三種模式,每個模式下有其特定的功能;我們可自由在三者之間切換使用: COMM…

    Linux干貨 2016-11-01
  • 計算機網絡基礎及常用工具

    Linux網絡屬性配置      計算機網絡:      TCP/IP: 協議棧(使用)      ISO, OSI: 協議棧(學習)  MAC:Media Access Control      48bits:   &…

    Linux干貨 2017-01-02
  • Linux批量創建用戶、passwd、shadow、組管理、group、gshadow、默認配置文件login.defs、切換用戶su、提升權限(二)

    Linux批量創建用戶、passwd、shadow、組管理、group、gshadow、默認配置文件login.defs、切換用戶su、提升權限(二) Linux對于權限的管理非常完善,其強大的權限管理機制體現了它的魅力之處,讓無數人為之操碎了心。Linux中的權限既能放也能收,既可以管理整個組的權限,也可以管理單個用戶的權限,正是因為有了ACL的加入變得非…

    Linux干貨 2016-08-06
  • Cobbler實現多系統自動化安裝

    Cobbler介紹:  Cobbler能夠快速建立多系統同時安裝的網絡系統安裝環境;傳統的pxe+dhcp+tftp+kickstart僅能夠提供單一系統安裝,功能過于簡單;如果遇到安裝不同操作系統時就遇到瓶頸;而cobbler正好解決了這一問題。Cobbler是增強版的網絡系統安裝。 Cobbler由不同的組件配合完成系統安裝,各組件之間配合如下…

    Linux干貨 2015-08-11
  • N27_第十三周作業

    1、建立samba共享,共享目錄為/data,要求:描述完整的過程 1)共享名為shared,工作組為magedu 2)添加組develop,添加用戶gentoo,centos和Ubuntu,其中gentoo和centos以develop為附加組,Ubuntu不屬于develop組,密碼均為用戶名 3)添加samba用戶gentoo,centos和Ubunt…

    2017-11-20
欧美性久久久久