ubuntu server:RAID 10 的日常维护
在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.
- 最新评论