停止/启动(组装)和移除 RAID 数组

要停止现有数组并将其从系统中完全删除:

# mdadm --stop /dev/md0
# mdadm --remove /dev/md0

启动(组装)一个停止的数组:

# mdadm --asemble /dev/md0
on it road .com

在 RAID 设备上创建文件系统

要在 RAID 设备上创建 ext4 文件系统并挂载它:

# mkfs.ext4 /dev/md0
# mkdir /data01
# mount /dev/md0 /data01

确保在 /etc/fstab 中创建一个条目,以使其在重新启动后保持不变。

# vi /etc/fstab
/dev/md0	/data01		ext4	defaults	0    0

创建 RAID 设备

要列出使用 mdadm 创建 RAID 设备的选项,请使用 -help 选项。
使用 mdadm 创建 RAID 时有几个选项。
我将列出几个重要的。

# mdadm --create --help
	-C | --create /dev/mdn
	-l | --level  0|1|4|5
	-n | --raid-devices device [..]
	-x | --spare-devices device [..]

线性模式(Linear)

两个或者多个磁盘合并为一个物理设备。

磁盘彼此“添加”,因此线性写入 RAID 设备将首先填满磁盘 0,然后是磁盘 1,依此类推。

磁盘不必具有相同的大小。

该级别没有冗余。

单次读写不会提高读写性能。
但是,如果多个用户使用该设备,多个用户同时使用不同的磁盘,我们将看到性能提升。

要在运行 mdadm 的线性模式下创建两个磁盘,只需键入一个命令行:

# mdadm --create --verbose /dev/md0 --level=linear --raid-devices=2 /dev/sdb /dev/sdc
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

可以使用较短版本的选项运行相同的命令:

# mdadm --Cv /dev/md0 --l linear -n2 /dev/sdb /dev/sdc

RAID 0

也称为“条纹(stripe)”模式。

设备应具有相同的大小。

这个级别也没有冗余。
如果驱动器出现故障,则无法进行数据救援。

读写性能会提高,因为读写是在设备上并行完成的。

在 RAID 0 模式下创建两个磁盘:

# mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sdb /dev/sdc

RAID 1

这个级别有冗余。

RAID-1 可用于具有零个或者多个备用磁盘的两个或者多个磁盘。

此模式在另一个磁盘上维护一个磁盘上的信息的精确镜像。

当然,磁盘必须具有相同的大小。

如果一个磁盘大于另一个, RAID 设备将是最小磁盘的大小。

如果多达 N-1 个磁盘被移除(或者崩溃),所有数据仍然完好无损。
如果有可用的备用磁盘,并且系统在崩溃中幸存下来,则在检测到驱动器故障后,将立即其中一个备用磁盘上开始重建镜像。

写入性能通常比在单个设备上更差,因为必须在 2 个或者更多设备上同时写入相同的数据。

我们可以使用两个磁盘和一个备用磁盘设置 RAID 1:

# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc --spare-devices=/dev/sdd

RAID 4

此 RAID 级别不经常使用。

它可以在三个或者更多磁盘上使用。

它不是完全镜像信息,而是将奇偶校验信息保留在一个驱动器上,并以类似 RAID-0 的方式将数据写入其他磁盘。

由于保留了一个磁盘用于奇偶校验信息,因此数组的大小将为 (N-1)*S,其中 S 是数组中最小驱动器的大小。

如果一个驱动器出现故障,奇偶校验信息可用于重建所有数据。
如果两个驱动器发生故障,则所有数据都将丢失。

要使用 4 个磁盘和 1 个备用磁盘设置 RAID 4:

# mdadm --create --verbose /dev/md0 --level=4 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde  spare-devices=/dev/sdf

RAID 5

RAID-5 可用于三个或者更多磁盘,具有零个或者多个备用磁盘。

生成的 RAID-5 设备大小将为 (N-1)*S,就像 RAID-4 一样。

RAID-5 和-4 的最大区别在于,奇偶校验信息在参与的驱动器之间均匀分布,避免了 RAID-4 中的瓶颈问题。

如果其中一个磁盘出现故障,由于奇偶校验信息,所有数据仍然完好无损。
如果有备用磁盘,设备故障后将立即开始重建。
如果两个磁盘同时发生故障,则所有数据都将丢失。
RAID-5 可以承受一次磁盘故障,但不能承受两次或者更多次磁盘故障。

读取类似于 RAID-0 读取,写入通常很昂贵,因为必须写入奇偶校验,这成为开销。

要使用 mdadm 设置具有 3 个磁盘和 1 个备用磁盘的 RAID 5:

# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd --spare-devices=/dev/sde
RedHat/CentOS:使用 mdadm 管理软件 RAID

管理数组中的设备

添加设备

将新设备添加到数组:

# mdadm --add /dev/md0 /dev/sdd

移除设备

我们可以使数组中的设备 (-f) 失败,然后将其删除 (-r):

# mdadm --manage /dev/md0 -f /dev/sdd
# mdadm --manage /dev/mdadm -r /dev/sdd

mdadm

mdadm(多设备管理)是一个非常有用的运行 RAID 系统的工具。
它是一个使用 md 驱动程序创建、管理和监控 RAID 设备的工具。
它可以用作raidtools的替代品,或者作为补充。
我们可以使用整个磁盘(/dev/sdb、/dev/sdc)或者单个分区(/dev/sdb1. /dev/sdc1)作为数组的一个组件。

使用 mdadm 的好处是:

  1. mdadm 可以诊断、监视和收集有关数组的详细信息。

  2. mdadm 是一个单一的集中程序,而不是分散程序的集合,因此每个 RAID 管理命令都有一个通用的语法。

  3. mdadm 可以在没有配置文件的情况下完成它的几乎所有功能,并且默认不使用一个。

mdadm 软件工具适用于所有 Linux 发行版,使用相同的语法。

验证配置

/proc/mdstat 是内核维护的文件,其中包含有关 RAID 数组和设备的实时信息。

# cat /proc/mdstat 
Personalities : [linear] 
md0 : active linear sdc[1] sdb[0]
      4194288 blocks super 1.2 0k rounding

unused devices: [none]

要获取有关特定数组的详细信息,请使用:

# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Mon Nov  3 06:03:03 2014
     Raid Level : linear
     Array Size : 4194288 (4.00 GiB 4.29 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent
    Update Time : Mon Nov  3 06:03:03 2014
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0
       Rounding : 0K
           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : a50ac9f2:62646d92:725255bd:7f9d30e3
         Events : 0
    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc

安装 mdadm

确保我们进行系统更新,然后将最新的 mdadm 程序安装到系统中:

# yum clean all
# yum update
# yum install mdadm -y

配置文件

/etc/mdadm.conf 文件用于识别哪些设备是 RAID 设备以及特定设备属于哪个数组。
这是在启动时自动构建 RAID 设备所必需的。

默认情况下,此文件不可用,需要手动创建。

完成创建 RAID 设备后,我们可以通过重定向命令的输出来简单地创建 mdadm.conf 文件:

# mdadm --detail -scan
ARRAY /dev/md0 level=linear num-devices=2 metadata=1.2 name=localhost.localdomain:0 UUID=a50ac9f2:62646d92:725255bd:7f9d30e3
   devices=/dev/sdb,/dev/sdc

如上面的输出所示,我有一个带有 2 个设备 /dev/sdb 和 /dev/sdc 的线性数组 md0。

# mdadm --verbose --detail -scan > /etc/mdadm.conf
日期:2020-09-17 00:14:09 来源:oir作者:oir