分类: LINUX
2008-05-20 13:18:05
最新的RHEL5采用了2.6内核,同时使用了udev 来管理系统设备文件名,/dev目录只存在md0,而不再有md1,md2…之类文件。基于这种环境,可以使用/dev/md0完成单项Soft RAID实验配置。但是实验RAID0+1时,至少需要3个RAID设备,因此需要使用mknod命令手动建立RAID设备。 [root@server1 ~]# mknod /dev/md1 b 9 1 [root@server1 ~]# mknod /dev/md2 b 9 2 执行以上命令将会在/dev目录中建立两个soft RAID设备名,分别为md1,md2(关于mknod命令的用法请参阅man文档)。 当前在/dev目录下已经拥有了md0,md1,md2三个设备名,现在开始准备SoftRAID所需要的4个物理分区,使用一块新的IDE硬盘作为实验环境,分区详情如下: Device Boot Start End Blocks Id System /dev/hda2 1 2080 1048288+ 5 Extended /dev/hda5 1 195 98217 83 Linux /dev/hda6 196 390 98248+ 83 Linux /dev/hda7 391 585 98248+ 83 Linux /dev/hda8 586 780 98248+ 83 Linux 使用mdadm命令将以上4个分区分别建立成soft RAID0设备 [root@server1 ~]# mdadm -Cv /dev/md0 -l0 -n2 /dev/hda5 /dev/hda6 [root@server1 ~]# mdadm -Cv /dev/md1 -l0 -n2 /dev/hda7 /dev/hda8 [root@server1 ~]# cat /proc/mdstat Personalities : [raid0] md1 : active raid0 hda8[1] hda7[0] 196352 blocks 64k chunks md0 : active raid0 hda6[1] hda5[0] 196288 blocks 64k chunks unused devices: /proc/mdstat文件记录了当前系统已经建立的soft RAID运转状态,可以看到md0,md1均为RAID0设备,运转良好。下面的任务就是需要将md0,md1设备组成raid1 引用
[root@server1 ~]# mdadm -Cv /dev/md3 -l1 -n2 /dev/md0 /dev/md1 执行命令过程中需要确认,输入yes回车即可。再次查看/proc/mdstat文件信息,显示结果如下: Personalities : [raid0] [raid1] md2 : active raid1 md1[1] md0[0] 196224 blocks [2/2] [UU] md1 : active raid0 hda8[1] hda7[0] 196352 blocks 64k chunks md0 : active raid0 hda6[1] hda5[0] 196288 blocks 64k chunks unused devices: 在已经拥有的raid1设备上创建文件系统,并将其挂载,稍作一些文件写入测试,命令如下: [root@server1 ~]# mke2fs -j /dev/md2 为保证每次开启系统都自动启用soft RAID并挂载,需要将当前环境中的raid配置写入/etc/mdadm.conf文件中,并对/etc/fstab写入相应挂载点 [root@server1 ~]# mdadm -D -s >> /etc/mdadm.conf 编辑/etc/fstab,增加一行 /dev/md1 /mnt/raid1 ext3 default 1 5 为了使udev自动产生/dev/md1, /dev/md2,需要在/etc/udev目录下建立devices子目录,并手工建立md1,md2。这样udev会在系统启动时把md1,md2复制到/dev目录下 [root@server1 ~]# mkdir /etc/udev/devices [root@server1 ~]# cd /etc/udev/devices [root@server1 ~]# mknod md1 b 9 1 [root@server1 ~]# mknod md2 b 9 2 最后设置与softraid相关的两个关键性服务mdmonitor,mdmpd自动开启 [root@server1 ~]# chkconfig mdmonitor --levle 35 on [root@server1 ~]# chkconifg mdmpd --levle 35 on |