在 Linux 中创建 RAID 5(带分布式奇偶校验的条带化)
RAID(廉价磁盘冗余阵列)是一种将多个磁盘组合成单个逻辑单元的技术,以实现性能和/或冗余。 RAID 5 是一种 RAID,它使用带有分布式奇偶校验的条带化来提供性能和冗余。在本教程中,我们将向您展示如何在 Linux 中创建 RAID 5 阵列。
在开始之前,我们首先了解分布式奇偶校验条带化的概念。
什么是具有分布式奇偶校验的条带化?
在具有分布式奇偶校验的条带化中,数据被分成块并分布在多个磁盘上。奇偶校验信息也分布在磁盘上。奇偶校验用于在其中一个磁盘发生故障时重建数据。
例如,如果我们有三个磁盘(Disk1、Disk2 和 Disk3),并且想要创建 RAID 5 阵列,则数据将在所有三个磁盘上进行条带化。每个条带的奇偶校验信息存储在不同的磁盘上。第一个条带的奇偶校验信息存储在 Disk2 上,第二个条带的奇偶校验信息存储在 Disk3 上,第三个条带的奇偶校验信息存储在 Disk1 上。
这样,如果其中一个磁盘发生故障,RAID 控制器可以使用奇偶校验信息来重建数据并恢复丢失的信息。
现在我们了解了带有分布式奇偶校验的条带化的概念,接下来让我们继续在 Linux 中创建 RAID 5 阵列。
在 Linux 中创建 RAID 5 阵列
请按照以下步骤在 Linux 中创建 RAID5 阵列。
第1步:安装mdadm
第一步是安装 mdadm 软件包,这是我们将用来创建 RAID 阵列的工具。要安装 mdadm,请运行以下命令 -
sudo apt-get install mdadm
步骤 2:在磁盘上创建分区
接下来,我们需要在 RAID 阵列中使用的磁盘上创建分区。在此示例中,我们将使用三个磁盘(/dev/sdb、/dev/sdc 和 /dev/sdd)作为 RAID 阵列。
我们将在每个磁盘上创建一个跨整个磁盘的分区。要创建分区,请为每个磁盘运行以下命令 -
sudo fdisk /dev/sdX
将“X”替换为适当的磁盘标识符(b、c 或 d)。然后,在 fdisk 中输入以下命令:
Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): Using default response p. Partition number (1-4, default 1):First sector (2048-83886079, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-83886079, default 83886079):
按“p”验证分区是否已创建。对所有三个磁盘重复此过程。
步骤 3:创建 RAID 5 阵列
现在我们可以使用 mdadm 工具创建 RAID 5 阵列。运行以下命令 -
sudo mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
此命令创建一个名为 /dev/md0、级别为 5 和三个设备(/dev/sdb1、/dev/sdc1 和 /dev/sdd1)的 RAID 5 阵列。
步骤 4:格式化 RAID 5 阵列
创建 RAID 5 阵列后,我们需要使用文件系统对其进行格式化。在此示例中,我们将使用 ext4 文件系统。
要格式化 RAID 5 阵列,我们将使用 mkfs.ext4 命令 -
sudo mkfs.ext4 /dev/md0
将 /dev/md0 替换为 RAID 5 阵列的名称。
步骤 5:安装 RAID 5 阵列
格式化RAID 5阵列后,我们需要将其挂载到某个目录。我们将在“/mnt”目录中创建一个名为“raid5”的目录,并将 RAID 5 阵列挂载到其中 -
sudo mkdir /mnt/raid5
sudo mount /dev/md0 /mnt/raid5
要在启动时自动挂载 RAID 5 阵列,我们需要在“/etc/fstab”文件中添加一个条目 -
sudo nano /etc/fstab
将以下行添加到文件末尾 -
/dev/md0 /mnt/raid5 ext4 defaults 0 0
保存并关闭文件。
步骤 6:测试 RAID 5 阵列
要测试 RAID 5 阵列,我们可以在 RAID 5 阵列上创建一个文件并验证它是否可访问 -
sudo touch /mnt/raid5/testfile
ls /mnt/raid5
如果列出文件“testfile”,则 RAID 5 阵列工作正常。恭喜!您已在 Linux 中成功创建 RAID 5 阵列。
注意:要将更多磁盘添加到 RAID 5 阵列,请使用以下命令 -
sudo mdadm --add /dev/md0 /dev/sdx
将 /dev/sdx 替换为要添加的磁盘的设备名称。
在下一节中,我们将讨论如何监控 RAID 5 阵列的状态。
监控 RAID 5 阵列
监控 RAID 5 阵列的状态以确保其正常运行非常重要。以下命令可用于监视阵列 -
要显示 RAID 5 阵列的状态,请使用以下命令 -
sudo mdadm --detail /dev/md0
这将显示有关阵列的详细信息,包括其状态、活动磁盘数量和故障磁盘数量(如果有)。
要实时监控阵列的状态,请使用以下命令 -
watch -n 1 cat /proc/mdstat
这将显示阵列状态的实时视图,包括已同步的阵列的百分比以及正在发生的任何错误。
o 当阵列状态发生变化时接收电子邮件通知,我们可以使用 mdadm 工具设置电子邮件通知。为此,我们首先需要安装 mailutils 包 -
sudo apt-get install mailutils
安装软件包后,我们可以通过编辑 mdadm.conf 文件来设置电子邮件通知 -
sudo nano /etc/mdadm/mdadm.conf
将以下行添加到文件末尾 -
MAILADDR your_email_address
NOTIFYFLAG all
将“your_email_address”替换为您的实际电子邮件地址。
保存并关闭文件。
现在,每当阵列的状态发生变化时,都会向指定的电子邮件地址发送电子邮件通知。
通过监控 RAID 5 阵列的状态,我们可以确保其正常运行并在必要时采取纠正措施。
结论
RAID 5 因其在性能和冗余之间的平衡而成为流行的数据存储解决方案。在本教程中,我们介绍了在 Linux 中使用 mdadm 创建 RAID 5 阵列的步骤。我们首先安装 mdadm,为驱动器创建分区,并创建具有分布式奇偶校验的 RAID 5 阵列。然后,我们使用 ext4 文件系统格式化该阵列并将其安装为永久存储位置。
定期监控 RAID 5 阵列的运行状况以检测任何问题并防止数据丢失非常重要。我们介绍了如何使用 mdadm 检查阵列的状态以及如何更换出现故障的驱动器。
实施 RAID 5 阵列可以成为满足数据存储需求的可靠且经济高效的解决方案。它提供了性能、冗余和容量之间的平衡,使个人和企业用例都受益。