【 运维这些事儿 】- raid磁盘阵列

RAID简述

Raid是把多张硬盘组成一个容量更大,安全性更高的磁盘组。并把数据分成多个区段分别存放在不同的物理硬盘设备上,利用分散读写技术来提高整个磁盘组的性能。

类型

常见的Raid方案

  • RAID0:最少两块,是把多个磁盘合并成一个大磁盘,来提高读写,但数据安全性得不到保障

在这里插入图片描述

  • RAID1:最少两块,称之为镜像,与RAID0正好相反,为了提高数据安全性数据保留两份,成本极高

在这里插入图片描述

  • RAID5:最少三块,RAID5 技术是把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中。RAID 5 磁盘阵列组中数据的奇偶校验信息并不是单独保存到某一块硬盘设备中,而是存储到除自身以外的其他每一块硬盘设备上,这样的好处是其中任何一设备损坏后不至于出现致命缺陷

在这里插入图片描述

  • RAID10:最少四块,RAID 10 技术是 RAID 1+RAID 0 技术的一个“组合体”。其中先分别

    两两制作成 RAID 1 磁盘阵列,以保证数据的安全性;然后再对两个 RAID 1磁盘阵列实施 RAID 0 技

    术,进一步提高硬盘设备的读写速度。这样从理论上来讲,只要坏的不是同一组中的所有硬盘,那么最

    多可以损坏 50%的硬盘设备而不丢失数据。

在这里插入图片描述

实操

环境:Centos7 ,

VMWare Workstation添加四块硬盘
在这里插入图片描述

添加好之后重启机器,查看磁盘是否添加成功

[root@master ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   50G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   49G  0 part 
  ├─centos-root 253:0    0 45.1G  0 lvm  /
  └─centos-swap 253:1    0  3.9G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
sdc               8:32   0   20G  0 disk 
sdd               8:48   0   20G  0 disk 
sde               8:64   0   20G  0 disk 
sr0              11:0    1  4.4G  0 rom  

创建RAID0

利用磁盘分区新建2个磁盘分区,每个大小为20 GB。用这2个20 GB的分区来模拟1个40 GB的硬盘。

最后查看磁盘名称

1.安装mdadm工具(预装好epel源)

mdadm是一个用于创建、管理、监控RAID设备的工具,它使用linux中的md驱动。

yum install -y mdadm

2.创建raid

将/dev/sdb和/dev/sdc建立RAID等级为RAID 0的md0(设备名)

[root@master ~]# mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
  1. xfs 格式化
[root@master ~]# mkfs.xfs /dev/md0
meta-data=/dev/md0               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

4.挂载

创建一个使用目录将设备md0挂载到目录下面

[root@master ~]# mkdir /raid0
[root@master ~]# mount /dev/md0 /raid0
[root@master ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G   12M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root   46G  1.4G   44G   4% /
/dev/sda1               1014M  150M  865M  15% /boot
tmpfs                    378M     0  378M   0% /run/user/0
/dev/md0                  40G   33M   40G   1% /raid0

可以看到有一个40G名为md0设备的大硬盘

5.永久挂载

mount只是临时对文件进行挂载,当机器宕机重启,将需要重新挂载,我们这里通过修改配置文件,来进行永久挂载

[root@master ~]# blkid /dev/md0
/dev/md0: UUID="e3073c81-ecdd-4de4-88bd-2161bac56acc" TYPE="xfs" 

blkid命令查看块设备的文件系统类型、LABEL、UUID等信息

[root@master ~]# echo "/dev/md0 /raid0 xfs defaults 0 0" >> /etc/fstab

系统重启时会主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘。这样我们只需要将磁盘的挂载信息写入这个文件中,就不需要手动进行挂载了

6.查询raid的详细信息

[root@master ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Tue Oct  4 21:54:44 2022
        Raid Level : raid0
        Array Size : 41908224 (39.97 GiB 42.91 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Tue Oct  4 21:54:44 2022
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

        Chunk Size : 512K

Consistency Policy : none

              Name : master:0  (local to host master)
              UUID : fc14cd19:77d3eecf:04f2b081:a0008bbc
            Events : 0

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

删除RAID0

[root@master ~]# umount /raid0    ##去挂载
[root@master ~]# mdadm -S /dev/md0  ## 停止RAID
mdadm: stopped /dev/md0
[root@master ~]# mdadm --zero-superblock /dev/sdb  
[root@master ~]# mdadm --zero-superblock /dev/sdc

–zero-superblock 来清空磁盘中RAID阵列的超级块信息。

RAID运维操作

1.利用磁盘分区新建4个磁盘分区,每个大小为20 GB。用3个20 GB的分区来模拟raid 5,加一个热备盘。

[root@master ~]# mdadm -Cv /dev/md5 -l 5 -n3 /dev/sdb /dev/sdc /dev/sdd --spare-devices=1 /dev/sde
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.

2.查看RAID的详细信息,

[root@master ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Tue Oct  4 23:23:22 2022
        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 : Tue Oct  4 23:24:16 2022
             State : clean, degraded, recovering 
    Active Devices : 2
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 2

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

    Rebuild Status : 50% complete

              Name : master:5  (local to host master)
              UUID : 14f81915:11b1621e:d8737c7f:b60cbc26
            Events : 9

    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      spare rebuilding   /dev/sdd

       3       8       64        -      spare   /dev/sde

3.模拟硬盘故障

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

4.查看RAID的详细信息

[root@master ~]# mdadm -D /dev/md5
/dev/md5:
·······

Consistency Policy : resync

              Name : master:5  (local to host master)
              UUID : 14f81915:11b1621e:d8737c7f:b60cbc26
            Events : 20

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       1       8       32        1      active sync   /dev/sdc
       -       0        0        2      removed

       0       8       16        -      faulty   /dev/sdb
       3       8       64        -      spare   /dev/sde
       4       8       48        -      spare   /dev/sdd

5.原来的热备盘/dev/sde正在参与RAID 5的重建,而原来的/dev/sdb变成了坏盘,热移除故障盘,并重新添加磁盘

[root@master ~]# mdadm -r /dev/md5 /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md5
[root@master ~]# mdadm -a /dev/md5 /dev/sdb
mdadm: added /dev/sdb

-f fail缩写 指定磁盘损坏 -r 从阵列中移除指定磁盘 -a 阵列中添加指定磁盘

6.格式化磁盘并进行挂载

[root@master ~]# mdadm -a /dev/md5 /dev/sdb
mdadm: added /dev/sdb
[root@master ~]# 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
[root@master ~]# mkdir /raid5
[root@master ~]# mount /dev/md5 /raid5/
[root@master ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G   12M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root   46G  1.4G   44G   4% /
/dev/sda1               1014M  150M  865M  15% /boot
tmpfs                    378M     0  378M   0% /run/user/0
/dev/md5                  40G   33M   40G   1% /raid5

结论

磁盘阵列有利有弊,要根据需求来选择类型,也可以对RAID进行组合使用,使数据安全和读写进一步提高。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力做一名技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值