RAID磁盘阵列

发布于:2024-04-14 ⋅ 阅读:(59) ⋅ 点赞:(0)

一.raid简介

独立硬盘冗余阵列,旧称廉价磁盘冗余阵列,简称磁盘阵列。利用虚拟化存储技术把多个硬盘组合起来,成为一个或多个硬盘阵列组,目的为提升性能或数据冗余,或是两者同时提升。RAID把多个硬盘组合成为一个逻辑硬盘,因此,操作系统只会把它当作一个实体硬盘。

RAID功能的实现:提高IO能力,提高耐用性,磁盘冗余备份

磁盘阵列分为软raid和硬raid

软raid依靠软件来实现,硬raid依靠硬件实现

二.raid级别

常用raid级别为raid0,raid1,raid5,raid10等

1.raid 0 

因为读写时都可以并行处理,所以在所有的级别中,RAID 0的速度是最快的。但是RAID 0既没有冗余功能,也不具备容错能力,如果一个磁盘(物理)损坏,所有数据都会丢失。磁盘利用率100%,最少磁盘数为1(有效需要2块以上)

2.raid 1

也称为镜像, 两组以上的N个磁盘相互作镜像,在一些多线程操作系统中能有很好的读取速度,理论上读取速度等于硬盘数量的倍数,与RAID 0相同。另外写入速度有微小的降低。磁盘利用率为50%,有冗余能力,最少磁盘数为2,磁盘数为2n(n>=1)

3.raid 5

读取性能提升,写的性能略微降低,利用率(n-1)/n(n>=3),有备份能力,也拥有容错能力允许最多一块磁盘损坏,最少磁盘数量为3

4.raid 10

读取性能提升,写的性能也提升,利用率50%,有备份能力,也拥有容错能力:每一组镜像最多只能坏一块,最少磁盘数为4,磁盘数为偶数

raid级别 0 1 5 10

是否有备份

是否提高读的性能

是否提高写的性能

下降 下降

磁盘利用率

100% 50% (n-1)/n(n>=3) 50%

最少使用几块磁盘

1(有效得2块以上)

2n(n>=1)

3 4+(偶数)

最多可以坏几块磁盘

1 n 1 使用磁盘的一半(不能为同一组)

三.实现软raid

mdadm工具:为软RAID提供管理界面,为空余磁盘添加冗余,结合内核中的md(multi devices)RAID设备可命名 为/dev/md0、/dev/md1、/dev/md2、/dev/md3等

模式:
 创建:-C
 装配:-A
 监控:-F
 管理:-f, -r, -a
<raiddevice>: /dev/md#
<component-devices>: 任意块设备
-C: 创建模式
 -n #: 使用#个块设备来创建此RAID
 -l #:指明要创建的RAID的级别     0 1  5 10 
 -c CHUNK_SIZE: 指明块大小,单位k
 -x #: 指明空闲盘的个数   热备 盘 -x 1 /dev/sd#
-D:显示raid的详细信息
 mdadm -D /dev/md#
          软raid名字 
管理模式:                       
 -f: 标记指定磁盘为损坏
 -a: 添加磁盘
 -r: 移除磁盘
观察md的状态: cat /proc/mdstat

1.给设备添加四块磁盘

2.使用lsblk命令查看磁盘情况

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    4G  0 part /boot
└─sda2            8:2    0   54G  0 part 
  ├─centos-root 253:0    0   50G  0 lvm  /
  └─centos-swap 253:1    0    4G  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.2G  0 rom  

3.使用mdadm创建并定义RAID设备

#使用mdadm创建并定义RAID设备
mdadm -C /dev/md0  -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}1
命令      raid名    级别  盘数   热备
[root@localhost ~]# mdadm  -C  /dev/md0  -l  5 -n 3  /dev/sd{b,c,d} -x1  /dev/sde
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]# ll  /dev/md0
brw-rw----. 1 root disk 9, 0 4月  11 14:40 /dev/md0

4.格式化

[root@localhost ~]# 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

5.挂载

[root@localhost ~]# mount  /dev/md0   /mnt/
[root@localhost ~]# df  -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  5.1G   45G   11% /
devtmpfs                 977M     0  977M    0% /dev
tmpfs                    993M     0  993M    0% /dev/shm
tmpfs                    993M  9.1M  984M    1% /run
tmpfs                    993M     0  993M    0% /sys/fs/cgroup
/dev/sda1                4.0G  161M  3.9G    4% /boot
tmpfs                    199M   12K  199M    1% /run/user/42
tmpfs                    199M     0  199M    0% /run/user/0
/dev/md0                  40G   33M   40G    1% /mnt
[root@localhost ~]# cd  /mnt/

6.显示详细信息

使用mdadm -D /dev/md0  命令查看信息

[root@localhost ~]# mdadm  -D  /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Thu Apr 11 14:40:43 2024
        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 Apr 11 14:42:29 2024
             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:0  (local to host localhost.localdomain)
              UUID : 3644acba:b5dab328:cb568387:5e92a22f
            Events : 22

    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

7.强制/dev/sdb下线

使用mdadm /dev/md0 -f /dev/sdbm命令

8.移除磁盘,添加磁盘

移除:mdadm  /dev/md0 -r /dev/sdb

添加:mdadm /dev/md0 -a /dev/sdb