感谢支持
我们一直在努力

RHEL5.4 RAID5软件磁盘冗余阵列配置详解

RAID是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列。冗余磁盘阵列技术诞生于1987年,由美国加州大学伯克利分校提出。简单地解释,就是将N台硬盘通过RAID Controller(分Hardware,Software)结合成虚拟单台大容量的硬盘使用。RAID的采用为存储系统(或者服务器的内置存储)带来巨大利益,其中提高传输速率和提供容错功能是最大的优点,raid主要有raid0,raid1,raid4,raid5等,5其实是在4的基础上发展起来的,4将奇偶校验写在同一个磁盘上,从而造成性能瓶颈,5则分散校验数据,提高性能,1则是单纯的镜像,要浪费50%的空间,0则是数据透写阵列中的所有磁盘,速度快,但不安全,综上所述:raid1最保险,但浪费空间,raid0性能最好,也不浪费空间,但是安全性差;raid5可以说中和了raid1和raid0的优点,但需要三块以上的磁盘,或者分区,磁盘的利用率为n-1,同时需要等大的分区。下面来系统的介绍下在rhel5.4上配置raid5,这个配置步骤之前有记录过,不过很多细节的东西未记录,这在rhce中算重点内容,不能忽视的…


1:通过fdisk工具将磁盘分成四个等大的分区,并转换成fd格式
[root@yang ~]# fdisk -l |grep raid
/dev/hda5            5178        5300      987966   fd Linux raid autodetect
/dev/hda6            5301        5423      987966   fd Linux raid autodetect
/dev/hda7            5424        5546      987966   fd Linux raid autodetect
/dev/hda8            5547        5669      987966   fd Linux raid autodetect


2:创建一个块设备,主要考虑到可能一个系统有多个raid阵列
[root@yang ~]# mknod /dev/md1 b 9 1
[root@yang ~]# ls -li /dev/md*
5162 brw-r—– 1 root disk 9, 0 Mar 6 18:09 /dev/md0
10616 brw-r–r– 1 root root 9, 1 Mar 6 18:19 /dev/md1


3:创建raid5阵列,-C代表create,-l代表level,-n代表阵列中的分区个数,-x用来指定sapre分区
[root@yang ~]# mdadm -C /dev/md1 -l 5 -n 3 /dev/hda{5,6,7} -x 1 /dev/hda8
mdadm: array /dev/md1 started.


在创建的过程中,可以使用watch命令来观察/proc/mdstat这个文件的变化
[root@yang ~]# watch -n 1 “cat /proc/mdstat”
Every 1.0s: cat /proc/mdstat                            Sat Mar 6 18:23:30 2010


Personalities : [raid6] [raid5] [raid4]
md1 : active raid5 hda7[4] hda8[3](S) hda6[1] hda5[0]
      1975680 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]
      [======>…………..] recovery = 34.8% (344156/987840) finish=0.2min sp
eed=49165K/sec


unused devices: <none>


4:格式化分区
[root@yang ~]# mkfs.ext3 /dev/md1
………………………………………………
………………………………………………
This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@yang ~]# tune2fs -c 0 -i 0 -o acl /dev/md1 //默认格式化完分区后,系统会在分区被挂载34次,或者180天后进行自检,而且默认的格式化不带acl参数
tune2fs 1.39 (29-May-2006)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds



5:挂载分区,并查看详细信息


[root@yang ~]# mkdir /data


[root@yang ~]# mount /dev/md1 /data/


[root@yang ~]# df -h |grep data


/dev/md1              1.9G   35M 1.8G   2% /data


[root@yang ~]# mdadm –detail /dev/md1 |tail -n 5


       0       3        5        0      active sync   /dev/hda5


       1       3        6        1      active sync   /dev/hda6


       2       3        7        2      active sync   /dev/hda7


       3       3        8        –      spare   /dev/hda8

6:查看/etc/rc.sysinit这个文件中关于mdadm的信息,这个文件是在系统启动读取的第四个文件,主要用于设定系统时间,主机名,键盘,selinux,lvm,raid等一系列重要的参数


[root@yang ~]# grep ‘mdadm’ /etc/rc.sysinit //下面的Shell语句意思是当存在/etc/mdadm.conf这个文件的时候,就执行激活raid阵列操作;raid阵列信息是保存在64字节的分区表和各个分区的第一个扇区的512字节中的


if [ -f /etc/mdadm.conf ]; then


    /sbin/mdadm -A -s


7:生成mdadm.conf文件


[root@yang ~]# mdadm –detail –scan > /etc/mdadm.conf


[root@yang ~]# cat /etc/mdadm.conf


ARRAY /dev/md1 level=raid5 num-devices=3 metadata=0.90 spares=1 UUID=df904d25:12be50fb:cf70917a:e15d87d9


8:测试在存在mdadm.conf文件的时候,停止阵列后还可以得到重组,若不存在该文件,就要重新创建阵列了,可见该文件非常重要


[root@yang ~]# umount /data/


[root@yang ~]# mdadm -S /dev/md1


mdadm: stopped /dev/md1


[root@yang ~]# mdadm -A -s


mdadm: /dev/md1 has been started with 3 drives and 1 spare.


9:模拟阵列中的一个分区故障


[root@yang ~]# mdadm /dev/md1 -f /dev/hda5


mdadm: set /dev/hda5 faulty in /dev/md1


从下面的信息可以看到/dev/hda5的状态已经变成faulty了,但是原来的spare分区/dev/hda8迅速顶了上来,说明存在一个热备份的分区还是相当有必要的,不过这个空间也是要被浪费的


[root@yang ~]# watch -n 1 “cat /proc/mdstat”


Personalities : [raid6] [raid5] [raid4]


md1 : active raid5 hda5[3](F) hda8[0] hda7[2] hda6[1]


      1975680 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]


unused devices:

10:移除,添加分区到阵列


[root@yang ~]# mdadm /dev/md1 -r /dev/hda5


mdadm: hot removed /dev/hda5


[root@yang ~]# mdadm /dev/md1 -a /dev/hda5


mdadm: added /dev/hda5


11:下面重点演示下当阵列出现故障的时候,系统自动发邮件报警的设定


[root@yang ~]# mail -s “just a test for my rhel mail server” ylw6006@163.com


RHEL5.4 RAID5软件磁盘冗余阵列配置详解


[root@yang ~]# cat /etc/mdadm.conf


ARRAY /dev/md1 level=raid5 num-devices=3 metadata=0.90 spares=1 UUID=df904d25:12be50fb:cf70917a:e15d87d9


MAILADDR ylw6006@163.com //在文件末尾添加这行


[root@yang ~]# service mdmonitor status //启动mdmonitor服务,并确保其开机自启动


mdadm is stopped


[root@yang ~]# service mdmonitor start


Starting mdmonitor: [ OK ]


[root@yang ~]# chkconfig mdmonitor on


[root@yang ~]# mdadm /dev/md1 -f /dev/hda5 //模拟阵列中的两块磁盘故障


mdadm: set /dev/hda5 faulty in /dev/md1


[root@yang ~]# mdadm /dev/md1 -f /dev/hda6


mdadm: set /dev/hda6 faulty in /dev/md1


[root@yang data]# dd if=/dev/zero of=1.txt bs=1k //分区的I/0马上就会出现故障


dd: writing `1.txt’: Read-only file system


158922+0 records in


158921+0 records out


162735104 bytes (163 MB) copied, 14.6255 seconds, 11.1 MB/s


[root@yang data]# ll


ls: reading directory .: Input/output error


total 0


在定义的邮箱中就会收到报警邮件,要修复类似的故障,只能先停掉阵列,然后重新新建阵列了,格式化分区了,原来的数据就没有了!


RHEL5.4 RAID5软件磁盘冗余阵列配置详解

赞(0) 打赏
转载请注明出处:服务器评测 » RHEL5.4 RAID5软件磁盘冗余阵列配置详解
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏