在 Linux 中设置 RAID 级别 6(具有双重分布式奇偶校验的条带化) - 第 5 部分
RAID 6是RAID 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 的优点和缺点
- 性能都不错。
- RAID 6 价格昂贵,因为它需要两个独立的驱动器用于奇偶校验功能。
- 将失去使用奇偶校验信息(双奇偶校验)的两个磁盘的容量。
- 即使两个磁盘发生故障,也不会丢失数据。更换故障磁盘后,我们可以通过奇偶校验进行重建。
- 读取会比 RAID 5 更好,因为它从多个磁盘读取,但如果没有专用 RAID 控制器,写入性能会很差。
要求
创建 RAID 6 至少需要 4 个磁盘。如果您想添加更多磁盘,可以,但您必须有专用的 raid 控制器。在软件RAID中,我们不会在RAID 6中获得更好的性能。因此我们需要一个物理RAID控制器。
对于刚接触 RAID 设置的人,我们建议您阅读以下 RAID 文章。
- Linux 中 RAID 的基本概念 – 第 1 部分
- 在 Linux 中创建软件 RAID 0(条带) - 第 2 部分
- 在 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
请按照如下所示的说明创建分区。
- 按“n”创建新分区。
- 然后选择“P”作为主分区。
- 接下来选择分区号为1。
- 只需按两次 Enter 键即可定义默认值。
- 接下来按“P”打印定义的分区。
- 按“L”列出所有可用类型。
- 输入“t”来选择分区。
- 选择 Linux raid auto 的“fd”,然后按 Enter 键应用。
- 然后再次使用“P”打印我们所做的更改。
- 使用“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 保持联系。