使用 mdadm 管理 RAID 阵列

Mdadm 代表多磁盘和设备管理。 它是一个命令行工具,可用于管理软件 袭击 Linux PC 上的阵列。 本文概述了开始使用它所需的基础知识。

以下五个命令允许您使用 mdadm 的最基本功能:

  1. 创建 RAID 阵列
    # mdadm –create /dev/md/test –homehost=any –metadata=1.0 –level=1 –raid-devices=2 /dev/sda1 /dev/sdb1
  2. 组装(并启动)一个 RAID 阵列
    # mdadm –assemble /dev/md/test /dev/sda1 /dev/sdb1
  3. 停止 RAID 阵列
    # mdadm –stop /dev/md/test
  4. 删除 RAID 阵列
    # mdadm –zero-superblock /dev/sda1 /dev/sdb1
  5. 检查所有组装的 RAID 阵列的状态
    # cat /proc/mdstat

功能说明

mdadm –create

除了 create 参数本身和设备名称之外,上面显示的 create 命令还包括以下四个参数:

  1. – 家庭主机
    默认情况下,mdadm 将您的计算机名称存储为 RAID 阵列的一个属性。 如果您的计算机名称与存储的名称不匹配,数组将不会自动组合。 此功能在共享硬盘驱动器的服务器集群中很有用,因为如果多个服务器尝试同时访问同一个驱动器,通常会发生文件系统损坏。 名称 any 被保留并禁用家庭主机限制。
  2. –元数据
    mdadm 保留每个 RAID 设备的一小部分来存储有关 RAID 阵列本身的信息。 元数据参数指定信息的格式和位置。 值 1.0 表示使用版本 1 格式并将元数据存储在设备的末尾。
  3. -等级
    level 参数指定数据应怎样在底层设备之间分布。 级别 1 表示每个设备都应包含所有数据的完整副本。 此级别也称为 磁盘镜像.
  4. –突袭设备
    raid-devices 参数指定将用于创建 RAID 阵列的设备数量。

通过将 level=1(镜像)与 metadata=1.0(将元数据存储在设备的末尾)结合使用,您可以创建一个 RAID1 阵列,如果在没有 mdadm 驱动程序帮助的情况下访问其底层设备,则该阵列看起来是正常的。 这在灾难恢复的情况下很有用,因为即使新系统不支持 mdadm 阵列,您也可以访问设备。 如果程序需要在 mdadm 可用之前对底层设备进行只读访问,它也很有用。 为了 example, 这 欧足联 计算机中的固件可能需要从 静电除尘器 在 mdadm 启动之前。

mdadm –assemble

如果成员设备丢失或损坏,上述 assemble 命令将失败。 要强制 RAID 阵列在其成员之一丢失时组装和启动,请使用以下命令:

# mdadm --assemble --run /dev/md/test /dev/sda1

其他重要说明

避免直接写入 mdadm RAID1 阵列底层的任何设备。 这会导致设备不同步并且 mdadm 不会知道它们不同步。 如果您使用带外修改过的设备访问 RAID1 阵列,则可能会导致文件系统损坏。 如果您在带外修改 RAID1 设备并需要强制阵列重新同步,请从要覆盖的设备中删除 mdadm 元数据,然后将其重新添加到阵列中,如下所示:

# mdadm --zero-superblock /dev/sdb1
# mdadm --assemble --run /dev/md/test /dev/sda1
# mdadm /dev/md/test --add /dev/sdb1

这些命令用 sda1 的内容完全覆盖 sdb1 的内容。

要指定任何 RAID 阵列在您的计算机启动时自动激活,请创建一个 /etc/mdadm.conf 配置文件。

有关最新和详细的信息,请查看手册页:

$ man mdadm 
$ man mdadm.conf

本系列的下一篇文章将展示怎样将现有的单磁盘 Linux 安装转换为镜像磁盘安装的分步指南,即使其中一个硬盘驱动器突然停止工作,该安装也会继续运行!

相关阅读:

Posted in: Linux