无论你以前有没有使用 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

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

  1. 在 Linux 下使用 RAID(二):使用 mdadm 工具创建软件 RAID 0 (条带化)

    RAID 即廉价磁盘冗余阵列,其高可用性和可靠性适用于大规模环境中,相比正常使用,数据更需要被保护.RAID 是一些磁盘的集合,是包含一个阵列的逻辑卷.驱动器可以组合起来成为一个阵列或称为(组的)集合 ...

  2. linux 录屏软件 按键,linux下常用的截图、录屏工具

    linux下常用的截图.录屏工具 (2010-01-05 10:47:21) 由于和老公一起做一个百度俱乐部的小项目,在编写测试文档时要使用截图.录屏的小工具,于是展开搜索什么工具比较好使. 录屏: ...

  3. Linux 下几款程序内存泄漏检查工具

    Linux 下几款程序内存泄漏检查工具 chenyoubing | 发布于 2016-07-23 10:08:09 | 阅读量 93 | 无 写这篇博客的原因呢是因为自己在编写基于Nginx磁盘缓存管 ...

  4. Linux 下的截屏并编辑的工具-flamshot安装及使用

    方法1. linux 系统自带简单截图方式 支持功能:截取整个屏幕:屏幕中的某个区域:某个特定的窗口: 如果只需要获取一张屏幕截图,不对其进行编辑的话,那么键盘的默认快捷键就可以满足要求了.而且不仅仅 ...

  5. linux下freerdp编译,linux下安装freerdp连接windows远程桌面的好软件软件

    linux下安装freerdp连接windows远程桌面的好软件软件 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 8.90 积分 Linux 下安 ...

  6. Linux下制作Windows启动U盘的工具

    Linux下制作Windows启动U盘的工具 很多人说Linux下制作Windwos启动盘要用GRUB4DOS建立引导,其实不用,有专门的工具的,就像Windows下有Rufus制作Linux启动U盘 ...

  7. linux mdadm 源码,mdadm命令_Linux mdadm 命令用法详解: mdadm 标准的软件 RAID 管理工具...

    mdadm 命令 基本语法mdadm [mode] [options] [mode] 7种Assemble:将以前定义的某个阵列加入当前在用阵列. Build:Build a legacy array ...

  8. Linux下的十个好用的命令工具:查看系统版本,显示目录的大小,查看硬盘HDD/SSD,硬盘测速,ssh时自动输入密码,查看程序的内存使用情况,查看I/O的速度,查看ssh密码错误日志,查找文件

    文章目录 1.查看系统版本 2.显示目录的大小 3.查看硬盘是HDD还是SSD 4.硬盘测速 5.在ssh的时候自动输入密码 6.查看程序的内存使用情况 7.查看I/O的速度 8.查看ssh密码错误日 ...

  9. Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍

    一.http_load程序非常小,解压后也不到100K http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会 ...

最新文章

  1. Python学习六大路线,教你快速上手
  2. 在Lotus Domino中使用Java构建应用程序
  3. MFC接收命令行参数的三种方法
  4. js监听select值变化_网络编程——C++实现socket通信(TCP)高并发之select模式
  5. 问题 | UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 29解决办法
  6. 【渝粤教育】国家开放大学2018年春季 0064-22T20世纪欧美文学 参考试题
  7. tr闭包_嵌套函数及闭包
  8. 解决ueditor中没法动态配置imageurlprefix的方法
  9. Nginx增加第三方外部插件
  10. 在 Linux 平台中调试 C/C++ 内存泄漏方法
  11. redis新数据类型-bitmaps
  12. Python3下的WIFI密码爆破
  13. 影院售票系统 php源码,影院售票系统
  14. Verilog语法入门
  15. python爬虫:模拟登录新浪微博并实现cookies保存,详细讲一下rsa
  16. js得到今天日期、本周、本月、本季度、本年起始和结束日期
  17. 手机通过IPV6访问电脑共享文件
  18. java网易云信怎么用_网易云信Web IM入门(二)
  19. Shiro系统权限管理、及原理剖析
  20. Selenium模拟浏览器访问

热门文章

  1. Andorid视觉新冲击-Material design语言
  2. python 遍历文件夹
  3. 获取本地IP和端口号的指令
  4. [转载]IIS 6.0配置HTTP压缩的步骤
  5. 大数据之-Hadoop3.x_MapReduce工作流程---大数据之hadoop3.x工作笔记0109
  6. 理解_授权数据模型_Spring Security OAuth2.0认证授权---springcloud工作笔记112
  7. Netty工作笔记0045---异步模型原理剖析
  8. STM32工作笔记0024---什么是电流,什么是电压,什么是电阻,电阻的作用
  9. Web前端工作笔记010---IE8兼容_IE8不能使用foreach_indexOf的解决方案
  10. 工作资讯004---多范式编程语言