网站搜索

在 Linux 中设置 RAID 级别 6(具有双重分布式奇偶校验的条带化) - 第 5 部分


RAID 6RAID 5的升级版本,它具有两个分布式奇偶校验,即使在两个驱动器发生故障后也能提供容错能力。在两个并发磁盘发生故障的情况下,任务关键系统仍然可以运行。它类似于 RAID 5,但提供更强大的功能,因为它多使用一个磁盘进行奇偶校验。

在我们之前的文章中,我们已经了解了 RAID 5 中的分布式奇偶校验,但在本文中,我们将看到具有双重分布式奇偶校验的 RAID 6。不要期望比任何其他 RAID 具有更高的性能,如果是这样,我们也必须安装专用的 RAID 控制器。在 RAID 6 中,即使我们丢失了 2 个磁盘,我们也可以通过更换备用驱动器并根据奇偶校验构建它来恢复数据。

要设置 RAID 6,一组中至少需要 4 个或更多磁盘。 RAID 6有多个磁盘,即使在某些集合中也可能有一些磁盘,在读取时,它将从所有驱动器读取,因此读取会更快,而写入会很差,因为它必须在多个磁盘上进行条带化。

现在,我们许多人都得出结论,为什么我们需要使用 RAID 6,因为它的性能与任何其他 RAID 不同。嗯…提出这个问题的人需要知道,如果他们需要高容错能力,请选择RAID 6。在每个对数据库高可用性较高的环境中,他们都会使用RAID 6,因为数据库是最重要的,也是最重要的。需要不惜一切代价确保安全,而且它对于视频流环境也很有用。

RAID 6 的优点和缺点

  1. 性能都不错。
  2. RAID 6 价格昂贵,因为它需要两个独立的驱动器用于奇偶校验功能。
  3. 将失去使用奇偶校验信息(双奇偶校验)的两个磁盘的容量。
  4. 即使两个磁盘发生故障,也不会丢失数据。更换故障磁盘后,我们可以通过奇偶校验进行重建。
  5. 读取会比 RAID 5 更好,因为它从多个磁盘读取,但如果没有专用 RAID 控制器,写入性能会很差。

要求

创建 RAID 6 至少需要 4 个磁盘。如果您想添加更多磁盘,可以,但您必须有专用的 raid 控制器。在软件RAID中,我们不会在RAID 6中获得更好的性能。因此我们需要一个物理RAID控制器。

对于刚接触 RAID 设置的人,我们建议您阅读以下 RAID 文章。

  1. Linux 中 RAID 的基本概念 – 第 1 部分
  2. 在 Linux 中创建软件 RAID 0(条带) - 第 2 部分
  3. 在 Linux 中设置 RAID 1(镜像) – 第 3 部分
我的服务器设置
Operating System :	CentOS 6.5 Final
IP Address	 :	192.168.0.228
Hostname	 :	rd6.tecmintlocal.com
Disk 1 [20GB]	 :	/dev/sdb
Disk 2 [20GB]	 :	/dev/sdc
Disk 3 [20GB]	 :	/dev/sdd
Disk 4 [20GB]	 : 	/dev/sde

本文是 9 个 RAID 系列教程的第 5 部分,在这里我们将了解如何创建和设置软件 RAID 6 或使用双分布式奇偶校验进行条带化Linux 系统或服务器使用四个名为 /dev/sdb、/dev/sdc、/dev/sdd 和 /dev/sde 的 20GB 磁盘。

步骤 1:安装 mdadm 工具并检查驱动器

1.如果您正在阅读我们的前两篇 Raid 文章(第 2 部分第 3 部分),我们已经在其中展示了如何安装“mdadm”工具。如果您是本文的新手,请让我解释一下“mdadm”是一个在 Linux 系统中创建和管理 Raid 的工具,让我们根据您的 Linux 发行版使用以下命令安装该工具。

yum install mdadm		[on RedHat systems]
apt-get install mdadm 	[on Debain systems]

2. 安装该工具后,现在是时候使用以下“fdisk”命令验证我们将用于创建 raid 的附加四个驱动器了。

fdisk -l | grep sd

3. 在创建 RAID 驱动器之前,请务必检查我们的磁盘驱动器上是否已经创建了任何 RAID。

mdadm -E /dev/sd[b-e]
mdadm --examine /dev/sdb /dev/sdc /dev/sdd /dev/sde

注意: 上图中,四个磁盘驱动器中未检测到任何超级块或未定义 RAID。我们可能会进一步开始创建 RAID 6。

步骤 2:RAID 6 的驱动器分区

4. 现在在“/dev/sdb”、“/dev/sdc”、“/dev/”上创建用于 raid 的分区sdd' 和 '/dev/sde' 借助以下 fdisk 命令。在这里,我们将展示如何在 sdb 驱动器上创建分区,以及稍后对其余驱动器遵循的相同步骤。

创建/dev/sdb分区
fdisk /dev/sdb

请按照如下所示的说明创建分区。

  1. 按“n”创建新分区。
  2. 然后选择“P”作为主分区。
  3. 接下来选择分区号为1
  4. 只需按两次 Enter 键即可定义默认值。
  5. 接下来按“P”打印定义的分区。
  6. 按“L”列出所有可用类型。
  7. 输入“t”来选择分区。
  8. 选择 Linux raid auto 的“fd”,然后按 Enter 键应用。
  9. 然后再次使用“P”打印我们所做的更改。
  10. 使用“w”来写入更改。

创建/dev/sdb分区
fdisk /dev/sdc

创建/dev/sdd分区
fdisk /dev/sdd

创建/dev/sde分区
fdisk /dev/sde

5. 创建分区后,检查驱动器是否有超级块始终是个好习惯。如果超级块不存在,那么我们可以创建一个新的 RAID 设置。

mdadm -E /dev/sd[b-e]1


or

mdadm --examine /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

步骤3:创建md设备(RAID)

6. 现在是时候创建 Raid 设备“md0”(即 /dev/md0)并在所有新创建的分区上应用 raid 级别,使用以下命令确认袭击。

mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
cat /proc/mdstat

7.您还可以使用watch命令检查当前的raid进程,如下面的屏幕截图所示。

watch -n1 cat /proc/mdstat

8. 使用以下命令验证 raid 设备。

mdadm -E /dev/sd[b-e]1

注意::上面的命令将显示四个磁盘的信息,该命令相当长,因此无法在此处发布输出或屏幕截图。

9. 接下来,验证 RAID 阵列以确认重新同步已开始。

mdadm --detail /dev/md0

步骤 4:在 Raid 设备上创建文件系统

10. 使用 ext4 为“/dev/md0”创建一个文件系统,并将其挂载到 /mnt/raid6 下。这里我们使用 ext4,但您可以根据您的选择使用任何类型的文件系统。

mkfs.ext4 /dev/md0

11.将创建的文件系统挂载到/mnt/raid6下,并验证挂载点下的文件,我们可以看到lost+found目录。

mkdir /mnt/raid6
mount /dev/md0 /mnt/raid6/
ls -l /mnt/raid6/

12. 在挂载点下创建一些文件,并在任一文件中附加一些文本以验证内容。

touch /mnt/raid6/raid6_test.txt
ls -l /mnt/raid6/
echo "tecmint raid setups" > /mnt/raid6/raid6_test.txt
cat /mnt/raid6/raid6_test.txt

13./etc/fstab中添加一个条目,以便在系统启动时自动挂载设备,并附加以下条目,挂载点可能会根据您的环境而有所不同。

vim /etc/fstab

/dev/md0                /mnt/raid6              ext4    defaults        0 0

14.接下来,执行‘mount -a’命令来验证fstab条目是否有错误。

mount -av

步骤 5:保存 RAID 6 配置

15.请注意,默认情况下 RAID 没有配置文件。我们必须使用以下命令手动保存它,然后验证设备“/dev/md0”的状态。

mdadm --detail --scan --verbose >> /etc/mdadm.conf
mdadm --detail /dev/md0

步骤 6:添加备用驱动器

16.现在有4个磁盘,并且有两个奇偶校验信息可用。在某些情况下,如果任何一个磁盘出现故障我们都可以获取数据,因为 RAID 6 中有双重奇偶校验。

如果第二个磁盘出现故障,我们可以在丢失第三个磁盘之前添加一个新磁盘。可以在创建 RAID 集时添加备用驱动器,但我在创建 RAID 集时没有定义备用驱动器。但是,我们可以在任何驱动器故障后或创建 RAID 集时添加备用驱动器。现在我们已经创建了 RAID 集,现在让我添加一个备用驱动器进行演示。

为了演示目的,我热插拔了一个新的 HDD 磁盘(即 /dev/sdf),让我们验证连接的磁盘。

ls -l /dev/ | grep sd

17. 现在再次确认任何 raid 的新附加磁盘是否已配置或未使用相同的 mdadm 命令。

mdadm --examine /dev/sdf

注意:像往常一样,就像我们之前为四个磁盘创建分区一样,类似地,我们必须使用 fdisk 在新插入的磁盘上创建新分区 命令。

fdisk /dev/sdf

18.再次在/dev/sdf上创建新分区后,确认该分区上的raid,将备用驱动器包含到/dev/md0 > raid 设备并验证添加的设备。

mdadm --examine /dev/sdf
mdadm --examine /dev/sdf1
mdadm --add /dev/md0 /dev/sdf1
mdadm --detail /dev/md0

步骤 7:检查 Raid 6 容错能力

19. 现在,让我们检查一下,如果阵列中的任何磁盘出现故障,备用驱动器是否会自动工作。为了进行测试,我亲自标记了其中一个驱动器出现故障。

在这里,我们将 /dev/sdd1 标记为故障驱动器。

mdadm --manage --fail /dev/md0 /dev/sdd1

20. 现在让我获取 RAID 设置的详细信息,并检查我们的备件是否开始同步。

mdadm --detail /dev/md0

万岁!在这里,我们可以看到备用件已激活并开始重建过程。在底部,我们可以看到有故障的驱动器 /dev/sdd1 被列为有故障。我们可以使用以下命令监视构建过程。

cat /proc/mdstat

结论:

在这里,我们了解了如何使用四个磁盘设置 RAID 6。此 RAID 级别是具有高冗余度的昂贵设置之一。我们将在接下来的文章中了解如何设置嵌套 RAID 10 以及更多内容。在此之前,请与 TECMINT 保持联系。