使用mdadm管理RAID阵列

发布者:上海IT外包来源:http://www.lanmon.net点击数:1208

Mdadm是Multi Disk和Device Management的缩写。它是一个命令行工具,可用于管理Linux上的软件RAID阵列。本文概述了使用它的基础知识。
以下五个命令是您用于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阵列的状态:cat/proc/mdstat
功能说明
Mdadm -create
除了-create参数本身和设备名称之外,上面的创建命令还包括四个参数:
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
如果成员设备丢失或损坏,则上述组合命令将失败。要强制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的内容完全由上面的sda1的内容覆盖。
要指定计算机启动时自动激活的RAID阵列,请创建/etc/mdadm.conf配置。
有关最新和详细信息,请参见手册页:
$ man mdadm
$ man mdadm.conf
本系列的下一篇文章将介绍如何将现有的单磁盘Linux系统转换为镜像磁盘安装,这意味着即使其中一个硬盘突然停止工作,系统仍将继续运行!
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部