Raid&LVMの1つRaid

16210 ワード

Raid&LVMの1つRaid
Raid
Raidの紹介
  • RAID、全称Redundant Arrays of Inexpensive(Independent)Disks.簡単な翻訳はディスクアレイと呼ばれます.
  • は、一般的には、パフォーマンス、冗長性、または両方を向上させるために、複数のディスクを1つの「アレイ」に合成することです.
  • の目的は2つあります.1つは、ディスクのIO能力を向上させ、耐久性を向上させることです.
  • の実現方式は3種類あり、以下の通りである.
  • 外付けディスクアレイ:raidカードによる適合性
  • 内蔵式RAID:マザーボード集積RAIDコントローラは、OSをインストールする前にBIOSで
  • を設定する必要がある.
  • ソフトウェアRAID:OSソフトウェアによる一般的なRaidレベル管理ツールの紹介
  • mdadm
  • [root@centos6-node3 ~]# rpm -qa | grep mdadm
    mdadm-3.3.4-8.el6.x86_64
    [root@centos6-node3 ~]# cat /proc/mdstat    #  mdstat  
    Personalities : 
    unused devices: 
    ----------------------------------------
    mdadm -h  
        -C:    
            -n:    RAID    
            -l:      RAID   
            -c CHUNK_SIZE:      
            -x :         
        -A:  
        -D:  RAID     
        -F:  
        -f:         
        -r:    
        -a:    
  • 準備条件:
  • centos6x
  • 6枚ディスクRaid 0操作特徴:
  • raid 0の性能は比較的に高い
  • 空間0浪費
  • 0許容誤差
  • 読み書き性能良好
  • ディスクを2枚用意する
  • 準備した2枚のディスクを確認し、システムによって
    [root@centos6-node3 ~]# ls -l /dev/ |grep sd 
    brw-rw---- 1 root disk      8,   0 Dec  8 21:51 sda
    brw-rw---- 1 root disk      8,   1 Dec  8 21:51 sda1
    brw-rw---- 1 root disk      8,   2 Dec  8 21:51 sda2
    brw-rw---- 1 root disk      8,  16 Dec  8 21:51 sdb
    brw-rw---- 1 root disk      8,  32 Dec  8 21:51 sdc
    brw-rw---- 1 root disk      8,  48 Dec  8 21:51 sdd
    brw-rw---- 1 root disk      8,  64 Dec  8 21:51 sde
    brw-rw---- 1 root disk      8,  80 Dec  8 21:51 sdf
    brw-rw---- 1 root disk      8,  96 Dec  8 21:51 sdg
    [root@centos6-node3 ~]# lsblk -l     #         ,     
  • まで読むことができる.
  • 準備した2枚のディスクにraid情報があるかどうかを確認する
    [root@centos6-node3 ~]# mdadm --examine /dev/sd[b-c]
    mdadm: No md superblock detected on /dev/sdb.
    mdadm: No md superblock detected on /dev/sdc.
  • .
  • raidパーティション
    [root@centos6-node3 ~]# fdisk /dev/sdb    #    
    Command (m for help): n       #    
    p                             #     
    Partition number (1-4): 1     #    
    First cylinder (1-261, default 1):    #                
    Last cylinder, +cylinders or +size{K,M,G} (1-261, default 261):                                 #      
    Command (m for help): p               #       
    Device Boot      Start       End      Blocks   Id  System
    /dev/sdb1          1         261     2096451   83  Linux
    Command (m for help): L       #       
    Command (m for help): t       #      
    Selected partition 1
    Hex code (type L to list codes): fd    #  L       raid   fd
    Command (m for help): p       #          
    Device Boot  Start   End    Blocks   Id  System
    /dev/sdb1      1     261    2096451  fd  Linux raid autodetect
    Command (m for help): w              #    ,    
    The partition table has been altered!
    Calling ioctl() to re-read partition table.
    Syncing disks.
  • を作成する
  • sdcもraidタイプのパーティション
    [root@centos6-node3 ~]# fdisk /dev/sdc
    n
    p
    1
               //  
               //  
    t
    fd
    w
  • を作成するために同様の操作が必要である.
  • ディスクがRaidを正しく定義するかどうかを確認します:
    [root@centos6-node3 ~]# mdadm --examine /dev/sd[b-c]   #   
    /dev/sdb:
    MBR Magic : aa55
    Partition[0] :      4192902 sectors at           63 (type fd)
    /dev/sdc:
    MBR Magic : aa55
    Partition[0] :      4192902 sectors at           63 (type fd)
    [root@centos6-node3 ~]# mdadm --examine /dev/sd[b-c]1  #   
    mdadm: No md superblock detected on /dev/sdb1.
    mdadm: No md superblock detected on /dev/sdc1.
  • Raidデバイス
    
    [root@centos6-node3 ~]# mdadm -C /dev/md0 -l raid0 -n 2 /dev/sd[b-c]1    #  raid0
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md0 started.
    [root@centos6-node3 ~]# cat /proc/mdstat    #  raid  
    Personalities : [raid0] 
    md0 : active raid0 sdc1[1] sdb1[0]
      4190208 blocks super 1.2 512k chunks
  • を作成する
    unused devices:
             :
    ``` bash
    [root@centos6-node3 ~]# mdadm -E /dev/sd[b-c]1
    [root@centos6-node3 ~]# mdadm -D /dev/md0
  • raidにファイルシステムを作成し、/mnt/raid 0の下に掛けます:
    [root@centos6-node3 ~]# mkdir /mnt/raid0
    [root@centos6-node3 ~]# mkfs.ext4 /dev/md0
    [root@centos6-node3 ~]# mount /dev/md0 /mnt/raid0/
    [root@centos6-node3 ~]# df -Th    #  
    Filesystem           Type   Size  Used Avail Use% Mounted on
    /dev/mapper/vg_centos6node3-lv_root
                     ext4    37G 1000M   35G   3% /
    tmpfs                tmpfs  491M     0  491M   0% /dev/shm
    /dev/sda1            ext4   477M   52M  400M  12% /boot
    /dev/md0             ext4   3.9G  8.0M  3.7G   1% /mnt/raid0
    [root@centos6-node3 ~]# cp /tmp/* /mnt/raid0/ -r    #   
    cp: overwrite `/mnt/raid0/yum.log'? y
    [root@centos6-node3 ~]# ll /mnt/raid0/              #  
    total 24
    drwx------ 2 root root 16384 Dec  9 01:16 lost+found
    drwxr-xr-x 3 root root  4096 Dec  9 01:18 opt
    drwxr-xr-x 2 root root  4096 Dec  9 01:18 script
    -rw------- 1 root root     0 Dec  9 01:18 yum.log
    [root@centos6-node3 ~]# df
    Filesystem           1K-blocks    Used Available Use% Mounted on
    /dev/mapper/vg_centos6node3-lv_root
                      38645208 1023300  35652144   3% /
    tmpfs                   502056       0    502056   0% /dev/shm
    /dev/sda1               487652   52916    409136  12% /boot
    /dev/md0               4058816    8212   3841096   1% /mnt/raid0
  • fstab
    [root@centos6-node3 ~]# echo "/dev/md0                /mnt/raid0              ext4    deaults         0 0" >> /etc/fstab
    [root@centos6-node3 ~]# mount -av    #     
    mount: UUID=5783f034-6989-4b6d-a187-3475e1a63eb8 already mounted on /boot
    mount: tmpfs already mounted on /dev/shm
    mount: devpts already mounted on /dev/pts
    mount: sysfs already mounted on /sys
    mount: proc already mounted on /proc
    mount: /dev/md0 already mounted on /mnt/raid0
    nothing was mounted
  • に書き込む
  • Raid情報
    [root@centos6-node3 ~]# mdadm -E -s -v >> /etc/mdadm.conf
    [root@centos6-node3 ~]# cat /etc/mdadm.conf
    ARRAY /dev/md/0  level=raid0 metadata=1.2 num-devices=2 UUID=e285a4e4:6f3f4984:853672cb:d24dfc1a name=centos6-node3:0
    devices=/dev/sdc1,/dev/sdb1
    を保存これでraid 0はRaid 1実操
  • を完了する.
  • 元のraid 0を乾かします.
  • アンインストール
  • 削除
  • 清fstab,/etc/mdadm.conf
    [root@centos6 ~]#umount /mnt/raid0     <==    
    [root@centos6 ~]#mdadm -S /dev/md0     <==    
    mdadm: stopped /dev/md0
    [root@centos6 ~]#mdadm --zero-superblock /dev/sdb1   <==  raid  
    [root@centos6 ~]#mdadm --zero-superblock /dev/sdc1

  • /dev/sd[b-c]1を作成し、フォーマット参照raid 0を完了すると
    [root@centos6-node3 ~]# fdisk /dev/sdb
    [root@centos6-node3 ~]# fdisk /dev/sdc
    [root@centos6-node3 ~]# mdadm -E /dev/sd[b-c]
    [root@centos6-node3 ~]# mdadm -E /dev/sd[b-c]1
  • になります.
  • raidデバイス
    [root@centos6-node3 ~]# mdadm -C /dev/md1 -l raid1 -n 2 /dev/sd[b-c]1
    ###        
    [root@centos6-node3 ~]# mdadm -D /dev/md1
    [root@centos6-node3 ~]# mdadm -E /dev/sd[b-c]1
    [root@centos6-node3 ~]# mkfs.ext4 /dev/md1    #   
  • を作成する
  • [root@centos6-node3 ~]# mkdir /mnt/raid1
    [root@centos6-node3 ~]# mount /dev/md1 /mnt/raid1/
    [root@centos6-node3 ~]# df
    Filesystem           1K-blocks    Used Available Use% Mounted on
    /dev/mapper/vg_centos6node3-lv_root
                      38645208 1021344  35654100   3% /
    tmpfs                   502056       0    502056   0% /dev/shm
    /dev/sda1               487652   52916    409136  12% /boot
    /dev/md1               2029712    3072   1921872   1% /mnt/raid1
    [root@centos6-node3 ~]# dd if=/dev/zero of=/mnt/raid1/f1 bs=1M count=200   #      
    [root@centos6-node3 ~]# ll /mnt/raid1/ -h   #       
    total 201M
    -rw-r--r-- 1 root root 200M Dec  9 02:15 f1
    drwx------ 2 root root  16K Dec  9 02:13 lost+found
    Raid 5をマウントしてテスト
  • 上記raid 1情報
    [root@centos6 ~]#umount /mnt/raid1     <==    
    [root@centos6 ~]#mdadm -S /dev/md1     <==    
    mdadm: stopped /dev/md1
    [root@centos6 ~]#mdadm --zero-superblock /dev/sdb1   <==  raid  
    [root@centos6 ~]#mdadm --zero-superblock /dev/sdc1
  • をクリアする.
  • raid 5,4ブロックディスク、スタンバイ
    [root@centos6-node3 ~]# mdadm -C /dev/md5 -l raid5 -n 3 -x 1 /dev/sd[b-e]1
  • を作成
  • 掛盤&テスト
    [root@centos6-node3 ~]# mkfs.ext4 /dev/md5
    [root@centos6-node3 ~]# mkdir /mnt/raid5
    [root@centos6-node3 ~]# mount /dev/md5 /mnt/raid5
    [root@centos6-node3 ~]# dd if=/dev/zero of=/mnt/raid5/f1 bs=1M count=200
    200+0 records in
    200+0 records out
    209715200 bytes (210 MB) copied, 0.443447 s, 473 MB/s
    [root@centos6-node3 ~]# ll /mnt/raid5/
    total 204816
    -rw-r--r-- 1 root root 209715200 Dec  9 02:29 f1
    drwx------ 2 root root     16384 Dec  9 02:28 lost+found
    Raid 10実操3ステップ操作:
  • 上記raid 5情報
  • をクリアする.
  • raid 0,raid 1,2つのmd
  • を作成する
  • raid 0,raid 1を合併すればよい
  • raid 5情報
    [root@centos6-node3 ~]# umount /mnt/raid5/
    [root@centos6-node3 ~]# mdadm -S /dev/md5
    mdadm: stopped /dev/md5
    [root@centos6-node3 ~]# mdadm --zero-superblock /dev/sd[b-e]1
    [root@centos6-node3 ~]# mdadm -E /dev/sd[b-e]1   #    
    mdadm: No md superblock detected on /dev/sdb1.
    mdadm: No md superblock detected on /dev/sdc1.
    mdadm: No md superblock detected on /dev/sdd1.
    mdadm: No md superblock detected on /dev/sde1.
  • をクリア
  • ペアraid 1
    [root@centos6-node3 ~]# mdadm -C /dev/md1 -l raid1 -n 2 /dev/sd[b-c]1
    [root@centos6-node3 ~]# mdadm -C /dev/md2 -l raid1 -n 2 /dev/sd[e-f]1
  • は、2つのraid 1をraid 0(raid 10より高い)
    
    [root@centos6-node3 ~]# mdadm -C /dev/md10 -l raid0 -n 2 /dev/md1 /dev/md2
    1       9        2        1      active sync   /dev/md2
    [root@centos6-node3 ~]# cat /proc/mdstat     #    
    Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] 
    md10 : active raid0 md2[1] md1[0]
    4188160 blocks super 1.2 512k chunks
  • に統合する.

    md2 : active raid1 sdf1[1] sde1[0]2095424 blocks super 1.2 [2/2] [UU]
    md1 : active raid1 sdc1[1] sdb1[0]2095424 blocks super 1.2 [2/2] [UU]
    -   &  
    ``` bash
    [root@centos6-node3 ~]# mkdir /mnt/raid10
    [root@centos6-node3 ~]# mkfs.ext4 /dev/md10
    [root@centos6-node3 ~]# mount /dev/md10 /mnt/raid10/
    [root@centos6-node3 ~]# dd if=/dev/zero of=/mnt/raid10/f1 bs=1M count=200
    200+0 records in
    200+0 records out
    209715200 bytes (210 MB) copied, 0.312253 s, 672 MB/s
  • すべてのraid操作が完了すると、構成
    [root@centos6-node3 ~]# mdadm -D -s -v >> /etc/mdadm.conf
    の超簡単なRaid 10の作成方法
  • を保存する必要があります.
  • 上記の古いバージョンのraid 10情報
    [root@centos6-node3 ~]# umount /mnt/raid10/
    [root@centos6-node3 ~]# mdadm -S /dev/md10
    mdadm: stopped /dev/md10
    [root@centos6-node3 ~]# mdadm -S /dev/md1
    mdadm: stopped /dev/md1
    [root@centos6-node3 ~]# mdadm -S /dev/md2
    mdadm: stopped /dev/md2
    [root@centos6-node3 ~]# mdadm --zero-superblock /dev/sd[b-c]1
    mdadm: Unrecognised md component device - /dev/sdb1
    mdadm: Unrecognised md component device - /dev/sdc1
    [root@centos6-node3 ~]# mdadm --zero-superblock /dev/sd[d-e]1   #    
    mdadm: Unrecognised md component device - /dev/sdd1
    mdadm: Unrecognised md component device - /dev/sde1
    [root@centos6-node3 ~]# mdadm -E /dev/sd[b-e]1
    mdadm: No md superblock detected on /dev/sdb1.
    mdadm: No md superblock detected on /dev/sdc1.
    mdadm: No md superblock detected on /dev/sdd1.
    mdadm: No md superblock detected on /dev/sde1.
    [root@centos6-node3 ~]# rm -fr /dev/md1
    [root@centos6-node3 ~]# rm -fr /dev/md2
    [root@centos6-node3 ~]# rm -fr /dev/md0
    [root@centos6-node3 ~]# rm -fr /dev/md10
    [root@centos6-node3 ~]# rm -fr /dev/md5
  • をクリアする.
  • ワンステップアプローチ:
    [root@centos6-node3 ~]# mdadm -C /dev/md10 -l raid10 -n 4 /dev/sd[b-e]1    #   
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md10 started.
    [root@centos6-node3 ~]# mkfs.ext4 /dev/md10   #   
  • マウント&テスト
    [root@centos6-node3 ~]# mkdir /mnt/raid10/
    [root@centos6-node3 ~]# mount /dev/md10 /mnt/raid10/
    [root@centos6-node3 ~]# dd if=/dev/zero of=/mnt/raid10/f2 bs=1M count=1024
    1024+0 records in
    1024+0 records out
    1073741824 bytes (1.1 GB) copied, 2.70463 s, 397 MB/s
    最後にすべての操作が完了した後、必ず2つの操作が必要です:
  • raid情報をfstabに書き込む、電源が切れてディスクを再起動しないようにする
  • .
  • すべてのraid操作が完了すると、構成
    [root@centos6-node3 ~]# mdadm -D -s -v >> /etc/mdadm.conf
  • を保存する必要があります.
    Raid障害解決
    Raid試験案
    raid 1のテストを実証します.ワークディスク2枚とスペアディスク1枚が必要です.関連するパーティションを完了すればいいので、マウントしないでください.
  • ツール:mdadm--manage
    [root@centos6-node3 ~]# mdadm --manage --help
    Usage: mdadm arraydevice options component devices...
    This usage is for managing the component devices within an array.
    The --manage option is not needed and is assumed if the first argument
    is a device name or a management option.
    The first device listed will be taken to be an md array device, any
    subsequent devices are (potential) components of that array.
    Options that are valid with management mode are:
    --add         -a   : hotadd subsequent devices to the array
    --re-add           : subsequent devices are re-added if there were
                     : recent members of the array
    --remove      -r   : remove subsequent devices, which must not be active
    --fail        -f   : mark subsequent devices a faulty
    --set-faulty       : same as --fail
    --replace          : mark device(s) to be replaced by spares.  Once
                     : replacement completes, device will be marked faulty
    --with             : Indicate which spare a previous '--replace' should
                     : prefer to use
    --run         -R   : start a partially built array
    --stop        -S   : deactivate array, releasing all resources
    --readonly    -o   : mark array as readonly
    --readwrite   -w   : mark array as readwrite
  • 機能:
  • ディスクアレイ
  • へのデバイスの再追加
  • デバイスを障害としてマークする
  • アレイからデバイス
  • を削除する.
  • 障害機器
  • を代替機器で交換する.
  • 部分アレイ
  • を先に停止する.
  • アレイ
  • を停止する.
  • タグアレイがroまたはrwがraidアレイ追加装置
  • である.
  • raid 1を作成する
  • 上記raid 10
    [root@centos6-node3 ~]# mdadm -S /dev/md10
    mdadm: stopped /dev/md10
    [root@centos6-node3 ~]# mdadm --zero-superblock /dev/sd[b-e]1
    [root@centos6-node3 ~]# mdadm -E /dev/sd[b-e]1
  • をクリアする.
  • raid 1
    [root@centos6-node3 ~]# mdadm -C /dev/md1 -l raid1 -n 2 /dev/sd[b-c]1
    [root@centos6-node3 ~]# mkfs.ext4 /dev/md1
    [root@centos6-node3 ~]# mount /dev/md1 /mnt/raid1
  • 新規作成
  • 追加raidデバイス
    [root@centos6-node3 ~]# mdadm --manage /dev/md1 --add /dev/sdd1
    [root@centos6-node3 ~]# mdadm --manage /dev/md1 --add /dev/sde1  
    ディスクを障害としてマークし、アレイのマーク障害をクリーンアップします.
    [root@centos6-node3 ~]# mdadm --manage /dev/md1 --fail /dev/sdd1
    mdadm: set /dev/sdd1 faulty in /dev/md1
    [root@centos6-node3 ~]# mdadm -D /dev/md1
    [root@centos6-node3 ~]# mdadm --manage /dev/md1 --fail /dev/sde1
    完全にクリアします.マーク障害のとき、
    [root@centos6-node3 ~]# mdadm --manage /dev/md1 --remove /dev/sdd1
    [root@centos6-node3 ~]# mdadm -D /dev/md1    #    
    をクリーンアップしていないので、削除したデバイスの代わりに、さっき/dev/sdd 1
  • を削除しました.
  • 今私たちは女の子を掛けます:
    [root@centos6-node3 ~]# mdadm --manage /dev/md1 --re-add /dev/sdd1
    mdadm: --re-add for /dev/sdd1 to /dev/md1 is not possible
    馬鹿でしょう、新聞が間違っています!

  • アレイ内のディスクが最大数に達しているためです.したがって、例1のように/dev/sdb 1を代替として追加する2つの選択肢がある.またはb)アレイから/dev/sdd 1を削除し、/dev/sdb 1を再追加します.オプションb)を選択し、アレイを停止してから再起動します.
    [root@centos6-node3 ~]# umount /mnt/raid1
    [root@centos6-node3 ~]# mdadm --stop /dev/md1
    [root@centos6-node3 ~]# mdadm --assemble /dev/md1 /dev/sdd1 /dev/sde1
    mdadm: /dev/md1 assembled from 0 drives and 2 spares - not enough to start the array.     #    
    [root@centos6-node3 ~]# mdadm -C /dev/md1 -l raid1 -n 2 /dev/sd[b-c]1    #  raid1
    [root@centos6-node3 ~]# mdadm -D /dev/md1
    [root@centos6-node3 ~]# mdadm --manage /dev/md1 --add /dev/sdd1
    [root@centos6-node3 ~]# mount /dev/md1 /mnt/raid1
    [root@centos6-node3 ~]# ll /mnt/raid1    #       
    total 1048596
    -rw-r--r-- 1 root root 1073741824 Dec  9 03:31 f2
    drwx------ 2 root root      16384 Dec  9 03:27 lost+found

    raidデバイスを特定のディスクで交換する
    [root@centos6-node3 ~]# mdadm --manage /dev/md1 --replace /dev/sdd1 --with /dev/sdc1

    -----END