网站搜索

在 Linux 中使用“两个磁盘”设置 RAID 1(镜像) - 第 3 部分


RAID镜像是指将相同数据写入两个驱动器的精确克隆(或镜像)。阵列中至少需要两个磁盘才能创建 RAID1,并且仅当读取性能或可靠性比数据存储容量更精确时才有用。

创建镜像是为了防止由于磁盘故障而导致数据丢失。镜像中的每个磁盘都包含数据的精确副本。当一个磁盘出现故障时,可以从其他正常运行的磁盘检索相同的数据。但是,可以从正在运行的计算机更换出现故障的驱动器,而无需任何用户中断。

RAID 1 的特点

  1. 镜子具有良好的性能。
  2. 50% 的空间将会丢失。意味着如果我们有两个总大小为 500GB 的磁盘,那么它将是 1TB,但在镜像中它只会向我们显示 500GB。
  3. 如果一个磁盘发生故障,镜像中不会丢失数据,因为两个磁盘中的内容相同。
  4. 读取数据比将数据写入驱动器要好。

要求

最少允许使用两个磁盘来创建 RAID 1,但您可以使用 2、4、6、8 的两倍来添加更多磁盘。要添加更多磁盘,您的系统必须具有 RAID 物理适配器(硬件卡)。

在这里,我们使用软件 raid 而不是硬件 raid,如果您的系统有内置的物理硬件 raid 卡,您可以从其实用程序 UI 或使用 Ctrl+I 键访问它。

另请阅读:Linux 中 RAID 的基本概念

我的服务器设置
Operating System :	CentOS 6.5 Final
IP Address	 :	192.168.0.226
Hostname	 :	rd1.tecmintlocal.com
Disk 1 [20GB]	 :	/dev/sdb
Disk 2 [20GB]	 :	/dev/sdc

本文将指导您逐步了解如何使用 mdadm 设置软件 RAID 1镜像(创建和管理raid)在Linux平台上。尽管相同的指令也适用于其他 Linux 发行版,例如 RedHat、CentOS、Fedora 等。

第 1 步:安装先决条件并检查驱动器

1. 正如我上面所说,我们使用 mdadm 实用程序在 Linux 中创建和管理 RAID。那么,让我们使用 yum 或 apt-get 包管理工具在 Linux 上安装 mdadm 软件包。

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

2. 安装“mdadm”软件包后,我们需要使用以下命令检查磁盘驱动器是否已配置任何 raid。

mdadm -E /dev/sd[b-c]

正如您从上面的屏幕中看到的,尚未检测到任何超级块,这意味着尚未定义 RAID。

步骤 2:RAID 驱动器分区

3. 正如我上面提到的,我们至少使用两个分区 /dev/sdb/dev/sdc 来创建 RAID1。让我们使用“fdisk”命令在这两个驱动器上创建分区,并在分区创建期间将类型更改为 raid。

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”分区后,接下来按照相同的说明在/dev/sdc驱动器上创建新分区。

fdisk /dev/sdc

4. 成功创建两个分区后,使用相同的“mdadmsdbsdc 驱动器上的更改Strong>' 命令并确认 RAID 类型,如以下屏幕截图所示。

mdadm -E /dev/sd[b-c]

注意:如上图所示,sdb1sdc1 上没有任何已定义的 RAID到目前为止,这就是我们没有检测到超级块的原因。

步骤 3:创建 RAID1 设备

5. 接下来使用以下命令创建名为“/dev/md0”的 RAID1 设备并验证它。

mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sd[b-c]1
cat /proc/mdstat

6. 接下来使用以下命令检查 raid 设备类型和 raid 阵列。

mdadm -E /dev/sd[b-c]1
mdadm --detail /dev/md0

从上面的图片中,我们可以很容易地了解到raid1已经创建并使用/dev/sdb1/dev/sdc1分区,并且您还可以看到状态为重新同步。

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

7.使用ext4为md0创建文件系统,并挂载在/mnt/raid1下。

mkfs.ext4 /dev/md0

8. 接下来,将新创建的文件系统挂载到“/mnt/raid1”下,并创建一些文件并验证挂载点下的内容。

mkdir /mnt/raid1
mount /dev/md0 /mnt/raid1/
touch /mnt/raid1/tecmint.txt
echo "tecmint raid setups" > /mnt/raid1/tecmint.txt

9. 要在系统重新启动时自动挂载 RAID1,您需要在 fstab 文件中创建一个条目。打开“/etc/fstab”文件并在文件底部添加以下行。

/dev/md0                /mnt/raid1              ext4    defaults        0 0

10.运行‘mount -a’检查fstab条目是否有错误。

mount -av

11. 接下来,使用以下命令将 raid 配置手动保存到“mdadm.conf”文件中。

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

系统在重新引导时读取上述配置文件并加载 RAID 设备。

步骤 5:磁盘故障后验证数据

12.我们的主要目的是,即使在任何硬盘出现故障或崩溃后,我们的数据也需要可用。让我们看看当阵列中任何磁盘不可用时会发生什么情况。

mdadm --detail /dev/md0

在上图中,我们可以看到 RAID 中有 2 个可用设备,活动设备为 2 个。现在让我们看看当磁盘拔出(移除 sdc 磁盘)或发生故障时会发生什么。

ls -l /dev | grep sd
mdadm --detail /dev/md0

现在,在上图中,您可以看到我们的一个驱动器丢失了。我从虚拟机中拔下了其中一个驱动器。现在让我们检查一下我们的宝贵数据。

cd /mnt/raid1/
cat tecmint.txt

您是否看到我们的数据仍然可用。由此我们就知道了RAID 1(镜像)的优点。在下一篇文章中,我们将了解如何设置具有分布式奇偶校验的 RAID 5 条带化。希望这可以帮助您了解 RAID 1(镜像)的工作原理。