要求:需要在三块硬盘上创建RAID5 并挂载到 /raid5disk 目录下!(做raid5至少3块硬盘)
首先安装软件yum install mdadm*
先用fdisk -l 看一下三块磁盘的设备号,在这里就是 /dev/sdb 和 /dev/sdc 以及 /dev/sdd
<1> 首先在三块硬盘上分别创建一个分区!
# fdisk /dev/sdb
Command (m for help): n 按n创建新分区
e extended
p primary partition (1-4) 输入p 选择创建主分区
Partition number (1-4): 输入 1 创建第一个主分区
First cylinder (1-204, default 1): 直接回车,选择分区开始柱面这里就从 1 开始
Last cylinder or +size or +sizeM or +sizeK (1-204, default 204): 直接回车,这里是204, 各人的硬盘大小不一样大,这里的值也不一样大!这样就将硬盘1柱面到204柱面创建了第一个主分区!
Command (m for help): t 输入t 指定分区类型!
Selected partition 1
Hex code (type L to list codes): 可以直接输入fd,指定分区类型就为Linux raid auto 也可以输入l
Command (m for help): w 然后输入w写盘!
按照此步骤在另外的两块磁盘上做同样的操作! 全部做完后,运行 fdisk -l 应该可以看到如下信息!
Disk /dev/sdb: 214 MB, 214748160 bytes
64 heads, 32 sectors/track, 204 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 204 208880 fd Linux raid autodetect
Disk /dev/sdc: 214 MB, 214748160 bytes
64 heads, 32 sectors/track, 204 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 204 208880 fd Linux raid autodetect
Disk /dev/sdd: 214 MB, 214748160 bytes
64 heads, 32 sectors/track, 204 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdd1 1 204 208880 fd Linux raid autodetect
看到上面三个磁盘上分别建了一个分区,分区大小都一样!
<2> 然后再运行 mdadm -C /dev/md0 -l5 -n3 /dev/sdb1 /dev/sdc1 /dev/sdd1 这里就在三个分区上创建了raid5 软件陈列, 新的分区设备号为md0
然后格式化一下md0分区:
root@localhost ~]# mkfs.ext3 /dev/md0
根据分区大小一样,这里需要的时间也会不一样!
mkdir /raid5disk 在/上建一个目录raid5disk
然后用mount 将md0挂上去! mount /dev/md0 /raid5disk/
好了,试试到raiddisk目录建几个文件! 用df -h查看是否已挂载
为了让系统重新启动后自动挂载,可以修改一下/etc/fstab文件,添加一行!
/dev/md0 /raid5disk ext3 defaults 0 0
这样系统重新启动后会自动将/dev/md0挂接到 /raid5disk目录下!
好了!一切OK!
再查看一下md0的状态!
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Tue Feb 28 22:10:41 2006
Raid Level : raid5
Array Size : 417536 (407.75 MiB 427.56 MB)
Device Size : 208768 (203.88 MiB 213.78 MB)
Raid Devices : 3
Total Devices : 3
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Tue Feb 28 22:17:55 2006
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
2 8 49 2 active sync /dev/sdd1
UUID : 70fc89c1:ef191858:784578eb:81603b8d
Events : 0.48
一切正常!
<3>如果其中某个硬盘坏了会怎么样呢?系统会自动停止这块硬盘的工作,然后让后备的那块硬盘顶上去工作.我们可以进行如下操作:
[root@localhost mdadm]# mdadm /dev/md0 --fail /dev/sdc1
mdadm: set /dev/sdc1 faulty in /dev/md0
[root@localhost mdadm]# cat /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdc1[3](F) sdd1[2] sdb1[1] sda1[0] # F标签以为此盘为fail.
2088192 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
<4>如果我要移除一块坏的硬盘或添加一块硬盘呢?
[root@localhost mdadm]# mdadm /dev/md0 --remove /dev/sdc1
mdadm: hot removed /dev/sdc1
[root@localhost mdadm]# cat /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdd1[2] sdb1[1] sda1[0]
2088192 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
<5>增加一块硬盘
[root@localhost mdadm]# mdadm /dev/md0 --add /dev/sdc1
mdadm: hot added /dev/sdc1
[root@localhost mdadm]# cat /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdc1[3] sdd1[2] sdb1[1] sda1[0]
2088192 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>