mdadm是MultipleDiskandDeviceAdministration的缩写。它是一个命令行工具,可用于在Linux上管理软件RAID阵列。本文概述了使用它的基础知识。以下5个命令是您使用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/测试删除RAID阵列:mdadm--zero-superblock/dev/sda1/dev/sdb1查看所有组合RAID阵列的状态:cat/proc/mdstat功能说明包括四个参数:1.–homehost:mdadm默认保存您的计算机名称作为RAID阵列的属性。如果您的计算机名称与存储的名称不匹配,则阵列不会自动组装。此功能在共享硬盘驱动器的服务器集群中很有用,因为如果多台服务器同时尝试访问同一驱动器,通常会发生文件系统损坏。名称any是保留字段并禁用-homehost限制。2.--metadata:-mdadm保留每个RAID设备的一小部分来存储RAID阵列本身的信息。-metadata参数指定信息的格式和位置。1.0表示使用版本1格式并在设备末尾存储元数据。3.–level:-level参数指定数据应如何在底层设备之间分配。级别1意味着每个设备都应包含所有数据的完整副本。此级别也称为磁盘镜像。4.–raid-devices:-raid-devices参数指定将用于创建RAID阵列的设备数量。通过使用-level=1(镜像)和-metadata=1.0(在设备末尾存储元数据),您可以创建一个RAID1阵列,如果不通过mdadm驱动程序访问,其底层设备将正常显示。这在灾难恢复情况下很有用,因为即使新系统不支持mdadm阵列,您也可以访问该设备。如果程序需要在mdadm可用之前对底层设备进行只读访问,这也很有用。例如,您计算机中的UEFI固件可能需要在启动mdadm之前从ESP读取引导加载程序。mdadm--assemble如果成员设备丢失或损坏,上面的assemble命令将失败。要强制RAID阵列在其中一个成员丢失时组装并启动,请使用以下命令:#mdadm--assemble--run/dev/md/test/dev/sda1其他重要说明避免直接写入底层设备是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配置。更多信息,请查看手册页:$manmdadm$manmdadm.conf本系列的下一篇文章将展示如何将现有的单磁盘Linux系统变成镜像磁盘安装,这意味着即使其中一个硬盘突然停止工作,系统仍会运行!
