首页 > 其他分享 >RAID 磁盘阵列学习资料

RAID 磁盘阵列学习资料

时间:2023-02-02 18:48:22浏览次数:58  
标签:md RAID Devices dev 资料 磁盘 data 磁盘阵列

目录

什么是快(R)乐(A)星(I)球(D)

磁盘阵列(Redundant Arrays of Independent DisksRAID),有数块独立磁盘构成具有冗余能力的阵列之意

RAID 和 LVM 的区别

RAID 分为两种

  • 硬 RAID
    • 需要 RAID 卡,插在主板的 PCIE 插槽上
      • 控制器在 RAID 卡上,不消耗主机资源
      • 分为带电池和不带电池
      • 发生意外断电的情况下,带电池的 RAID 卡能继续给 RAID 卡供电一段时间,能有效的保护数据
  • 软 RAID
    • 通过操作系统工具实现,比如 Liunx的 mdadm 命令
    • 会消耗主机资源

VM是 Logical Volume Manager逻辑卷管理)的简写,它是 Linux 环境下对磁盘分区进行管理的一种机制,可以对文件系统做伸缩扩容

RAID 除了 RAID 0 以外,其他级别都是有数据冗余的功能,不同级别下的 RAID 可以坏掉几块硬盘也不会影响数据,不过在替换磁盘后,RAID 之间的数据同步过程中也会影响磁盘的速率

LVM 没有数据冗余的功能,并且 LVM 是可以简历在 RAID 0 之上的,是属于系统软件层面的管理工具,可以将一大块容量分割给不同的文件系统

RAID 等级

百度百科 - RAID

目前主流的 RAID 级别为 RAID 0,RAID 1,RAID 5,RAID 10(跟我读,RAID 一零,不是RAID 十

RAID 0

在这里插入图片描述

  • 又称 条带集
  • 将数据分割成不同条带(Stripe)分散写入到所有的硬盘中同时进行读写
  • 最少需要两块磁盘
  • 读写速率 100 * <磁盘数量>
  • 没有数据冗余,一块盘都不能坏
  • 一般只用在不需要数据安全的情况下,只是需要加快磁盘的速率

RAID 1

在这里插入图片描述

  • 把一个磁盘的数据镜像到另一个闲置的磁盘上
  • 最少两块磁盘,磁盘数量需要是偶数
    • 最好是磁盘容量一致,否则是安装容量最小的来计算
    • 使用率:50%
  • 读写速率一般,但是可以容错

RAID 5

在这里插入图片描述

  • 又称 奇偶校验条带集
  • 将当前磁盘的奇偶校验码存储在其他磁盘上
  • 最少三块磁盘
    • 利用率:<磁盘数量> - 1
  • 允许有一块硬盘坏了(多了,奇偶检验码就缺了)
  • 读速率快,写速率一般,可以容错

RAID 10

在这里插入图片描述

跟我读,RAID 一零,不是RAID 十

  • 其实就是将 RAID 1 和 RAID 0 结合起来使用
  • 最少四块磁盘
    • 利用率:50%
  • 允许坏一半的磁盘,前提是不在一个组
  • 数据安全性更好,就是成本比较高,成本有限的情况下,可以选择 RAID 5

硬件 RAID 卡需要在安装系统之前就完成,大致的思路是进入 BIOS 或者主板提示的按键进入 RAID 的设置,按照 RAID 卡可用的等级来设置

为什么要安装系统之前?

因为 RAID 阵列在创建的时候会删除磁盘上的所有数据

Linux 软 RAID

软 RAID 一般不太会去使用,一般服务器都是用的硬 RAID

输入 mdadm 如果返回 -bash: mdadm: command not found ,表示没有安装

centos 只需要使用下面的方式安装就行

yum install -y mdadm

常用参数

短格式 长格式 作用
-C --create 创建一个新阵列组
-l --level= 指定 RAID 等级
(0、1、4、5、6、10)
-x --spare-devices= 指定热备盘数量
(当有磁盘损坏的情况下,热备盘会上位做数据同步,成为阵列的一部分)
-r --remove 移除阵列中故障的磁盘
-f --fail 将列出的磁盘标记为故障
(模拟阵列损坏的时候可以用)
-S --stop 停用阵列,释放所有资源。
-n --raid-devices= 指定阵列中活动设备的数量
-Q --query 检查设备是否是md设备
-D --detail 打印一个或多个md设备的详细信息。

创建 RAID 阵列

创建一个 RAID 5 阵列,并且设置一块热备盘

先准备四块空磁盘

NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  100G  0 disk
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   99G  0 part
  ├─centos-root 253:0    0   95G  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 1024M  0 rom

注意,-l-n-x 参数后面直接跟数字,参数和值之间不要有空格

mdadm -C /dev/md/data_md -l5 -n3 -x1 /dev/sd{b,c,d,e}

查看 md 设备

mdadm -Q /dev/md/data_md

可以看到,容量是 40G ,级别为 RAID 5,三个盘设备,有一个是闲置的(热备盘)

RAID 在创建的时候会有点慢,一开始可能看到的是两个闲置设备,只需要多等一会,再看看

/dev/md/data_md: 39.97GiB raid5 3 devices, 1 spare. Use mdadm --detail for more detail.

查看 md 设备详细信息

mdadm -D /dev/md/data_md

RAID 在建过程中,会有 Rebuild Status 信息

/dev/md/data_md:
           Version : 1.2
     Creation Time : Sun Mar 13 15:47:35 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 : Sun Mar 13 15:47:56 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 : 28% complete   # 完成了 28%

              Name : localhost.localdomain:data_md  (local to host localhost.localdomain)
              UUID : 9aec55e1:6cd2da33:209861f6:4ad7c4b6
            Events : 5

    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

创建完成后,就不会再有 Rebuild Status 信息了

/dev/md/data_md:
           Version : 1.2
     Creation Time : Sun Mar 13 15:47:35 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 : Sun Mar 13 15:48:50 2022
             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:data_md  (local to host localhost.localdomain)
              UUID : 9aec55e1:6cd2da33:209861f6:4ad7c4b6
            Events : 18

    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
[root@localhost ~]# mdadm -Q /dev/md/data_md
/dev/md/data_md: 39.97GiB raid5 3 devices, 1 spare. Use mdadm --detail for more detail.

使用 RAID 阵列

创建文件系统

mkfs.ext4 /dev/md/data_md

创建目录并挂载

mkdir /test_md
mount /dev/md/data_md /test_md

写入一些文件,然后破坏整列后,看看热备效果以及数据是否完整

for i in $(seq 1 10);do mkdir /test_md/test_$i;echo "this is no.$i" > /test_md/test_$i/test.log;done
for i in $(seq 1 10);do cat /test_md/test_$i/test.log;done

正常情况输出如下内容

this is no.1
this is no.2
this is no.3
this is no.4
this is no.5
this is no.6
this is no.7
this is no.8
this is no.9
this is no.10

模拟磁盘坏了

前面的详细信息里面咱看到 /dev/sde 是热备盘,咱不可能去破坏热备盘,那没意思

mdadm /dev/md/data_md -f /dev/sdc -r /dev/sdc

再次查看 md 详细信息

mdadm -D /dev/md/data_md

可以看到,/dev/sde 取代了 /dev/sdc

/dev/md/data_md:
           Version : 1.2
     Creation Time : Sun Mar 13 15:47:35 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 : 3
       Persistence : Superblock is persistent

       Update Time : Sun Mar 13 16:02:47 2022
             State : clean, degraded, recovering
    Active Devices : 2
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 1

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

    Rebuild Status : 9% complete    # 完成了 9%

              Name : localhost.localdomain:data_md  (local to host localhost.localdomain)
              UUID : 9aec55e1:6cd2da33:209861f6:4ad7c4b6
            Events : 22

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       3       8       64        1      spare rebuilding   /dev/sde   # /dev/sde 取代了 /dev/sdc
       4       8       48        2      active sync   /dev/sdd

热备恢复的过程中,也可以查看数据

for i in $(seq 1 10);do cat /test_md/test_$i/test.log;done

依旧返回之前一样的信息

this is no.1
this is no.2
this is no.3
this is no.4
this is no.5
this is no.6
this is no.7
this is no.8
this is no.9
this is no.10

再次查看 md 详细信息

mdadm -D /dev/md/data_md

耗费了大约四分钟的样子

/dev/md/data_md:
           Version : 1.2
     Creation Time : Sun Mar 13 15:47:35 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 : 3
       Persistence : Superblock is persistent

       Update Time : Sun Mar 13 16:06:22 2022
             State : clean
    Active Devices : 3
   Working Devices : 3
    Failed Devices : 0
     Spare Devices : 0

            Layout : left-symmetric
        Chunk Size : 512K

Consistency Policy : resync

              Name : localhost.localdomain:data_md  (local to host localhost.localdomain)
              UUID : 9aec55e1:6cd2da33:209861f6:4ad7c4b6
            Events : 38

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       3       8       64        1      active sync   /dev/sde
       4       8       48        2      active sync   /dev/sdd

数据是无价的,多做备份

标签:md,RAID,Devices,dev,资料,磁盘,data,磁盘阵列
From: https://www.cnblogs.com/chen2ha/p/17087027.html

相关文章

  • Flutter入门资料推荐
    前言群里很多入门小白不知道如何入门Flutter,水一篇文章简单介绍下本人学习过程中一些参考资料,方便Flutter小白少走弯路。非权威,推荐只针对本人经验来的说,大佬们不喜......
  • 资料
    https://doocs.gitee.io/advanced-java/#/?id=互联网-java-工程师进阶知识完全扫盲......
  • GP232RL国产USB串口如何兼容FT232RL开发资料
    GP232RL是最新加入ftdi系列usb接口集成电路设备的设备。232r是一个usb到串行uart接口,带有可选的时钟发生器输出,以及新的ftdichip-idTM安全加密器特性。此外,还提......
  • 【服务器数据恢复】多块磁盘先后掉线导致raid5崩溃,同友存储不可用的数据恢复案例
    服务器数据恢复环境&故障:某单位同友存储设备,该存储有大于5台的虚拟机,其中有3台linux系统虚拟机存储重要数据。存储设备中组建的raid5由于未知原因崩溃导致存储无法启动。......
  • 通过HH8WilEdit学习WIL 文件编码 3 资料 Delphi 资源文件( .res)
    https://blog.csdn.net/fangyuan621/article/details/122476617一.现在的Windows应用程序几乎都使用图标、图片、光标、声音等,我们称它们为资源(Resource)。最简单的使用资......
  • raid 0 与raid 1的区别?
    区别共有三点:1、两者的概念不同:RAID 0:是多磁盘数据分组同步写读。RAID1:是多磁盘同数据同步写读。2、两者的安全性不同:RAID0:无数据备份功能,安全性差。RAID1:盘间是......
  • 嵌入式必看!全志T113-i+玄铁HiFi4核心板硬件说明资料分享
    目录1硬件资源2引脚说明(篇幅问题,暂不提供详细内容)3电气特性4机械尺寸5底板设计注意事项硬件资源SOM-TLT113核心板板载CPU、ROM、RAM、晶振、电源、LED等硬件......
  • 注册外贸行业公司所需资料整理
    1.一家注册公司,有一个接收美元的账户。为什么要注册公司?因为现在国家也提倡进出口,你可以以当地公司的名义开始进行美元和人民币的交易。这样你会很容易收到付款。不过前提是......
  • 【服务器数据恢复】ZFS文件系统下RAIDZ数据恢复案例
    服务器数据恢复环境:ORACLESunZFSStorage;32块磁盘分为4组,每组8块硬盘,热备盘全部启用。ZFS文件系统,Windows操作系统。服务器故障&分析:设备在正常工作时候突然崩溃,经过......
  • 学习资料
    后期学习参考网站个人博客:https://www.liuqingzheng.top/cnblogs博客:https://www.cnblogs.com/liuqingzheng知乎:https://www.zhihu.com/people/justin_liu......