此篇文章 感谢群里的兄弟姐妹!
实验环境 VM6.0 RHEL AS5.0 mdadm-2.5.4-3.e15.我是在VM 下新增加3块硬盘,分别
为/dev/sdb,/dev/sdc,/dev/sdd
具体步骤如下:
一、安装mdadm
[root@localhost ~]# mount /dev/cdrom /mnt/
[root@localhost ~]# rpm -ivh /mnt/Server/mdadm-2.5.4-3.e15.rpm
二、为新加的硬盘分区
[root@localhost ~]# fdisk /dev/sdb
n #增加新的分区
p
1
w #保存
[root@localhost ~]# fdisk /dev/sdc
n
p
1
w
[root@localhost ~]# fdisk /dev/sdd
n
p
1
w
[root@localhost ~]# fdisk -l #查看分区后的具体信息
Device Boot Start End Blocks Id System
/dev/sdb1 1 261 2096451 83 Linux
/dev/sdc1 1 261 2096451 83 Llnux
/dev/sdd1 1 261 2096451 83 Linux
[root@localhost ~]# mdadm -Cv /dev/md0 -l5 -n3 -c128 /dev/sdb1 /dev/sdc1
/dev/sdd1 #创建RAID5
[root@localhost ~]# more /proc/mdstat #查看RAID的状态
Every 30s: cat /proc/mdstat Thu feb 24 13:55:56
2009
Personalities : [raid5]
read_ahead 1024 sectors
md0 : active raid5 sdd[4] sde[3] sdc[1] sdb[0]
16777088 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]
[==============>......] recovery = 72.3% (6067444/8388544)
finish=3.7min
speed=10324K/sec
unused devices:
当进度进行到100%时,显示如下:
Every 30s: cat /proc/mdstat Thu feb 24 14:00:57
20079
Personalities : [raid5]
read_ahead 1024 sectors
md0 : active raid5 sdd[2] sde[3] sdc[1] sdb[0]
16777088 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
unused devices:
[root@localhost ~]# mdadm -D /dev/md0 #查看RAID的详细信息
/dev/md0:
Version : 00.90.00
Creation Time : Thu FEB 24 13:45:35 2009
Raid Level : raid5
Array Size : 6590000 (6.00 GiB 2.18 GB)
Used Dev Size : 2343443 (2.00 GiB 2.59 GB 2.00GB)
Raid Devices : 3
Total Devices : 3
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Thu FEB 24 13:59:48 2007
State : active
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 128K
UUID : 4b15050e:7d0c477d:98ed7d00:0f3c29e4
Events : 0.3
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb1
1 8 32 1 active sync /dev/sdc1
2 8 48 2 active sync /dev/sdd1
三、为阵列创建文件系统:
[root@localhost ~]# mkfs.ext3 /dev/md0
mke2fs 1.34 (25-Jul-2003)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2097152 inodes, 4194272 blocks
209713 blocks (5.00%) reserved for the super user
First data block=0
128 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632,
2654208,
4096000
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
You have new mail in /var/spool/mail/root
一般来说,一个新的阵列被创建后我们最好创建一个/etc/mdadm.conf文件,没有该文件
在激活阵列时我们就得指定详细的信息,可以使用输出重定向来解决,如下:
[root@localhost ~]# mdadm -Ds /dev/md0
ARRAY /dev/md0 level=raid5 num-devices=3 spares=1
UUID=4b15050e:7d0c477d:98ed7d00:0f3c29e4
[root@localhost ~]# mdadm --detail --scan >> /etc/mdadm.conf
[root@localhost ~]# more /etc/mdadm.conf
ARRAY /dev/md0 level=raid5 num-devices=3 spares=1
UUID=4b15050e:7d0c477d:98ed7d00:0f3c29e4
还需要在/etc/fstab中增加如下内容:
[root@localhost ~]# vim /etc/fstab
/dev/md0 /mnt/raid ext3 defaults 0 0
四、建立挂载点
[root@localhost ~]# mount /dev/md0 /mnt/md0
[root@localhost ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 2.9G 1.8G 1.1G 63% /
/dev/sda3 4.6G 33M 4.3G 1% /opt
none 125M 0 125M 0% /dev/shm
/dev/md0 16G 33M 15G 1% /mnt/md0 #挂载点,挂载成功
五、启动和停止RAID
停止:
[root@localhost ~]# umount /dev/md0
[root@localhost ~]# mdadm -S /dev/md0 (或mdadm --stop /dev/md0)
mdadm: stopped /dev/md0
启动:
[root@localhost ~]# mdadm -As /dev/md0
至此,以完成RAID 5的搭建。
六、故障模拟
为阵列添加一块硬盘 /dev/sde,
[root@localhost ~]# fdisk /dev/sde
n
p
1
w
[root@localhost ~]# mdadm /dev/md0 -a /dev/se1
[root@localhost ~]# mdadm -Ds /dev/md0 #会发现新加的盘为空闲,也就是热备。当阵列中的盘损坏时,热备盘会自动转换为活动盘,与原由的盘同步。
[root@localhost ~]# mdadm /dev/md0 -f /dev/sdb1 #假设/sdb1损坏
[root@localhost ~]# mdadm /dev/md0 -r /dev/sdb1 #将/sdb1移出阵列
[root@localhost ~]# more /proc/mdstat #查看热备盘转换的进度
[root@localhost ~]# mdadm -Ds /dev/md0 #此时会发现/sbe1 已经成为活动的,而/sdb1已经不在阵列
七、在RAID5上创建LVM
RHEL 5中使用软RAID可实现容错或加快数据读写速度的功能,但无法在不丢失分区数据的前题下增大分区。想解决这个问题我们就需要使用LVM了。
LVM是Logical Volume Manager的缩写。配置LVM首先要将普通分区转换为物理卷,再通过物理卷创建逻辑卷组,最后在逻辑卷组中创建逻辑卷。
[root@localhost ~]# pvcreate /dev/md0
Physical volume "/dev/md0" successfully created
[root@localhost ~]# vgcreate vga /dev/md0
volume group "vga" successfully createted
[root@localhost ~]# lvcreate -n lv0 -L 2048M vga #-n表示lv的名字 -L 2048M 表示lv0的大小
[root@localhost ~]# mkfs -t ext3 /dev/vga/lv0 #创建文件系统
[root@localhost ~]# pvdisplay #查看pv的信息
[root@localhost ~]# vgdisplay #查看VG的信息
[root@localhost ~]# lvdisplay #查看LV的信息
[root@localhost ~]# mount /dev/vga/lv0 /mnt/lv0 #挂载
若想lv0在开机就自动运行,则要在/etc/fstab中添加下列内容:
/dev/vga/lv0 /mnt/lv0 ext3 defautls 0 0
需要将原来raid 的挂载信息删掉。
[root@localhost ~]# lvextend -L+2048M /dev/vga/lv0 #为lv0增加2048M的空间
[root@localhost ~]# resize2fs -f /dev/vga/lv0
[root@localhost ~]# df -lh 查看扩容后的分区大小