zoukankan      html  css  js  c++  java
  • Linux软raid创建

      RAID: 

       HBA:基于主机的适配器 

       RAID:Redundent Array of Inexpensive Disks 廉价磁盘阵列

                                Independent       独立磁盘阵列

         Level:仅用于标识磁盘组合方式的不同,不能取代数据备份

            raid0,raid1,raid5,raid10,raid50,jbod

            raid0:提高读写性能,没有容错能力。至少需要两块磁盘 100%

            raid1:至少需要两块硬盘,镜像,硬件容错能力,读性能提升,写性能下降 50%

            raid4:至少需要三块硬盘,允许一块盘出错,读写性能提升,(n-1)/n

            raid5: 至少需要三块硬盘,允许一块盘出错,读写性能提升,(n-1)/n

            raid6: 至少需要四块磁盘,允许两块盘出错。读写性能提升,(n-2)/n

            raid10:至少需要四块磁盘。允许不同组内个各坏一块盘,读写性能提升,50%

            raid01:

            jbod:

          md,可以组合任何块设备

          mdadm,/etc/mdadm.conf

          mdadm:模式化的工具

            -A  Assemble 装配模式

            -C  Create 创建模式

              -n #:用于创建RAID设备的个数

              -x #: 热备磁盘的个数

              -l :指定RAID级别

              -a :=yes(自动为创建的RAID设备创建设备文件) md mdp part p 如何创建设备文件

              -c:指定块的大小,默认为512KB

            -F FOLLOW 监控

            -S 停止RAID

            -D --detail: 显示阵列详细信息

            Manage 管理模式专用项

              -f:模拟损害

              -r:模拟移除设备

              -a:模拟添加新设备

          watch 

            -n #:每个#执行一次指定的命令,单位为s

              [root@mail ~]# watch -n1 'cat /proc/mdstat'

       

      使用raid0创建一个6G大小的磁盘。

      1. 1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        25
        26
        27
        28
        29
        30
        31
        32
        33
        34
        35
        36
        37
        38
        39
        40
        41
        42
        43
        44
        45
        46
        47
        48
        49
        50
        51
        52
        53
        54
        55
        56
        57
        58
        59
        60
        61
        62
        63
        64
        65
        66
        67
        68
        69
        70
        71
        72
        73
        74
        75
        76
        77
        78
        79
        80
        81
        82
        83
        84
        85
        86
        87
        88
        89
        90
        91
        92
        93
        94
        95
        96
        97
        98
        99
        100
        101
        102
        103
        104
        105
        106
        107
        108
        109
        110
        111
        112
        113
        114
        115
        116
        117
        118
        119
        120
        [root@mail ~]# fdisk /dev/sdc
        Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
        Building a new DOS disklabel with disk identifier 0xba68f31c.
        Changes will remain in memory only, until you decide to write them.
        After that, of course, the previous content won't be recoverable.
         
        Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
         
        WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
                 switch off the mode (command 'c') and change display units to
                 sectors (command 'u').
         
        Command (m for help): n
        Command action
           e   extended
           p   primary partition (1-4)
        p
        Partition number (1-4): 1
        First cylinder (1-2610, default 1):
        Using default value 1
        Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +6G
         
        Command (m for help): n
        Command action
           e   extended
           p   primary partition (1-4)
        p
        Partition number (1-4): 2
        First cylinder (785-2610, default 785):
        Using default value 785
        Last cylinder, +cylinders or +size{K,M,G} (785-2610, default 2610): +6G
         
        Command (m for help): t
        Partition number (1-4): 1
        Hex code (type L to list codes): fd
        Changed system type of partition 1 to fd (Linux raid autodetect)
         
        Command (m for help): t
        Partition number (1-4): 2
        Hex code (type L to list codes): fd
        Changed system type of partition 2 to fd (Linux raid autodetect)
         
        Command (m for help): w
        The partition table has been altered!
         
        Calling ioctl() to re-read partition table.
        Syncing disks.
        [root@mail ~]# mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdc{1,2}
        mdadm: Defaulting to version 1.2 metadata
        mdadm: array /dev/md0 started.
        [root@mail ~]# cat /proc/mdstat
        Personalities : [raid0]
        md0 : active raid0 sdc2[1] sdc1[0]
              12585984 blocks super 1.2 512k chunks
               
        unused devices: <none>
        [root@mail ~]# mdadm -D /dev/md0
        /dev/md0:
                Version : 1.2
          Creation Time : Tue May 10 20:19:43 2016
             Raid Level : raid0
             Array Size : 12585984 (12.00 GiB 12.89 GB)
           Raid Devices : 2
          Total Devices : 2
            Persistence : Superblock is persistent
         
            Update Time : Tue May 10 20:19:43 2016
                  State : clean
         Active Devices : 2
        Working Devices : 2
         Failed Devices : 0
          Spare Devices : 0
         
             Chunk Size : 512K
         
                   Name : mail.saviorsyang.com:0  (local to host mail.saviorsyang.com)
                   UUID : b5ec8803:366d2e9d:a1ddd0f2:58101d5c
                 Events : 0
         
            Number   Major   Minor   RaidDevice State
               0       8       33        0      active sync   /dev/sdc1
               1       8       34        1      active sync   /dev/sdc2
         
        [root@mail ~]# mke2fs -t ext4 /dev/md0
        mke2fs 1.43-WIP (20-Jun-2013)
        Filesystem label=
        OS type: Linux
        Block size=4096 (log=2)
        Fragment size=4096 (log=2)
        Stride=128 blocks, Stripe width=256 blocks
        786864 inodes, 3146496 blocks
        157324 blocks (5.00%) reserved for the super user
        First data block=0
        Maximum filesystem blocks=3225419776
        97 block groups
        32768 blocks per group, 32768 fragments per group
        8112 inodes per group
        Superblock backups stored on blocks:
          32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
         
        Allocating group tables: done                           
        Writing inode tables: done                           
        Creating journal (32768 blocks):
        done
        Writing superblocks and filesystem accounting information: done
         
        [root@mail ~]# mkdir  /test/md0
        [root@mail ~]# mount /dev/md0 /test/md0
        [root@mail ~]# mount
        /dev/mapper/vg_demo-lv_root on / type ext4 (rw)
        proc on /proc type proc (rw)
        sysfs on /sys type sysfs (rw)
        devpts on /dev/pts type devpts (rw,gid=5,mode=620)
        tmpfs on /dev/shm type tmpfs (rw)
        /dev/sda1 on /boot type ext4 (rw)
        /dev/sdb1 on /student type ext4 (rw)
        /dev/sr0 on /mnt type iso9660 (ro)
        none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
        /dev/md0 on /test/md0 type ext4 (rw)

        使用raid1创建一个2G大小的磁盘。

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        25
        26
        27
        28
        29
        30
        31
        32
        33
        34
        35
        36
        37
        38
        39
        40
        41
        42
        43
        44
        45
        46
        47
        48
        49
        50
        51
        52
        53
        54
        55
        56
        57
        58
        59
        60
        61
        62
        63
        64
        65
        66
        67
        68
        69
        70
        71
        72
        73
        74
        75
        76
        77
        78
        79
        80
        81
        82
        83
        84
        85
        86
        87
        88
        89
        90
        91
        92
        93
        94
        95
        96
        97
        98
        99
        100
        101
        102
        103
        104
        105
        106
        107
        108
        109
        110
        111
        112
        113
        114
        115
        116
        117
        118
        119
        120
        121
        122
        123
        124
        125
        126
        127
        128
        129
        130
        131
        132
        133
        134
        135
        136
        137
        138
        139
        140
        141
        142
        143
        144
        145
        146
        147
        148
        149
        150
        151
        152
        153
        154
        155
        156
        157
        158
        159
        160
        161
        162
        163
        164
        165
        166
        167
        168
        [root@mail ~]# fdisk /dev/sdc
         
        WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
                 switch off the mode (command 'c') and change display units to
                 sectors (command 'u').
         
        Command (m for help): n
        Command action
           e   extended
           p   primary partition (1-4)
        e
        Partition number (1-4):
        Value out of range.
        Partition number (1-4): 3
        First cylinder (1569-2610, default 1569):
        Using default value 1569
        Last cylinder, +cylinders or +size{K,M,G} (1569-2610, default 2610):
        Using default value 2610
         
        Command (m for help): n
        Command action
           l   logical (5 or over)
           p   primary partition (1-4)
        l
        First cylinder (1569-2610, default 1569):
        Using default value 1569
        Last cylinder, +cylinders or +size{K,M,G} (1569-2610, default 2610): +2G
         
        Command (m for help): n
        Command action
           l   logical (5 or over)
           p   primary partition (1-4)
        l
        First cylinder (1831-2610, default 1831):
        Using default value 1831
        Last cylinder, +cylinders or +size{K,M,G} (1831-2610, default 2610): +2G
         
        Command (m for help): w
        The partition table has been altered!
         
        Calling ioctl() to re-read partition table.
         
        WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
        The kernel still uses the old table. The new table will be used at
        the next reboot or after you run partprobe(8) or kpartx(8)
        Syncing disks.
         
        [root@mail ~]# fdisk /dev/sdc
         
        WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
                 switch off the mode (command 'c') and change display units to
                 sectors (command 'u').
         
        Command (m for help): t
        Partition number (1-6): 5
        Hex code (type L to list codes): fd
        Changed system type of partition 5 to fd (Linux raid autodetect)
         
        Command (m for help): t
        Partition number (1-6): 6
        Hex code (type L to list codes): fd
        Changed system type of partition 6 to fd (Linux raid autodetect)
         
        Command (m for help): w
        The partition table has been altered!
         
        Calling ioctl() to re-read partition table.
         
        WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
        The kernel still uses the old table. The new table will be used at
        the next reboot or after you run partprobe(8) or kpartx(8)
        Syncing disks.
             
        [root@mail ~]# partx /dev/sdc
        # 1:        63- 12594959 ( 12594897 sectors,   6448 MB)
        # 2:  12594960- 25189919 ( 12594960 sectors,   6448 MB)
        # 3:  25189920- 41929649 ( 16739730 sectors,   8570 MB)
        # 4:         0-       -1 (        0 sectors,      0 MB)
        # 5:  25189983- 29398949 (  4208967 sectors,   2154 MB)
        # 6:  29399013- 33607979 (  4208967 sectors,   2154 MB)
         
        [root@mail ~]# cat /proc/partitions
        major minor  #blocks  name
         
           8       32   20971520 sdc
           8       33    6297448 sdc1
           8       34    6297480 sdc2
           8       35         31 sdc3
           8       37    2104483 sdc5
           8       38    2104483 sdc6
           8        0   52428800 sda
           8        1     512000 sda1
           8        2   51915776 sda2
           8       16  524288000 sdb
           8       17  524281243 sdb1
           8       48   20971520 sdd
          11        0    3763200 sr0
         252        0   47816704 dm-0
         252        1    4096000 dm-1
           9        0   12585984 md0
        [root@mail ~]# mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdc{5,6}
        mdadm: Note: this array has metadata at the start and
            may not be suitable as a boot device.  If you plan to
            store '/boot' on this device please ensure that
            your boot-loader understands md/v1.x metadata, or use
            --metadata=0.90
        Continue creating array? yes
        mdadm: Defaulting to version 1.2 metadata
        mdadm: array /dev/md1 started.
        [root@mail ~]# cat /proc/mdstat
        Personalities : [raid0] [raid1]
        md1 : active raid1 sdc6[1] sdc5[0]
              2102400 blocks super 1.2 [2/2] [UU]
              [=================>...]  resync = 85.5% (1800064/2102400) finish=0.0min speed=200007K/sec
               
        md0 : active raid0 sdc2[1] sdc1[0]
              12585984 blocks super 1.2 512k chunks
               
        unused devices: <none>
        [root@mail ~]# cat /proc/mdstat
        Personalities : [raid0] [raid1]
        md1 : active raid1 sdc6[1] sdc5[0]
              2102400 blocks super 1.2 [2/2] [UU]
               
        md0 : active raid0 sdc2[1] sdc1[0]
              12585984 blocks super 1.2 512k chunks
               
        unused devices: <none>
         
         
        [root@mail ~]#
        [root@mail ~]# mke2fs -t ext4 /dev/md1
        mke2fs 1.43-WIP (20-Jun-2013)
        Filesystem label=
        OS type: Linux
        Block size=4096 (log=2)
        Fragment size=4096 (log=2)
        Stride=0 blocks, Stripe width=0 blocks
        131648 inodes, 525600 blocks
        26280 blocks (5.00%) reserved for the super user
        First data block=0
        Maximum filesystem blocks=541065216
        17 block groups
        32768 blocks per group, 32768 fragments per group
        7744 inodes per group
        Superblock backups stored on blocks:
            32768, 98304, 163840, 229376, 294912
         
        Allocating group tables: done                           
        Writing inode tables: done                           
        Creating journal (16384 blocks): done
        Writing superblocks and filesystem accounting information: done
         
        [root@mail ~]# mkdir -pv /test/md1
        [root@mail ~]# mount /dev/md1 /test/md1
        [root@mail ~]# mount
        /dev/mapper/vg_demo-lv_root on / type ext4 (rw)
        proc on /proc type proc (rw)
        sysfs on /sys type sysfs (rw)
        devpts on /dev/pts type devpts (rw,gid=5,mode=620)
        tmpfs on /dev/shm type tmpfs (rw)
        /dev/sda1 on /boot type ext4 (rw)
        /dev/sdb1 on /student type ext4 (rw)
        /dev/sr0 on /mnt type iso9660 (ro)
        none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
        /dev/md1 on /test/md1 type ext4 (rw)







    1. 相关阅读:
      springboot自动装配原理
      @Inherited 注解的作用
      基础知识点:链表反转
      基础知识点:二叉树的层次遍历
      算法题:8、二进制中1的个数
      微服务_GPRC
      扎实基础_数据结构
      .net core3.0程序发布到linux+docker
      c#_安全漏洞总结
      IIS Express(电脑无管理员权限如何启用VS调试)
    2. 原文地址:https://www.cnblogs.com/Saviorsyang/p/5738394.html
    Copyright © 2011-2022 走看看