快捷搜索:   nginx

ubuntu server:RAID 10 的日常维护

RAID10的日常维护

  在Linux中,我们使用mdadm工具来管理RAID。mdadm是Multiple Devices Admin的简称(Linux软RAID的别名就是“Multiple Devices”,简称MD)。

  mdadm的主要工作模式

  mdadm主要有8大类功能,分别是:

  ●assemble——加入一个已经存在的RAID阵列(组装);

  ●build——创建老式RAID阵列(没有“超级块”);

  ●create——创建新式RAID阵列(每个具有超级块);

  ●follow or monitor——监控RAID的状态(针对RAID1/4/5/6/10);

  ●grow——扩展、收缩RAID的容量或RAID中的设备数目(针对RAID1/4/5/6);

  ●incremental assembly——向RAID中添加单个设备,如果加入后RAID能够运行,那么该RAID将进入工作状态;

  ●manage——管理RAID阵列(添加、删除等);

  ●misc——其他操作;允许对RAID中的单个设备进行操作(如停止阵列)。

  前面我们在安装的过程中,就在安装程序的虚拟控制台上使用过mdadm命令;我们使用的是create功能,创建 新RAID阵列。此外,命令中我们还用了很多选项,下面我们来介绍一下mdadm的主要选项。

  mdadm的选项

  1.工作模式选项

  以下选项,是用来选择工作模式的:

  ● -A, --assemble:把一个已经存在的RAID阵列,加入到当前RAID阵列中;

  ● -B, --build:构建一个老式RAID阵列(无“超级块”);
● -C, --create:创建一个新式RAID阵列;

  ● -F, --follow, --monitor:选择监控模式;

  ● -G, --grow:改变当前RAID阵列的容量或形态;

  ● -I, --incremental:将单个设备加入某个RAID阵列,(多数情况下)使该RAID进入工作状态;

  ● --auto-detect:检测所有RAID,并启动它们。要使用该模式,MD必须编译进内核,而不是以模块方式运行。

  如果使用--add、--fail或者--remove指令,则不需要指定工作模式,默认使用manage模式。除此之外的所有操作,都会被认 为是misc模式。

  2.与工作模式无关的选项

  以下选项,与工作模式无关,任何模式都可以使用:

  ● -h, --help:显示帮助信息;或者跟在选项后面,来显示该选项的帮助信息;

  ● --help-options:显示详细的帮助信息;

  ● -V, --version:显示mdadm的版本信息;

  ● -v, --verbose:显示细节;使用两次则显示更多细节;

  ● -q, --quiet:安静模式,不显示任何信息(除非有极为重要的信息要显示);

  ● -b, --brief:较少的细节;和--detail及--examine选项搭配使用;

  ● -f, --force:忽略错误,强制执行;

  ● -c, --config=:指定配置文件,默认为/etc/mdadm/mdadm.conf;

  ● -s, --scan:扫描配置文件或/proc/mdstat以查找丢失的信息;

  ● -e, --metadata=:声明要使用的超级块(RAID metadata)的类型。

  3.create/build/grow选项

  以下选项,可以用于mdadm的create/build/grow模式:

  ● -n, --raid-devices=:指定RAID中的可用设备数目,这个数目只能由 --grow 修改;

● -x, --spare-devices=:指定RAID的备用设备数目(备用设备也可以以后添加、移除);

  ● -z, --size=:组建RAID1/4/5/6后从每个设备获取的空间总数;

  ● -c, --chunk=:数据块大小,默认为64KB(比如要向RAID0中写一个128KB的文件,会分为两块,写在两个硬盘中);

  ● -l, --level=:设置RAID级别(仅用于create/build,不支持grow);

  ● -p, --parity=:设置RAID5/10的数据布局;

  ● --layout=:与--parity相同;

  ● -R, --run:立即将该RAID投入运行;

  ● -f, --force:强制执行该命令;

  ● -a, --auto{=no,yes,md,mdp,part,p}{NN}:是否自动创建设备文件。

  4.manage选项

  以下选项,用于管理RAID:

  ● -a, --add:向RAID中添加设备;

  ● --re-add:将最近移除的设备,重新加入RAID阵列;

  ● -r, --remove:移除设备。只能移除失败的或者备用设备;

  ● -f, --fail:将设备标记为失败;

  ● --set-faulty:同—fail。

  5.其他选项

  mdadm命令还有很多其他选项,我们在这里不做详细介绍,你可以参阅mdadm的手册页:

  $ man mdadm

  稍后我们会在示例中用到这些选项中的一部分,你可以留意其用法。

创建RAID阵列

  我们在前面的步骤中,已经创建过几个RAID阵列,比如下面的命令,创建阵列md1:

  $ sudo mdadm --create /dev/md1 --auto=yes --force -R --level=raid10 --raid- devices =4 /dev/sd[a-d]2

  我们也可以在创建阵列的同时,指定“备用”设备。

  备用设备是一个已经格式化的硬盘分区;使用备用设备的好处是,一旦某个在用设备发生异常,mdadm会自动用备用设备将其替换掉。

  下面的命令,就是在创建RAID设备时,(上述命令的基础上)将第五块硬盘sde上的sde2分区,作为备用设备:

  $ sudo mdadm --create /dev/md1 --auto=yes --force -R --level=raid10 --raid- devices =4 /dev/sd[a-d]2 --hot-spares=1 /dev/sde2

  查询RAID阵列

  我们可以通过多种方式查看RAID的状态。

    上述命令结果中,第一行显示了该Linux内核所支持的RAID级别。接下来,列出了正在使用中的RAID设备,它们是:md2、md1、md0,前两者 是RAID10,后者是RAID1;往后是各设备的名称以及它们的BIOS顺序。每一个RAID设备的第二行,显示了该设备的容量大小等信息,最后面的 [UUUU]表示有4个Up设备。

  上面命令所显示的RAID信息比较少;如果你想要知道某个RAID阵列的更多信息,可以使用下面的命令:

  $ sudo mdadm --detail /dev/md0

  如果你想知道某个分区(RAID物理卷)是否隶属于某个RAID阵列,可以使用下面的命令:

  $ sudo mdadm --examine /dev/sda2

或者,你也可以使用通配符“*”,来查询某块硬盘的所有分区:

  $ sudo mdadm --examine /dev/sdb*

  RAID的监控

  在中,mdadm默认是以“监控模式”运行的;一旦某个设备发生异常,mdadm可以给你发送E- mail。

  我们来修改mdadm配置,把管理员的E-mail地址写进去:

  $ sudo nano /etc/mdadm/mdadm.conf

  [...]

  MAILADDR

  [...]

  RAID的启动/停止

  在中,我们所创建的RAID阵列,默认会随系统的启动而自动启动。如果你要手工启动一个已存在的阵 列,可以用-A指令:

  $ sudo mdadm -A /dev/md0

  如果要停止一个RAID阵列,可以用--stop指令:

  $ sudo mdadm --stop /dev/md0

  mdadm: fail to stop array /dev/md0: Device or resource busy

  上面的命令结果告诉我们,要停止一个RAID阵列,必须先umount其文件系统:

  $ sudo umount /boot

  $ sudo mdadm --stop /dev/md0

  mdadm: stopped /dev/md0

  为了后面的实验,我们再启动该设备:

  $ sudo mdadm -A /dev/md0

  mdadm: /dev/md0 has been started with 4 drives.

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论