在 Linux 下使用 RAID(九):如何使用 ‘Mdadm’ 工具管理软件 RAID

无论你以前有没有使用 RAID 阵列的经验,以及是否完成了 此 RAID 系列 的所有教程,一旦你在 Linux 中熟悉了 mdadm --manage 命令的使用,管理软件 RAID 将不是很复杂的任务。

在 Linux 中使用 mdadm 管理 RAID 设备 - 第9部分

在本教程中,我们会再介绍此工具提供的功能,这样当你需要它,就可以派上用场。

RAID 测试方案

在本系列的最后一篇文章中,我们将使用一个简单的 RAID 1(镜像)阵列,它由两个 8GB 的磁盘(/dev/sdb 和 /dev/sdc)和一个备用设备(/dev/sdd)来演示,但在此使用的方法也适用于其他类型的配置。也就是说,放心去用吧,把这个页面添加到浏览器的书签,然后让我们开始吧。

了解 mdadm 的选项和使用方法

幸运的是,mdadm 有一个内建的 --help 参数来对每个主要的选项提供说明文档。

因此,让我们开始输入:


  1. # mdadm --manage --help

就会使我们看到 mdadm --manage 能够执行哪些任务:

使用 mdadm 工具来管理 RAID

正如我们在上面的图片看到,管理一个 RAID 阵列可以在任意时间执行以下任务:

  • (重新)将设备添加到阵列中
  • 把设备标记为故障
  • 从阵列中删除故障设备
  • 使用备用设备更换故障设备
  • 先创建部分阵列
  • 停止阵列
  • 标记阵列为 ro(只读)或 rw(读写)

使用 mdadm 工具管理 RAID 设备

需要注意的是,如果用户忽略 --manage 选项,mdadm 默认使用管理模式。请记住这一点,以避免出现最坏的情况。

上图中的高亮文本显示了管理 RAID 的基本语法:


  1. # mdadm --manage RAID options devices

让我们来演示几个例子。

​例1:为 RAID 阵列添加设备

你通常会添加新设备来更换故障的设备,或者使用空闲的分区以便在出现故障时能及时替换:


  1. # mdadm --manage /dev/md0 --add /dev/sdd1

添加设备到 Raid 阵列

​例2:把一个 RAID 设备标记为故障并从阵列中移除

在从逻辑阵列中删除该设备前,这是强制性的步骤,然后才能从机器中取出它 - 注意顺序(如果弄错了这些步骤,最终可能会造成实际设备的损害):


  1. # mdadm --manage /dev/md0 --fail /dev/sdb1

请注意在前面的例子中,知道如何添加备用设备来自动更换出现故障的磁盘。在此之后,恢复和重建 raid 数据就开始了:

恢复和重建 raid 数据

一旦设备已被手动标记为故障,你就可以安全地从阵列中删除它:


  1. # mdadm --manage /dev/md0 --remove /dev/sdb1

例3:重新添加设备,来替代阵列中已经移除的设备

到现在为止,我们有一个工作的 RAID 1 阵列,它包含了2个活动的设备:/dev/sdc1 和 /dev/sdd1。现在让我们试试重新添加 /dev/sdb1 到/dev/md0:


  1. # mdadm --manage /dev/md0 --re-add /dev/sdb1

我们会碰到一个错误:


  1. # mdadm: --re-add for /dev/sdb1 to /dev/md0 is not possible

因为阵列中的磁盘已经达到了最大的数量。因此,我们有两个选择:a)将 /dev/sdb1 添加为备用的,如例1;或 b)从阵列中删除 /dev/sdd1 然后重新添加 /dev/sdb1。

我们选择选项 b),先停止阵列然后重新启动:


  1. # mdadm --stop /dev/md0
  2. # mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1

如果上面的命令不能成功添加 /dev/sdb1 到阵列中,使用例1中的命令来完成。

mdadm 能检测到新添加的设备并将其作为备用设备,当添加完成后它会开始重建数据,它也被认为是 RAID 中的活动设备:

重建 Raid 的状态

例4:使用特定磁盘更换 RAID 设备

在阵列中使用备用磁盘更换磁盘很简单:


  1. # mdadm --manage /dev/md0 --replace /dev/sdb1 --with /dev/sdd1

更换 Raid 设备

这会导致 --replace 指定的设备被标记为故障,而 --with指定的设备添加到 RAID 中来替代它:

检查 Raid 重建状态

​例5:标记 RAID 阵列为 ro 或 rw

创建阵列后,你必须在它上面创建一个文件系统并将其挂载到一个目录下才能使用它。你可能不知道,RAID 也可以被设置为 ro,使其只读;或者设置为 rw,就可以同时写入了。

要标记该设备为 ro,首先需要将其卸载:


  1. # umount /mnt/raid1
  2. # mdadm --manage /dev/md0 --readonly
  3. # mount /mnt/raid1
  4. # touch /mnt/raid1/test1

在 RAID 阵列上设置权限

要配置阵列允许写入操作需要使用 --readwrite 选项。请注意,在设置 rw 标志前,你需要先卸载设备并停止它:


  1. # umount /mnt/raid1
  2. # mdadm --manage /dev/md0 --stop
  3. # mdadm --assemble /dev/md0 /dev/sdc1 /dev/sdd1
  4. # mdadm --manage /dev/md0 --readwrite
  5. # touch /mnt/raid1/test2

配置 Raid 允许读写操作

总结

在本系列中,我们已经解释了如何建立一个在企业环境中使用的软件 RAID 阵列。如果你按照这些文章所提供的例子进行配置,在 Linux 中你会充分领会到软件 RAID 的价值。

本文来自合作伙伴“Linux中国”,原文发布日期:2015-10-24

时间: 2024-11-03 22:17:47

在 Linux 下使用 RAID(九):如何使用 ‘Mdadm’ 工具管理软件 RAID的相关文章

Linux下的七个类Dropbox同步工具推荐

[51CTO精选译文]不少51CTO读者朋友们都询问过Linux平台下的Dropbox替代软件的问题,而目前国内的几家,金山快盘. Dbank.Everbox.酷盘.微盘这几个产品,目前对Linux的支持还非常有限.很多Linux桌面用户又不能像系统管理员那样自己配置 rsync进行远程同步,因此一个顺手的Linux桌面端同步工具是很有帮助的. TechDrivein网站近日推荐了Linux平台上的七个Dropbox的替代软件,下面将为大家一一介绍. SparkleShare sparklesh

Remmina:一个Linux下功能丰富的远程桌面共享工具

Remmina 是一款在 Linux 和其他类 Unix 系统下的自由开源.功能丰富.强大的远程桌面客户端,它用 GTK+ 3 编写而成.它适用于那些需要远程访问及使用许多计算机的系统管理员和在外出行人员. 它以简单.统一.同质.易用的用户界面支持多种网络协议. Remmina 功能 支持 RDP.VNC.NX.XDMCP 和 SSH. 用户能够以组的形式维护一份连接配置列表. 支持用户直接输入服务器地址的快速连接. 具有更高分辨率的远程桌面,可以在窗口和全屏模式下滚动/缩放. 支持窗口全屏模式

Linux下用rpm包搭建Lamp及网页管理mysql

Lamp(rpm)安装: 一:编辑本地yum用于安装软件包: [root@localhost ~]# cd /mnt/cdrom/ [root@localhost ~]# mount /dev/cdrom /mnt/cdrom/ [root@localhost ~]# cd /mnt/cdrom/Server/ [root@localhost Server]# vim /etc/yum.repos.d/rhel- debuginfo.repo #编辑本地yum 二:安装http服务器: [roo

Linux下Lamp(rpm包)搭建+网页管理mysql

Lamp(rpm)安装: 一:编辑本地yum用于安装软件包: [root@localhost ~]# cd /mnt/cdrom/ [root@localhost ~]# mount /dev/cdrom /mnt/cdrom/ [root@localhost ~]# cd /mnt/cdrom/Server/ [root@localhost Server]# vim /etc/yum.repos.d/rhel-debuginfo.repo #编辑本地yum 二:安装http服务器: [root

在 Linux 下使用 RAID(五):安装 RAID 6(条带化双分布式奇偶校验)

RAID 6 是 RAID 5 的升级版,它有两个分布式奇偶校验,即使两个磁盘发生故障后依然有容错能力.在两个磁盘同时发生故障时,系统的关键任务仍然能运行.它与 RAID 5 相似,但性能更健壮,因为它多用了一个磁盘来进行奇偶校验. 在之前的文章中,我们已经在 RAID 5 看了分布式奇偶校验,但在本文中,我们将看到的是 RAID 6 双分布式奇偶校验.不要期望比其他 RAID 有更好的性能,除非你也安装了一个专用的 RAID 控制器.在 RAID 6 中,即使我们失去了2个磁盘,我们仍可以通过

在 Linux 下使用 RAID(四):创建 RAID 5(条带化与分布式奇偶校验)

在 RAID 5 中,数据条带化后存储在分布式奇偶校验的多个磁盘上.分布式奇偶校验的条带化意味着它将奇偶校验信息和条带化数据分布在多个磁盘上,这样会有很好的数据冗余. 在 Linux 中配置 RAID 5 对于此 RAID 级别它至少应该有三个或更多个磁盘.RAID 5 通常被用于大规模生产环境中,以花费更多的成本来提供更好的数据冗余性能. 什么是奇偶校验? 奇偶校验是在数据存储中检测错误最简单的常见方式.奇偶校验信息存储在每个磁盘中,比如说,我们有4个磁盘,其中相当于一个磁盘大小的空间被分割去

在 Linux 下使用 RAID(七):在 RAID 中扩展现有的 RAID 阵列和删除故障的磁盘

每个新手都会对阵列(array)这个词所代表的意思产生疑惑.阵列只是磁盘的一个集合.换句话说,我们可以称阵列为一个集合(set)或一组(group).就像一组鸡蛋中包含6个一样.同样 RAID 阵列中包含着多个磁盘,可能是2,4,6,8,12,16等,希望你现在知道了什么是阵列. 在这里,我们将看到如何扩展现有的阵列或 RAID 组.例如,如果我们在阵列中使用2个磁盘形成一个 raid 1 集合,在某些情况,如果该组中需要更多的空间,就可以使用 mdadm -grow 命令来扩展阵列大小,只需要

Linux中使用mdadm命令来操作RAID的基本教程

  mdadm 用于建设,管理和监控RAID阵列 用法: mdadm --create device options... 用未使用的设备,创建raid选项, mdadm --assemble device options... 合并先前创建的raid阵列. mdadm --build device options... 创建或合并没有元数据的一个raid. mdadm --manage device options... 对现有阵列进行更改 mdadm --misc options... de

在 Linux 下使用 RAID(三):用两块磁盘创建 RAID 1(镜像)

RAID 镜像意味着相同数据的完整克隆(或镜像),分别写入到两个磁盘中.创建 RAID 1 至少需要两个磁盘,而且仅用于读取性能或者可靠性要比数据存储容量更重要的场合. 在 Linux 中设置 RAID 1 创建镜像是为了防止因硬盘故障导致数据丢失.镜像中的每个磁盘包含数据的完整副本.当一个磁盘发生故障时,相同的数据可以从其它正常磁盘中读取.而后,可以从正在运行的计算机中直接更换发生故障的磁盘,无需任何中断. RAID 1 的特点 镜像具有良好的性能. 磁盘利用率为50%.也就是说,如果我们有两