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