RAID配置管理

RAID:Redundant Arrays Indexpensive Disks

    多個磁盤組合成一個陣列,來提供更好的性能、冗余

    提高IO功能:

        磁盤并行讀寫

    提高耐用性:

        磁盤冗余來實現

RAID級別:

    多塊磁盤組織在一起的工作方式有所不同

    RAID實現方式:

        外接式磁盤陣列:通過擴展卡提供適配能力

        內接式RAID:主板集成RAID控制器

        Software RAID:軟件級別實現RAID

    RAID-0:條帶

         讀、寫性能提升

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

         無容錯能力

         最少磁盤數:2,2+

    

     RAID-1:鏡像

         讀性能提升、寫性能略有下降:

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

         有冗余能力

         最少磁盤書:2,2+

        

     RAID-5:

         讀、寫性能提升

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

         有冗余能力:1塊磁盤

         最少磁盤數,3,3+

    

     RAID-6:

         讀、寫性能提升

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

         有容錯能力:2塊磁盤

         最少磁盤數:4,4+

    

     混合類型:

         RAID-10:

         讀、寫性能提升

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

         有冗余能力:每組鏡像最多只能壞一塊

         最少磁盤書:4,4+

    

     RAID-01:

         讀、寫性能提升

         可用空間:

    

     RAID-50、RAID7

    

     JBOD:Just a Bunch Of Disks

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

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

        

軟RAID的實現:

    結合內核中的md(multi devices)

    mdadm:模式化的工具

        命令的語法格式:mdadm [mode] <raiddevice> [options] <component-devices>

            支持RAID級別:LINEAR,RAID0,RAID1,RAID4,RAID5,RAID6,RAID10

        模式:

            創建:-C

            裝配:-A

            監控:-F

            管理:-f,-r,-a

        -C:創建模式:

            -n #:使用#個塊設備來創建次RAID

            -l #:指明要創建的RAID的級別

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

            -c CHUNK_SIZE:指明塊chunk大小

            -x #:指明空閑盤的個數

        -D:顯示raid的詳細信息;

            mdadm -D /dev/md#

        管理模式:

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

            -a:添加磁盤

            -r:移除磁盤

        觀察md的狀態:

            cat /proc/mdstat

示例:

一.創建由三塊硬盤組成的RAID5,一塊備用硬盤,chunk大小128K,文件系統為ext4,開機可自動掛載至/backup

1.創建RAID5

[root@CentOS6 ~]# mdadm -C /dev/md0 -c 128K -a yes -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@CentOS6 ~]# ll /dev/md0 
brw-rw----. 1 root disk 9, 0 Sep  1 03:54 /dev/md0
[root@CentOS6 ~]# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Thu Sep  1 03:54:09 2016
     Raid Level : raid5
     Array Size : 41910272 (39.97 GiB 42.92 GB)
  Used Dev Size : 20955136 (19.98 GiB 21.46 GB)
   Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Thu Sep  1 03:55:55 2016
          State : clean 
 Active Devices : 3
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 128K

           Name : CentOS6.localdomain:0  (local to host CentOS6.localdomain)
           UUID : fe4139e3:29157788:5dd26560:df142e56
         Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       4       8       48        2      active sync   /dev/sdd

       3       8       64        -      spare   /dev/sde
[root@CentOS6 ~]#

2.創建文件系統

[root@CentOS6 ~]# mke2fs -t ext4 -b 2048 -m 3 -L MYRAID /dev/md0 
mke2fs 1.41.12 (17-May-2010)
Filesystem label=MYRAID
OS type: Linux
Block size=2048 (log=1)
Fragment size=2048 (log=1)
Stride=64 blocks, Stripe width=128 blocks
2619392 inodes, 20955136 blocks
628654 blocks (3.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=557842432
1279 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
	16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104, 
	2048000, 3981312, 5619712, 10240000, 11943936

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@CentOS6 ~]# blkid /dev/md0
/dev/md0: LABEL="MYRAID" UUID="ed800d73-33c1-41d7-bfcf-dce18dc6aa72" TYPE="ext4" 
[root@CentOS6 ~]#

3.掛載文件系統

(YW@D3KMPX4IR%9[2UB}UAA.png

[root@CentOS6 raid]# cp /etc/* ./ &> /dev/null    #復制文件到此目錄
[root@CentOS6 raid]# cat fstab    #數據可正常訪問

#
# /etc/fstab
# Created by anaconda on Thu Jul 21 15:34:03 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=f4d977bb-af76-4617-b07f-9c70ae42a056 /                       ext4    defaults        1 1
UUID=7907abdd-41cd-4609-8392-80e4a88c5b4c /boot                   ext4    defaults        1 2
UUID=50054489-14c8-4e49-a912-2ff368371653 /testdir                ext4    defaults        1 2
UUID=d9f41da6-9df2-410f-8074-500425b26a3d swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
//10.1.250.60/share	/root/mount		cifs	username=share,password=zhaizong	0 0
/dev/sr0		/media/cdrom		iso9660 defaults	0 0
LABEL=MYRAID	/mnt/raid			ext4	defaults	0 0

 

 

二.模擬故障損壞

1.模擬/dev/sdb硬盤損壞

[root@CentOS6 ~]# mdadm /dev/md0 -f /dev/sdb    #模擬故障/dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
[root@CentOS6 ~]# mdadm -D /dev/md0
...
    Number   Major   Minor   RaidDevice State
       3       8       64        0      spare rebuilding   /dev/sde    #備用設備/dev/sde接替/dev/sdb
       1       8       32        1      active sync   /dev/sdc
       4       8       48        2      active sync   /dev/sdd

       0       8       16        -      faulty   /dev/sdb
[root@CentOS6 ~]#

2.數據還可以正常訪問

[root@CentOS6 raid]# cat fstab

#
# /etc/fstab
# Created by anaconda on Thu Jul 21 15:34:03 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=f4d977bb-af76-4617-b07f-9c70ae42a056 /                       ext4    defaults        1 1
UUID=7907abdd-41cd-4609-8392-80e4a88c5b4c /boot                   ext4    defaults        1 2
UUID=50054489-14c8-4e49-a912-2ff368371653 /testdir                ext4    defaults        1 2
UUID=d9f41da6-9df2-410f-8074-500425b26a3d swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
//10.1.250.60/share	/root/mount		cifs	username=share,password=zhaizong	0 0
/dev/sr0		/media/cdrom		iso9660 defaults	0 0
LABEL=MYRAID	/mnt/raid			ext4	defaults	0 0
[root@CentOS6 raid]#

3.將/dev/sdb重新追加至RAID陣列

[root@CentOS6 ~]# mdadm /dev/md0 -a /dev/sdb
mdadm: added /dev/sdb
[root@CentOS6 ~]# mdadm -D /dev/md0
...
    Number   Major   Minor   RaidDevice State
       3       8       64        0      active sync   /dev/sde
       1       8       32        1      active sync   /dev/sdc
       4       8       48        2      active sync   /dev/sdd

       5       8       16        -      spare   /dev/sdb    #/dev/sdb處于備用狀態
[root@CentOS6 ~]#

 

 

三.刪除RAID

[root@CentOS6 ~]# umount /mnt/raid/
[root@CentOS6 ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@CentOS6 ~]# mdadm --zero-superblock /dev/sdb
[root@CentOS6 ~]# mdadm --zero-superblock /dev/sdc
[root@CentOS6 ~]# mdadm --zero-superblock /dev/sdd
[root@CentOS6 ~]# mdadm --zero-superblock /dev/sde
[root@CentOS6 ~]# blkid
/dev/sda1: UUID="7907abdd-41cd-4609-8392-80e4a88c5b4c" TYPE="ext4" 
/dev/sda2: UUID="f4d977bb-af76-4617-b07f-9c70ae42a056" TYPE="ext4" 
/dev/sda3: UUID="50054489-14c8-4e49-a912-2ff368371653" TYPE="ext4" 
/dev/sda5: UUID="d9f41da6-9df2-410f-8074-500425b26a3d" TYPE="swap" 
[root@CentOS6 ~]#

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

(0)
zhai796898zhai796898
上一篇 2016-09-01 14:34
下一篇 2016-09-01 17:26

相關推薦

  • N26_第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 演示: [root@joylin test]# who|cut -d” ” -f1|uniq root gentoo [root@joylin test]# who|cut -d” ” -f1|uniq -c 5 root 1 gentoo 或者 [root@joyl…

    Linux干貨 2017-02-21
  • CentOS 7上配置php-fpm

    CentOS 7上配置php-fpm:              httpd-2.4:rpm包默認編譯支持了fcgi模塊;              php-fpm包:專用于將php運行于fpm模式;   &n…

    2017-06-06
  • ?LVS

    LVS 概述 LVS工作類型 LVS NAT LVS DR(默認) Direct Routing帶來的問題 限制響應模型的內核參數 LVS TUN LVS FULLNAT scheduling-method 靜態調度算法 動態調度算法 CentOS 7 中的ipvs組件 安裝ipvsadm程序 主要文件 ipvsadm命令 配置集群服務 NAT方法示例 DR…

    Linux干貨 2016-10-26
  • bash特性及配置文件

    bash配置文件     兩類:         profile:為交互式登錄shell提供配置         bashrc:為非交互式登錄shell提供配置…

    Linux干貨 2016-08-31
  • inode總結

    inode的介紹以及影響inode號的命令

    2017-11-13
  • grep命令和find命令的練習

    1、顯示系統上root、Fedora、或user1用戶的默認shell [root@localhost ~]# grep -E “^(root|fedora|user1)\>” /etc/passwd | cut -d: -f1,7 root:/bin/bash fedora:/bin/bash user1:/bin/bash 2、找出/etc/rc.…

    Linux干貨 2017-07-30
欧美性久久久久