Linux--RAID磁盘整列!

Posted handsomeboy-东

tags:

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

RAID配置及实战

RAID概述

是Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列,把多块独立的物理硬盘按不同的方式组合起来形成一 个硬 盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术
组成磁盘阵列的不同方式称为RAID级别(RAID Levels) 常用的RAID级别 RAID0,RAID1,RAID5,RAID6,RAID1+0(还有RAID0+1、RAID5+0)
RAID又分硬件RAID(在硬件上插阵列卡实现RAID,有自己处理的CPU),软件RAID(在系统中设置RAID)

  • RAID0 :条带模式,至少要2块磁盘,是将数据等量分隔为数据块chunk(512k)在每个磁盘上,它的性能很强,但是没有冗余备份效果,安全性较低(如果一个磁盘坏了,数据会丢失)
  • RAID1:镜像模式,至少要两块盘,最好是同样的磁盘,并且是偶数增加磁盘数,数据传入RAID1后会分两股同样的数据进不同磁盘,增加了冗余备份效果,读取的性能很好,提供了数据的安全性和可用性,但是写于的性能不佳,是磁盘阵列中单位成本最高的
  • RAID1+0(也叫RAID10)和RAID0+1:这是结合了RAID0和RAID1两种模式,至少要四块磁盘,将四块磁盘分为两组设置为RAID1,再将这两组RAID1设置为RAID0,这就是RAID1+0,RAID0+1就是先设置RAID0再设置RAID1,不过一般RAID10用的比较多,这种RAID模式的性能强,安全性也高,也有冗余备份的效果
  • RAID5:带奇偶校验码的模式,至少需要三块磁盘,允许损坏一块磁盘,磁盘利用率为(n-1)/n,n表示磁盘数,这种模式类似RAID0只不过在每块磁盘上加入了一个奇偶校验数据,当一块磁盘有损坏之后恢复或新增磁盘时,可以通过另外的磁盘中的奇偶校验码来重建损坏磁盘中的数据,有冗余备份效果,性能也很好,但是奇偶校验码是要通过计算机去计算的,所以性能方面相比RAID10要弱
  • RAID6:这种模式就是RAID5的增强版,它设置每块磁盘中有两个奇偶校验码,所以允许两块磁盘损坏,磁盘利用率(n-2)/n

软RAID的配置实验

基本命令:

mdadm -C -v /dev/磁盘设备文件名 -l加级别 -n加磁盘数 -x加热备磁盘数 加入的磁盘设备名   //创建磁盘阵列并取名,热备磁盘可不加
mdadm -D RAID设备文件名:查询磁盘阵列的详细信息
mdadm -Dsv RAID磁盘设备文件名 > /etc/mdadm.conf :将磁盘阵列信息写入主配置文件中,此配置文件起始是没有的
cat /proc/mdstat :查看RAID的实时情况
mkfs.xfs RAID磁盘文件名 :                   磁盘阵列创建后需要格式化并挂载
mdadm RAID磁盘文件名 -f 设备名 -r 设备名 :    模拟破坏磁盘阵列并移除其中的设备,不加-r则只破坏磁盘阵列
mdadm -S RAID磁盘文件名                    :停止磁盘阵列,此过程需要在RAID未挂载的情况下,停止后最后删除其主配置文件
mdadm -As RAID磁盘文件名 :激活RAID
mdadm -a 磁盘设备文件名 设备名 :                 增加磁盘到磁盘阵列中成为热备磁盘
watch -n 1 ‘mdadm -D 磁盘设备文件名 | tail ‘ :        每1秒监控磁盘阵列的实时状态
mdadm --zero-superblock 设备名 :磁盘阵列停止后擦除其内的设备,让设备可供它用 

1)首先新建四个磁盘,/dev/sde–/dev/sdg,分别设置两组RAID1,取名为md1,md11,再将两组RAID1设置未RAID0

[root@AIDEBOY ~]# fdisk -l
磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


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


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


磁盘 /dev/sdg:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
[root@AIDEBOY ~]# mdadm -C -v /dev/md1 -l1 -n2 /dev/sdd /dev/sde              //创建磁盘阵列
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
mdadm: size set to 20954112K
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
[root@AIDEBOY ~]# mdadm -D /dev/md1
/dev/md1:
           Version : 1.2
     Creation Time : Mon May 10 14:58:53 2021
        Raid Level : raid1
        Array Size : 20954112 (19.98 GiB 21.46 GB)
     Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Mon May 10 14:59:11 2021
             State : clean, resyncing 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

     Resync Status : 76% complete

              Name : AIDEBOY:1  (local to host AIDEBOY)
              UUID : e8fd8e10:983ded55:94fda925:b559d2b7
            Events : 12

    Number   Major   Minor   RaidDevice State
       0       8       48        0      active sync   /dev/sdd
       1       8       64        1      active sync   /dev/sde
[root@AIDEBOY ~]# mdadm -Dsv /dev/md1 > /etc/mdadm.conf
[root@AIDEBOY ~]# cat /proc/mdstat
Personalities : [raid1] 
md1 : active raid1 sde[1] sdd[0]
      20954112 blocks super 1.2 [2/2] [UU]
      
unused devices: <none>
[root@AIDEBOY ~]# mdadm -C -v /dev/md11 -l1 -n2 /dev/sd[f-g]
[root@AIDEBOY ~]# mdadm -C -v /dev/md0 -l0 -n2 /dev/md1 /dev/md11   //设置RAID10
这里是先设置RAID1在设置RAID0,也可以通过一个命令直接设置,如下:
[root@AIDEBOY ~]# mdadm -C -v /dev/md10 -l10 -n4 /dev/sd[d-g]

2)停止前面设置的RAID,将四个磁盘从阵列中擦除,再用来设置RAID5

[root@AIDEBOY ~]# mdadm -S /dev/md0                   //停止磁盘阵列
mdadm: stopped /dev/md0
[root@AIDEBOY ~]# mdadm -S /dev/md1 /dev/md11
mdadm: stopped /dev/md1
mdadm: stopped /dev/md11
[root@AIDEBOY ~]# mdadm --zero-superblock /dev/sd[d-g]
[root@AIDEBOY ~]# rm -rf /etc/mdadm.conf             //删除磁盘阵列的主配置文件
[root@AIDEBOY ~]# mdadm -C -v /dev/md5 -l5 -n3 -x1 /dev/sd[d-g]         //设置RAID5并加一个热备磁盘
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: /dev/sdd appears to be part of a raid array:
       level=raid1 devices=2 ctime=Mon May 10 14:58:53 2021
mdadm: /dev/sde appears to be part of a raid array:
       level=raid1 devices=2 ctime=Mon May 10 14:58:53 2021
mdadm: /dev/sdf appears to be part of a raid array:
       level=raid1 devices=2 ctime=Mon May 10 15:04:23 2021
mdadm: /dev/sdg appears to be part of a raid array:
       level=raid1 devices=2 ctime=Mon May 10 15:04:23 2021
mdadm: size set to 20954112K
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md5 started.
[root@AIDEBOY ~]# mdadm -D /dev/md5
/dev/md5:
           Version : 1.2
     Creation Time : Mon May 10 15:21:49 2021
        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 : Mon May 10 15:22:26 2021
             State : clean 
    Active Devices : 3
   Working Devices : 4
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : AIDEBOY:5  (local to host AIDEBOY)
              UUID : 242c09e0:abfe99aa:448593db:5c541fdb
            Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       48        0      active sync   /dev/sdd
       1       8       64        1      active sync   /dev/sde
       4       8       80        2      active sync   /dev/sdf

       3       8       96        -      spare   /dev/sdg

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

RAID磁盘整列之RAID10

RAID磁盘整列之RAID5

RAID磁盘整列之RAID1

你好 请问如何配置TS230的raid 0 1磁盘整列 谢谢

OpenStack 搭建

存储分类