如何在 ubuntu 上使用 MDADM 创建 RAID 阵列
RAID 是一种数据存储虚拟化平台,它将多个物理磁盘驱动器集成到一个或多个逻辑单元中。根据所需的可靠性和效率级别,数据以多种方式之一分散在驱动器上,称为 RAID 级别。不同的系统被称为“RAID”,后跟一个整数,例如 RAID 0 或 RAID 1。每个系统或 RAID 级别在关键目标(即稳定性、可用性、性能和强度)之间提供不同的平衡。
RAID 使用磁盘镜像或磁盘条带化方法,在多个驱动器上进行镜像会复制相似的数据。分区条带化允许将数据分布到多个磁盘驱动器上。每个驱动器的存储容量分为多个单元,范围从扇区(512 字节)到数兆字节。高于 RAID 0 的 RAID 级别可针对现场不可修复的读取错误以及整个物理驱动器故障提供保护。
RAID 设备通过应用程序驱动程序 md 进行部署。 Linux 软件 RAID 阵列当前支持 RAID 0(条带)、RAID 1(镜像)、RAID 4、RAID 5、RAID 6 和 RAID 10。 Mdadm 是一个 Linux 实用程序,用于控制和管理应用程序的 RAID 设备。 mdadm的几个核心操作模式是组装、构建、创建、跟踪、监控、增长、增量和自动检测。该名称源自其控制或管理的多个设备 (md) 的节点。让我们看看使用 mdadm 创建不同类型的 Raid 阵列。
创建 RAID 0 阵列:
RAID 0 是将数据分成块的机制,这些块分散在硬盘等各种存储设备中。意味着每个光盘保存一部分数据,并且在访问该数据时,将引用多个光盘。在raid 0中,由于块是条带化的,其性能非常出色,但由于没有镜像策略,设备的单个故障就会破坏所有数据。
为了开始,您必须首先使用以下命令识别组件设备:
我们有两张没有文件系统的光盘,每张大小为 50G,从屏幕截图中可以看出。在本例中,标识符 /dev/ch1 和 /dev/ch2 被分配给该会话的这些设备。这些是我们将用来创建数组的原始组件。
要使用这些组件创建 RAID 0 阵列,请在 –create 命令中指定它们。您需要定义要构建的系统名称(在我们的示例中为 /dev/mch0)、RAID 级别(即 0)以及设备数量:
--raid-devices=2 /dev/ch1 /dev/ch2
通过测试/proc/mdstat日志,可以保证RAID创建成功:
/dev/mch0 系统已在 RAID 0 设置中使用 /dev/ch2 和 /dev/ch1 设备创建。现在使用以下命令在该阵列上安装文件系统:
现在,创建一个挂载点并通过以下命令挂载文件系统:
ubuntu@ubuntu:~$ sudo mount /dev/mch0 /mnt/mch0
检查是否有新的可用空间:
现在我们必须更改 /etc/mdadm/mdadm.conf 文件以确保该列表在启动时自动重新组装。您将通过以下命令序列自动搜索当前阵列、连接文件并更新初始 RAM 文件系统:
ubuntu@ubuntu:~$ sudo update-initramfs -u
为了在启动时自动挂载,请在可用的 etc/fstab 文件中添加新的文件系统挂载选项:
现在每次启动都可以自动添加您的 RAID 0 阵列并安装它。
创建 RAID 5 阵列:
Raid 5 阵列是通过剥离数据以及各种设备来创建的。测量的奇偶校验块是每个条带的一部分。奇偶校验块和其余块将用于在设备发生故障时确定丢失的数据。获得奇偶校验块的系统被轮换,使得每个设备都有平衡的奇偶校验信息总和。虽然奇偶校验信息是共享的,但一张光盘的存储价值可以用于奇偶校验。当处于损坏状态时,RAID 5 的结果将非常差。
为了创建 RAID 5 阵列,我们必须首先识别在 RAID 0 中识别的组件设备。但在 RAID 5 中,我们应该至少有 3 个存储设备。使用以下命令查找这些设备的标识符:
使用 –create 命令创建 RAID 5 阵列,但在本例中使用值 5 作为“级别”。
--raid-devices=3 /dev/sda /dev/sdb /dev/sdc
这可能需要一定的时间才能完成,即使在此期间,也可能会使用该数组。通过测试/proc/mdstat日志,可以跟踪创建进度:
现在,通过执行以下命令序列在阵列上创建并安装文件系统:
ubuntu@ubuntu:~$ sudo mkdir -p /mnt/md0
ubuntu@ubuntu:~$ sudo mount /dev/md0 /mnt/md0
安装完成后,可以确认是否可以访问::
为了在每次启动时自动组装和挂载 RAID 5 阵列,您必须通过执行以下命令来调整 initramfs 并将最近创建的文件系统添加到 fstab 文件中:
结论:
RAID 通过将多个硬盘组合在一起提供效率和稳定性。这样,它为系统提供了一个大容量硬盘,其速度比普通分区驱动器快得多。另一方面,它不利于冗余和容错,如果一个驱动器发生故障,所有数据都会丢失。