RAID 5磁盘阵列部署(三)

本文介绍了RAID 5的工作原理、特点及部署过程。RAID 5是一种平衡性能、安全和成本的存储解决方案,通过奇偶校验提供数据保护。部署步骤包括添加硬盘、创建RAID 5阵列、格式化、挂载以及模拟故障演示了RAID 5的容错能力。

RAID 5

RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 RAID 5可以理解为是RAID 0和RAID 1的折中方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案。

工作原理

RAID 5,数据以块为单位分布到各个硬盘上。RAID 5不对数据进行备份,而是把数据和与其相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。

RAID 5

特点:高读取、读写一般、高可靠

组成条件:至少3块大小相同的磁盘组成

容量:n-1/n磁盘容量总和

 

部署RAID5磁盘阵列组

1.首先在虚拟机中添加四块硬盘,3块用来做RAID 5,另外1块作为备用,当RAID 5中有一块硬盘有故障不能运行的时候,备用的硬盘便会顶替上去继续工作。

2.四块硬盘创建好分区以后,用命令fdisk -l 进行查看,就能看到刚创建好的raid分区,一个是/dev/sdb1,一个是/dev/sdc1,一个是/dev/sdd1,一个是/dev/sde1

[root@localhost ~]# fdisk -l

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xd8c6fa82

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41943039    20970496   fd  Linux raid autodetect

磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xdb452914

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048    41943039    20970496   fd  Linux raid autodetect

磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x20419715

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdd1            2048    41943039    20970496   fd  Linux raid autodetect

磁盘 /dev/sde:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x4d998851

   设备 Boot      Start         End      Blocks   Id  System
/dev/sde1            2048    41943039    20970496   fd  Linux raid autodetect

磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000bef51

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    12584959     6291456   83  Linux
/dev/sda2        12584960    83886079    35650560   8e  Linux LVM

磁盘 /dev/mapper/centos-root:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-swap:4294 MB, 4294967296 字节,8388608 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-home:10.7 GB, 10733223936 字节,20963328 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

 

3. 使用mdadm命令创建RAID 5,名称为"/dev/md5"。

(1)输入命令:mdadm -C -v /dev/md5 -l5 -n3 /dev/sd{b..d}1 -x1 /dev/sde1        

输入命令“cat /proc/mdstat”,可以查看完成的进度

[root@localhost ~]# mdadm -C -v /dev/md5 -l5 -n3 /dev/sd{b..d}1 -x1 /dev/sde1
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 20954112K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] 
md5 : active raid5 sdd1[4] sde1[3](S) sdc1[1] sdb1[0]
      41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
      [===============>.....]  recovery = 75.1% (15749376/20954112) finish=0.4min speed=206421K/sec
      
unused devices: <none>

 

(2)创建好后用命令mdadm -D去进行查看raid5磁盘阵列的详细信息

[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Fri Aug 23 19:50:26 2019
        Raid Level : raid5
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Fri Aug 23 19:52:12 2019
             State : clean 
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost.localdomain:5  (local to host localhost.localdomain)
              UUID : 192e6b07:face7325:435f2848:40b4a92c
            Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
       4       8       49        2      active sync   /dev/sdd1

       3       8       65        -      spare   /dev/sde1

 

4.格式化

(1)输入命令'ls /dev"进行查看,然后输入命令“mkfs.xfs /dev/md5”j进行格式化

[root@localhost ~]# ls /dev
agpgart        cpu              fuse          lp1                 null    rtc0  sde1      stderr  tty15  tty25  tty35  tty45  tty55  tty8     usbmon2  vcsa3
autofs         cpu_dma_latency  hidraw0       lp2                 nvram   sda   sg0       stdin   tty16  tty26  tty36  tty46  tty56  tty9     vcs      vcsa4
block          crash            hpet          lp3                 oldmem  sda1  sg1       stdout  tty17  tty27  tty37  tty47  tty57  ttyS0    vcs1     vcsa5
bsg            disk             hugepages     mapper              port    sda2  sg2       tty     tty18  tty28  tty38  tty48  tty58  ttyS1    vcs2     vcsa6
btrfs-control  dm-0             hwrng         mcelog              ppp     sdb   sg3       tty0    tty19  tty29  tty39  tty49  tty59  ttyS2    vcs3     vfio
bus            dm-1             initctl       md5                 ptmx    sdb1  sg4       tty1    tty2   tty3   tty4   tty5   tty6   ttyS3    vcs4     vga_arbiter
cdrom          dm-2             input         mem                 pts     sdc   sg5       tty10   tty20  tty30  tty40  tty50  tty60  uhid     vcs5     vhci
centos         dri              kmsg          mqueue              random  sdc1  shm       tty11   tty21  tty31  tty41  tty51  tty61  uinput   vcs6     vhost-net
char           fb0              log           net                 raw     sdd   snapshot  tty12   tty22  tty32  tty42  tty52  tty62  urandom  vcsa     vmci
console        fd               loop-control  network_latency     rfkill  sdd1  snd       tty13   tty23  tty33  tty43  tty53  tty63  usbmon0  vcsa1    vsock
core           full             lp0           network_throughput  rtc     sde   sr0       tty14   tty24  tty34  tty44  tty54  tty7   usbmon1  vcsa2    zero
[root@localhost ~]# mkfs.xfs /dev/md5
meta-data=/dev/md5               isize=512    agcount=16, agsize=654720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=10475520, imaxpct=25
         =                       sunit=128    swidth=256 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=5120, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

 

(2)创建好后用命令mdadm -D去进行查看raid5磁盘阵列的详细信息

[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Fri Aug 23 19:50:26 2019
        Raid Level : raid5
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Fri Aug 23 20:16:59 2019
             State : clean 
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost.localdomain:5  (local to host localhost.localdomain)
              UUID : 192e6b07:face7325:435f2848:40b4a92c
            Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
       4       8       49        2      active sync   /dev/sdd1

       3       8       65        -      spare   /dev/sde1

 

5.挂载

创建挂载目录/opt/md5,然后用mount命令把/dev/md5挂载到/opt/md5上,并用命令“df -h”进行查看

[root@localhost ~]# mkdir /opt/md5
[root@localhost ~]# ls /opt/
md5  rh
[root@localhost ~]# mount /dev/md5 /opt/md5
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   20G  4.3G   16G   22% /
devtmpfs                 473M     0  473M    0% /dev
tmpfs                    489M     0  489M    0% /dev/shm
tmpfs                    489M  7.2M  481M    2% /run
tmpfs                    489M     0  489M    0% /sys/fs/cgroup
/dev/sda1                6.0G  161M  5.9G    3% /boot
/dev/mapper/centos-home   10G   37M   10G    1% /home
tmpfs                     98M  4.0K   98M    1% /run/user/42
tmpfs                     98M   24K   98M    1% /run/user/0
/dev/md5                  40G   33M   40G    1% /opt/md5

 

7.模拟故障

第一步,直接用一条命令“mdadm -f /dev/md5 /dev/sdb1”把sdb1卸掉

[root@localhost ~]# mdadm -f /dev/md5 /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md5

 

第二步,用命令cat /proc/mdstat查看raid5的状况,可以看出正在同步

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] 
md5 : active raid5 sdd1[4] sde1[3] sdc1[1] sdb1[0](F)
      41908224 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU]
      [==================>..]  recovery = 90.5% (18965248/20954112) finish=0.1min speed=207091K/sec
      
unused devices: <none>

 

第三步,用命令mdadm -D /dev/md5去查看具体信息,可以看出备用的sde1已经顶替上来开始工作

[root@localhost ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Fri Aug 23 19:50:26 2019
        Raid Level : raid5
        Array Size : 41908224 (39.97 GiB 42.91 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 3
     Total Devices : 4
       Persistence : Superblock is persistent

       Update Time : Fri Aug 23 20:31:21 2019
             State : clean 
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 1
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost.localdomain:5  (local to host localhost.localdomain)
              UUID : 192e6b07:face7325:435f2848:40b4a92c
            Events : 37

    Number   Major   Minor   RaidDevice State
       3       8       65        0      active sync   /dev/sde1
       1       8       33        1      active sync   /dev/sdc1
       4       8       49        2      active sync   /dev/sdd1

       0       8       17        -      faulty   /dev/sdb1

 

 

最后得出结论

当RAID 5中有备用磁盘的情况下,当其中一块磁盘因某种原因停止工作,此时备用磁盘就会顶替不工作的磁盘继续工作,而且数据并不会因此而丢失,仍旧可以读取完整的数据。

 

以上所述就是RAID 5的部署过程,下一篇将针对RAID 10进行部署

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值