RAID磁盘阵列及RAID配置!

Posted 龙少。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RAID磁盘阵列及RAID配置!相关的知识,希望对你有一定的参考价值。

一.RAID磁盘阵列

是Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列

把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术

组成磁盘阵列的不同方式称为RAID级别(RAID Levels)常用的RAID级别
RAIDO,RAID1,RAID5,RAID6,RAID1+0,RAID0+1,RAID5+0等

RAID0

RAID0是条带卷

RAID0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余功能。RAID0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。RAID0不能应用于数据安全性要求高的场合

RAID1

RAID1是镜像卷

RAID1通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。
当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。

RAID1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据

RAID5

RAID5是由N(N>=3)块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储。N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高

磁盘利用率为(N-1)/N

RAID5可靠性高,允许坏1块盘,不影响所有数据.

RAID6

RAID6由N(N>=4)块盘组成阵列,与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。
两个独立的奇偶系统使用不同的算法,即使两块磁盘同时失效也不会影响数据的使用。
相对于RAID 5有更大的“写损。磁盘利用率为(N-2)/N。

RAID1+0

RAID1+0由N(偶数,N>=4)块盘两两镜像后,再组合成一个RAID 0产生。N/2块盘同时写入,N块盘同时读取,性能高,可靠性高。

RAID各级别对比

在这里插入图片描述
总结:
RAID0:又称条带卷;是一种简单的、无数据校验的数据条带化技术。实际上不是一种真正的 RAID ,因为它并不提供任何形式的冗余策略

RAID1:又称为镜像卷;它将数据完全一致地分别写到工作磁盘和镜像磁盘上

RAID5:应该是目前最常见的 RAID 等级

RAID6:引入双重校验的概念,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失;RAID5的扩展版

RAID10:是先做镜像再作条带化,是对虚拟磁盘实现镜像;缺点是成本高

二.阵列卡及硬RAID软RAID介绍

1.阵列卡概念

是用来实现RAID功能的板卡,分为硬RAID和软RAID。

现在RAID卡基本上支持各种RAID等级,常用的接口类型 SCSI SATA SAS 接口,IDE接口已经没有了。

2.硬RAID和软RAID的区别

硬RAID

在硬件层面上通过阵列卡实现RAID功能
实现步骤如下:
在服务器上面插入磁盘阵列卡
阵列卡上面插入磁盘
开机–配置RAID–安装系统
RAID卡有自己的处理器CPU

软RAID

在系统层面上,通过mdadm管理工具进行管理,实现RAID功能

三.创建管理RAID的工具mdadm

1.配置raid0

创建
mdadm -C -v /dev/md0 -l0 -n2 /dev/sdf /dev/sdg

[root@localhost ~]# lsblk -f
NAME   FSTYPE      LABEL           UUID                                   MOUNTPOINT
sda                                                                       
├─sda1 xfs                         193b25aa-faee-4342-a79b-4eb3e023d813   /boot
├─sda2 swap                        7f11b069-c75e-453e-a192-62c8dc883769   [SWAP]
└─sda3 xfs                         0ce0ca4e-ddf3-474f-8a4e-a7ee517b5b81   /
sdb    LVM2_member                 p0Hn5B-cvWg-vAR6-zWyu-5QBT-zr9T-S7KB8g 
sdc                                                                       
└─sdc1 ext4                        a653da2c-f7d8-405f-a169-313c339f9d90   
sdd                                                                       
├─sdd1 xfs                         be9f4ade-f3a9-41c1-8acd-83ce58271edd   /root/tom
├─sdd2 swap                        ed114f9a-cd02-4c4d-a67e-489b9218bd60   
├─sdd4                                                                    
└─sdd5                                                                    
sde    LVM2_member                 dsWetp-tjZV-WFo7-KSSS-d1PX-F2a4-kR11EG 
sdf                                                                       
sdg                                                                       
sdh                                                                       
sr0    iso9660     CentOS 7 x86_64 2018-11-25-23-54-16-00                 /run/media/root/CentOS 7 x86_64


[root@localhost ~]# mdadm -C -v /dev/md0 -l0 -n2 /dev/sdf /dev/sdg
mdadm: chunk size defaults to 512K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

查询详细信息
mdadm -D /dev/md0

[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Sun May 16 22:26:30 2021
        Raid Level : raid0
        Array Size : 41908224 (39.97 GiB 42.91 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Sun May 16 22:26:30 2021
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

        Chunk Size : 512K

Consistency Policy : none

              Name : localhost.localdomain:0  (local to host localhost.localdomain)
              UUID : 938337dd:c19a4e56:e46b89f2:377462ec
            Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       80        0      active sync   /dev/sdf
       1       8       96        1      active sync   /dev/sdg


[root@localhost ~]# mdadm -Dsv /dev/md0
ARRAY /dev/md0 level=raid0 num-devices=2 metadata=1.2 name=localhost.localdomain:0 UUID=938337dd:c19a4e56:e46b89f2:377462ec
   devices=/dev/sdf,/dev/sdg

将mdadm -Dsv /dev/md0的信息写入配置文件/etc.mdadm.cof

mdadm -Dsv /dev/md0 >/etc/mdsdm.conf
如果有多个raid信息要用》》追加


[root@localhost ~]# mdadm -Dsv /dev/md0 >/etc/mdadm.conf
[root@localhost ~]# cat /etc/mdadmm.conf

[root@localhost ~]# cat /etc/mdadm.conf
ARRAY /dev/md0 level=raid0 num-devices=2 metadata=1.2 name=localhost.localdomain:0 UUID=938337dd:c19a4e56:e46b89f2:377462ec
   devices=/dev/sdf,/dev/sdg

查询当前raid的实时状态
cat /proc/mdstat

[root@localhost ~]# cat /proc/mdstat
Personalities : [raid0] 
md0 : active raid0 sdg[1] sdf[0]
      41908224 blocks super 1.2 512k chunks
      
unused devices: <none>

格式化挂载

[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

[root@localhost ~]# mkdir /raid0

[root@localhost ~]# mount /dev/md0 /raid0

[root@localhost ~]# df -Th
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda3      xfs       297G  5.4G  292G    2% /
devtmpfs       devtmpfs  895M     0  895M    0% /dev
tmpfs          tmpfs     910M     0  910M    0% /dev/shm
tmpfs          tmpfs     910M   11M  900M    2% /run
tmpfs          tmpfs     910M     0  910M    0% /sys/fs/cgroup
/dev/sdd1      xfs       2.0G   33M  2.0G    2% /root/tom
/dev/sda1      xfs       197M  152M   45M   78% /boot
tmpfs          tmpfs     182M  4.0K  182M    1% /run/user/42
tmpfs          tmpfs     182M   28K  182M    1% /run/user/0
/dev/sr0       iso9660   4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
/dev/md0       xfs        40G   33M   40G    1% /raid0



2.配置RAID1

主要配置命令步骤

(1)创建md1
mdadm -C -v /dev/md1 -l1 -n2 /dev/sdc /dev/sdd

(2)查询信息
mdadm -D /dev/md1

(3)写入RAID配置文件:mdadm -Dvs /etc/md1>> /etc/mdadm.conf

(4)格式化
mkfs.xfs /dev/md1

(5)挂载
mkdir /raid1
mount /dev/md1 /raid1

3.配置RAID5

主要配置命令步骤

(1)创建md5
mdadm -C -v /dev/md5 -l1 -n3 -x1 /dev/sd[b,c,d,e]

(2)查询信息
mdadm -D /dev/md5

(3)写入RAID配置文件
mdadm -Dvs /etc/md5 > >/etc/mdadm.conf

(4)格式化
mkfs.xfs /dev/md5

(5)挂载
mkdir /raid5
mount /dev/md1 /raid5

4.配置RAID1+0

主要配置步骤与命令
(1)添加4块新的硬盘重启
sdb,sdc,sdd,sde

(2)创建raid10
mdadm -C -v /dev/md10 -l10 -n4 /dev/sd[b,c,d,e]

(3)写入配置文件
mdadm -Dvs /etc/md10 > >/etc/mdadm.conf

(4)格式化

mks.xfs /dev/md10

(5)挂载
mkdir /raid10
mount /dev/md10 /raid10

5.配置相关补充

停止raid阵列
mdadm -S /dev/md5

将坏的硬盘进行移除,然后增加一块磁盘
mdadm -r /dev/md1 /dev/sde
mdadm -a /dev/md1 /dev/sdf

实时监控raid5状态0.5秒刷新
watch -n 0.5 ‘mdadm -D /dev/md5 | tail’

有热备份的情况下热备份变为正式盘
mdadm -G /dev/md5 -n4

恢复的时候去配置文件中扫描
mdadm -As//s

彻底删除RAID
rm -rf /etc/mdamd.conf:删除配置文件
再清除superblock
mdadm --zero-surpeblock /dev/sdb:擦除设备中MD超级块

以上是关于RAID磁盘阵列及RAID配置!的主要内容,如果未能解决你的问题,请参考以下文章

服务器RAID及磁盘配额的配置

Linux服务器硬件及RAID配置实战

Linux中配置RAID及详解

服务器硬件及RAID配置

Linux系统管理08——服务器RAID及配置实战

Centos 7 磁盘阵列配置介绍