SYSFS接口: SYSFS即为/sys,是在系统启动后根据系统信息实时更新的文件信息库,这些信息只能查看,不能随意修改,否则可能导致块设备损坏。我们可以通过查看RAID在SYSFS上的信息来更加全面地了解RAID阵列。 # cat /sys/block/mdX/md 通过以上命令可以查看到该阵列保存了以下信息: Level:指定了RAID阵列的级别; raid_disks:该阵列所组成的磁盘; chunk_size (RAID0,5,6,10):对于RAID0,5,6,10则有指定Chunk Size; component_size:本参数是针对镜像卷的,指定各盘统一的可用容量大小; new_dev:可写的文件,里面可以用“major:minor”这样的字段来描述要添加到阵列中的新磁盘; safe_mode_delay:文件内容是一个时间参数,默认是200ms,如果经过了200ms时间没有对阵列有写请求,则该阵列将会被认定为clean状态; sync_speed_{min,max}:当阵列损坏,进入修复模式的时候,该文件内显示当前阵列修复的速度。单位为kiB/s。 sync_action:用于监控和控制阵列修复重建的过程。里面可以设置为resync、recover、idle、check、repair 5项中的任一项。 Stripe_cache_size:用于为所有的读写操作做同步。增加这个数值可以提升该阵列的读写性能,但是将消耗较多的系统内存。 在阵列信息目录,即/sys/block/mdX/目录中,以上阵列信息保存在以它们命名的文件中,可以如此查看: # cat /sys/block/mdX/level
4.15 RAID的配置文件: 对于软件级RAID来说,其在操作系统层最重要的配置文件就是/etc/mdadm.conf。这个配置文件用来简化配置RAID阵列的架构,可以使得多个RAID阵列可以共享热备盘,可以通过以下命令创建一个已经存在的阵列的信息: # mdadm --verbose --examine --scan 配置文件示例: DEVICE partitions ARRAY /dev/md0 level=raid1 num-devices=2 UUID=c5dac4d3:2d6b9861:ab54c1f6:27c15a12 devices=/dev/sda2,/dev/sdc2 ARRAY /dev/md1 level=raid0 num-devices=2 UUID=4ed6e3cc:f12c94b1:a2044461:19e09821 devices=/dev/sda1,/dev/sdc1 每个RAID阵列在配置文件中都是以ARRAY开头指定,每个阵列信息包括以下几个参数信息:uuid、super-minor、name、devices、level、num-devices、spares、spare-group、auto、bitmap、metadata等。
4.16 监控RAID: RAID阵列提供了事件的通知功能,其实就是对RAID阵列状态的监控,在设置对某个RAID阵列做监控之前,首先应确定本机的邮件功能是否可以正常工作。 设置邮件做事件的通知需要在/etc/mdadm.conf中加入相应的参数,如下3个参数: MAILADDR root@example.com MAILFROM root@node1.example.com PROGRAM /usr/sbin/script.sh 其中的PROGRAM参数指的是当事件发生时将执行script.sh这个脚本,如果该阵列中有某部分数据非常重要,那么当磁盘损坏的时候,可以使用这个参数执行脚本,自动地备份重要的数据。 可以通过以下命令测试设置: # mdadm --monitor --scan --oneshot --test 为了设置的监控生效,必须保证mdmonitor进程正确地运行: # chkconfig mdmonitor on ; service mdmonitor start
4.17 重新条带化/重塑RAID设备: 重新条带化或重塑RAID阵列其实就是将原来阵列中的数据重新以新的层次排列成新的阵列。当开始重新条带化的时候,阵列的关键信息所在的关键区(Critical Section)将会被重新写入新阵列的架构信息,但是在重写关键区的过程中,一旦遇到系统崩溃或者掉电的情况,原本阵列的关键区信息将会被损毁,导致阵列无法使用。 |