Mdadm 代表多磁盘和设备管理。 它是一个命令行工具,可用于管理软件 袭击 Linux PC 上的阵列。 本文概述了开始使用它所需的基础知识。
以下五个命令允许您使用 mdadm 的最基本功能:
- 创建 RAID 阵列:
# mdadm –create /dev/md/test –homehost=any –metadata=1.0 –level=1 –raid-devices=2 /dev/sda1 /dev/sdb1
- 组装(并启动)RAID 阵列:
# mdadm –assemble /dev/md/test /dev/sda1 /dev/sdb1
- 停止 RAID 阵列:
# mdadm –stop /dev/md/test
- 删除 RAID 阵列:
# mdadm –zero-superblock /dev/sda1 /dev/sdb1
- 检查所有组装的 RAID 阵列的状态:
# 猫 /proc/mdstat
功能说明
mdadm –创建
上面显示的 create 命令除了 create 参数本身和设备名称外,还包括以下四个参数:
- –homehost:
默认情况下,mdadm 将您的计算机名称存储为 RAID 阵列的属性。 如果您的计算机名称与存储的名称不匹配,阵列将不会自动组装。 此功能在共享硬盘驱动器的服务器集群中很有用,因为如果多台服务器尝试同时访问同一个驱动器,通常会发生文件系统损坏。 名称 any 被保留并禁用宿主主机限制。 - –元数据:
mdadm 保留每个 RAID 设备的一小部分来存储有关 RAID 阵列本身的信息。 元数据参数指定信息的格式和位置。 值 1.0 表示使用版本 1 格式并将元数据存储在设备末尾。 - -等级:
level 参数指定数据应如何在底层设备之间分布。 级别 1 表示每个设备都应包含所有数据的完整副本。 这个级别也被称为 磁盘镜像. - –raid 设备:
raid-devices 参数指定将用于创建 RAID 阵列的设备数量。
通过将 level=1(镜像)与 metadata=1.0(将元数据存储在设备末尾)结合使用,您可以创建一个 RAID1 阵列,如果在没有 mdadm 驱动程序帮助的情况下访问其底层设备,则该阵列看起来正常。 这在灾难恢复的情况下很有用,因为即使新系统不支持 mdadm 阵列,您也可以访问设备。 如果程序需要在 mdadm 可用之前对底层设备进行只读访问,它也很有用。 为了 example, 这 UEFI 计算机中的固件可能需要从 ESP 在 mdadm 启动之前。
mdadm –组装
如果成员设备丢失或损坏,上述 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 安装转换为镜像磁盘安装的分步指南,即使其中一个硬盘突然停止工作,它也将继续运行!