RAID磁盤列陣

                        RAID

  RAID是英文Redundant Array of Independent Disks的縮寫,中文簡稱為獨立冗余磁盤陣列。簡單的說,RAID是一種把多塊獨立的硬盤(物理硬盤)按不同的方式組合起來形成一個硬盤組(邏輯硬盤),從而提供比單個硬盤更高的存儲性能和提供數據備份技術。組成磁盤陣列的不同方式稱為RAID級別(RAID Levels)。在用戶看起來,組成的磁盤組就像是一個硬盤,用戶可以對它進行分區,格式化等等??傊?,對磁盤陣列的操作與單個硬盤一模一樣。不同的是,磁盤陣列的存儲速度要比單個硬盤高很多,而且可以提供自動數據備份。數據備份的功能是在用戶數據一旦發生損壞后,利用備份信息可以使損壞數據得以恢復,從而保障了用戶數據的安全性

通過把多個磁盤組織在一起作為一個邏輯卷提供磁盤跨越功能;

通過把數據分成多個數據塊(Block)并行寫入/讀出多個磁盤以提高訪問磁盤的速度;

通過鏡像或校驗操作提供容錯能力;

RAID技術分為幾種不同的等級,分別可以提供不同的速度,安全性和性價比。根據實際情況選擇適當的RAID級別可以滿足用戶對存儲系統可用性、性能和容量的要求。常用的RAID級別有以下幾種:RAID0,RAID1,RAID4 RAID5 RAID6,RAID10,RAID01等。目前經常使用的是RAID5和RAID(1+0)。

RAID-0 :也叫條帶卷,它代表了所有RAID級別中最高的存儲性能。它把數據分塊存儲提高性能,所有也會影響它的冗余能力。

    讀寫性能提升

    可用空間:N*min(S1,S2,…)

    無容錯能力

    最少磁盤數:2,2+

RAID-1:也稱鏡像卷,把同一數據分開存儲到2個相同的磁盤里從而提高數據的冗余能力。

    讀性能提升、寫略有下降

    可用空間:1*nub(S1,S2…)

    有容錯能力

    最少磁盤數:2,2+

RAID-4: RAID4即帶奇偶校驗碼的獨立磁盤結構,二塊寫入數據,一塊寫入校驗碼,校驗碼磁盤容易損壞,在獨立訪問陣列中,每個磁盤都是獨立運轉的,因此不同的I/O請求可以并行地滿足

   

RAID-5:和RAID4類似,但它把校驗碼通過運算存儲到各個磁盤上從而提升數據的冗余

    讀、寫性能提升

    可用空間:(N-1)*min(S1,S2…)

    有容錯能力:1塊磁盤

    最少磁盤:3,3+

RAID-6:是RAID-5的增強版,通過校驗,讓數據更加冗余安全,但寫入較差

    讀、寫性能提升

    可用空間:(N-2)*min(S1,S2…)

    有容錯能力:2塊磁盤

    最少磁盤:4,4+

混合類型

RAID-10: Raid 10是一個Raid 0與Raid1的組合體,它是利用奇偶校驗實現條帶集鏡像,所以它繼承了Raid0的快速和Raid1的安全

            RAID-10.jpg

    讀、寫性能提升

    可用空間:N*min(S1,S2,….)/2

    有容錯能力:每組鏡像最多只能壞一塊

    最少磁盤數:4, 4+

RAID-01:

    

    性能表現:讀、寫提升

    冗余能力:有

    空間利用率:1/2

    至少需要4塊盤

RAID-50:它具有RAID 5和RAID 0的共同特性。它由兩組RAID 5磁盤組成(每組最少3個),每一組都使用了分布式奇偶位,而兩組硬盤再組建成RAID 0,實現跨磁盤抽取數據。

    

    性能表現:讀、寫提升

    冗余能力:有

    空間利用率:(n-2)/n

    至少需要6塊盤

    

RAID-7 可以理解為一個獨立存儲計算機,自身帶有操作系統和管理工具,可以獨立運行,理論上性能最高的RAID模式

JBOD:Just a Bunch Of Disks

    功能:將多塊磁盤的空間合并以個大的連續空間使用

    可用空間:sum(S1,S2,…)

常用級別:RAID-0,RAID-1,RAID-5,RAID-10,RAID-50,JBOD

RAID實現方式:

        硬件實現方式

        軟件實現方式

     

mdadm: 用于建設,管理和監控RAID陣列

語法

    mdadm [mode] <raiddevice> [options] <component-devices>

模式:

創建:-C

    -a {yes|no}:自動創建目標RAID設備的設備文件

    –create或-C –help :查看創建幫助

    –chunk=      -c #:設置cunk大小

    –level=      -l #:設置RAID等級

    –scan        -s #掃描

    –spare-devices= -x #:指明空閑盤的個數

    –raid-devices= -n #:使用#個塊設備來創建此RAID

顯示: -D   

    –display或-D –hrlp:獲取顯示幫助

    –stop        -S  

裝配: -A

監控: -F

管理:

    

    -f: 標記指定磁盤為損壞

    -a: 添加磁盤

    -r: 移除磁盤

做RAID卷時,磁盤分區要分為Linux raid autodetect 用fdisk /dev/[sh]d[a-z] 下 t該為fd分區

[root@Cloud /]#fdisk -l /dev/sdc #查看已經分為Linux raid autodetect分區
Disk /dev/sdc: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x47d02b82
   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1         654     5253223+  fd  Linux raid autodetect #raid分區
/dev/sdc2             655        1308     5253255   fd  Linux raid autodetect
/dev/sdc3            1309        1962     5253255   fd  Linux raid autodetect

創建RAID-5卷

[root@Cloud /]#mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sdc{1,2,3} /dev/sdb1
mdadm: /dev/sdc1 appears to be part of a raid array:
       level=raid5 devices=3 ctime=Mon Aug  1 22:54:30 2016
mdadm: /dev/sdc2 appears to be part of a raid array:
       level=raid5 devices=3 ctime=Mon Aug  1 22:54:30 2016
mdadm: /dev/sdc3 appears to be part of a raid array:
       level=raid5 devices=3 ctime=Mon Aug  1 22:54:30 2016
mdadm: /dev/sdb1 appears to contain an ext2fs file system
       size=1060256K  mtime=Thu Jan  1 08:00:00 1970
mdadm: /dev/sdb1 appears to be part of a raid array:
       level=raid0 devices=2 ctime=Mon Aug  1 23:26:23 2016
Continue creating array? yes         
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

顯示創建的RAID卷

[root@Cloud /]#mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Tue Aug  2 00:11:50 2016
     Raid Level : raid5 #rai級別
     Array Size : 10498048 (10.01 GiB 10.75 GB)
  Used Dev Size : 5249024 (5.01 GiB 5.38 GB)
   Raid Devices : 3 #raid存儲設備
  Total Devices : 4 #raid全部設備
    Persistence : Superblock is persistent
    Update Time : Tue Aug  2 00:12:35 2016
          State : clean, degraded, recovering 
 Active Devices : 2
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 2
         Layout : left-symmetric
     Chunk Size : 512K #chunk大小
 Rebuild Status : 45% complete
           Name : Cloud.GO:0  (local to host Cloud.GO)
           UUID : 39ef8aa5:5b789569:b425534d:a32cc64e
         Events : 8
    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       34        1      active sync   /dev/sdc2
       4       8       35        2      spare rebuilding   /dev/sdc3
       3       8       17        -      spare   /dev/sdb1 #備用

模擬損壞磁盤

[root@Cloud /]#mdadm /dev/md0 -f /dev/sdc3
mdadm: set /dev/sdc3 faulty in /dev/md0

查看raid狀態

[root@Cloud /]#cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] [raid0] 
md0 : active raid5 sdc3[4](F) sdb1[3] sdc2[1] sdc1[0]
      10498048 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
      [======>..............]  recovery = 30.8% (1621760/5249024) finish=1.0min speed=57920K/sec
      
unused devices: <none>

[root@Cloud /]#mdadm -D /dev/md0 #查看raid信息
/dev/md0:
        Version : 1.2
  Creation Time : Tue Aug  2 00:11:50 2016
     Raid Level : raid5
     Array Size : 10498048 (10.01 GiB 10.75 GB)
  Used Dev Size : 5249024 (5.01 GiB 5.38 GB)
   Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent
    Update Time : Tue Aug  2 00:16:15 2016
          State : clean 
 Active Devices : 3
Working Devices : 3
 Failed Devices : 1
  Spare Devices : 0
         Layout : left-symmetric
     Chunk Size : 512K
           Name : Cloud.GO:0  (local to host Cloud.GO)
           UUID : 39ef8aa5:5b789569:b425534d:a32cc64e
         Events : 37
    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       34        1      active sync   /dev/sdc2
       3       8       17        2      active sync   /dev/sdb1
       4       8       35        -      faulty   /dev/sdc3 #損壞磁盤

移除損壞磁盤

[root@Cloud /]#mdadm /dev/md0 -r /dev/sdc3
mdadm: hot removed /dev/sdc3 from /dev/md0

新增磁盤

[root@Cloud /]#mdadm /dev/md0 -a /dev/sdb2
mdadm: added /dev/sdb2
[root@Cloud /]#mdadm /dev/md0 -a /dev/sdc3
mdadm: added /dev/sdc3

[root@Cloud /]#mdadm -D /dev/md0 #顯示
/dev/md0:
        Version : 1.2
  Creation Time : Tue Aug  2 00:11:50 2016
     Raid Level : raid5
     Array Size : 10498048 (10.01 GiB 10.75 GB)
  Used Dev Size : 5249024 (5.01 GiB 5.38 GB)
   Raid Devices : 3
  Total Devices : 5
    Persistence : Superblock is persistent
    Update Time : Tue Aug  2 00:18:31 2016
          State : clean 
 Active Devices : 3
Working Devices : 5
 Failed Devices : 0
  Spare Devices : 2
         Layout : left-symmetric
     Chunk Size : 512K
           Name : Cloud.GO:0  (local to host Cloud.GO)
           UUID : 39ef8aa5:5b789569:b425534d:a32cc64e
         Events : 40
    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       34        1      active sync   /dev/sdc2
       3       8       17        2      active sync   /dev/sdb1
       4       8       18        -      spare   /dev/sdb2 #新增的磁盤
       5       8       35        -      spare   /dev/sdc3 #新增的磁盤

生成配置文件: 保存配置。

    mdadm –D –s >> /etc/mdadm.conf

radi在掛載的時候盡量使用UUID或lebel掛載,因為raid卷的名字會自動更改!

停止raid服務

[root@Cloud /]#mdadm -S /dev/md0 #停止raid服務
mdadm: stopped /dev/md0
[root@Cloud /]#cat /proc/mdstat #查無raid狀態
Personalities : [raid6] [raid5] [raid4] [raid0] 
unused devices: <none>

激活raid服務

[root@Cloud /]#cat /proc/mdstat #激活raid服務
Personalities : [raid6] [raid5] [raid4] [raid0] 
unused devices: <none>
[root@Cloud /]#mdadm -A -s /dev/md0 
mdadm: /dev/md0 has been started with 3 drives and 1 spare.
[root@Cloud /]#cat /proc/mdstat  #顯示raid5活躍
Personalities : [raid6] [raid5] [raid4] [raid0] 
md0 : active raid5 sdc1[0] sdb1[3](S) sdc3[4] sdc2[1]
      10498048 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
      
unused devices: <none>

徹底刪除raid卷

[root@Cloud /MYDATA]#mdadm --zero-superblock /dev/sdc1#刪除成員
[root@Cloud /MYDATA]#mdadm --zero-superblock /dev/sdc2#刪除成員
[root@Cloud /MYDATA]#mdadm --zero-superblock /dev/sdc3#刪除成員
[root@Cloud /MYDATA]#mdadm --zero-superblock /dev/sdb2#刪除成員
[root@Cloud /MYDATA]#rm -fr /etc/mdadm.conf #刪除配置文件

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

(0)
ladsdmladsdm
上一篇 2016-09-07 20:31
下一篇 2016-09-07 21:33

相關推薦

  • SSH原理與運用:遠程登錄

    如果本地用戶名與遠程用戶名一致,登錄時可以省略用戶名。 1 $ ssh host SSH的默認端口是22,也就是說,你的登錄請求會送進遠程主機的22端口。使用p參數,可以修改這個端口。 1 $ ssh –p 2222 user@host 上面這條命令表示,ssh直接連接遠程主機的2222端口。 三、中間人攻擊 SSH之所以能夠保證安全,原因在于它…

    Linux干貨 2017-08-14
  • Python函數式編程指南(四):生成器

    轉自 http://www.cnblogs.com/huxi/archive/2011/07/14/2106863.html 生成器是迭代器,同時也并不僅僅是迭代器,不過迭代器之外的用途實在是不多,所以我們可以大聲地說:生成器提供了非常方便的自定義迭代器的途徑。 這是函數式編程指南的最后一篇,似乎拖了一個星期才寫好,嗯…… 轉載請注明原作者和原文地…

    Linux干貨 2015-03-09
  • Linux文件類型及顏色標識

    查看文件類型:      指令:ll 文件名或目錄名      –  白色 普通文件(可執行文件)      l  擴寫:sysbolic link 淡藍色 符號鏈接文件   &…

    Linux干貨 2016-10-18
  • 初識Linux基礎

    一:計算機的組成及其基本功能 計算機主要由五大基礎部件組成:控制器,運算器,存儲器,輸入設備,輸出設備. 控制器:計算機的核心組件,協調各程序的運行,對計算機的各項資源進行控制分配; 運算器:計算機實現算術運算以及邏輯運算的部件; 存儲器:計算機用來存放數據和程序的基本部件。 存儲器由若干存儲單元組成,每個存儲單元都有一個地址,計算機通過地址對存儲單元進行讀…

    Linux干貨 2018-03-04
  • N26-第二周博客作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。    查看類    pwd : print name of current/working directory  打印當前工作目錄;        &n…

    Linux干貨 2017-02-17
欧美性久久久久