实验software RAID5


/**
* 给主机添加5块SCSI硬盘,每个8GB。其中4块用作RAID5的active sync
* [sdd、sde、sdf、sdg],1块用作RAID5的Spare Disk[sdh]
*/
oracle:/dev# ls -l sd
sda sda1 sda2 sdb sdc sdd sde sdf sdg sdh



/**
* 安装software RAID管理工具mdadm,这套软件可以让我们以软件的方式模拟很多高端磁盘
* 镜像系统才有的功能,比如热拔插等。所谓热拔插功能就是允许用户在不关闭系统,不切
* 断电源的情况下取出和更换坏掉的硬盘。现在的热拔插技术只要简单的打开链接开关或者
* 转动手柄就可以直接取出硬盘,而系统仍然可以不间断的正常运行。
* 值得注意的是用mdadm模拟出来的RAID阵列设备名称通常为/dev/md0,/dev/md1...
*/
apt-get install mdadm



// 通过mdadm来建立磁盘阵列
oracle:/dev# mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=4 \
> --spare-devices=1 /dev/sd{d,e,f,g,h}
mdadm: array /dev/md0 started.



/**
* 磁盘阵列的建立相对比较慢,数分钟后,检查RADI的建立情况如下:
* Chunk Size : 64K 表示带区大小为64K,合理的选择带区大小非常重要,如果噢带区过大
* 可能一块磁盘上的带区空间就可以满足大部分的I/O操作,使得数据的读写只局限于一块
* 硬盘上,这便不能充分发挥RAID并发的优势;如果带区设置过小,任何很小的I/O指令都
* 可能引发大量的读写操作,占用过多的控制器总线带宽,也会影响阵列的性能。所以,在
* 创建带区时,我们应该根据实际应用的需要,合理且慎重的选择带区大小。
*/
oracle:/dev# mdadm --detail /dev/md0
/dev/md0: // RAID设备名称
Version : 00.90
Creation Time : Sun Jun 27 02:42:33 2010
Raid Level : raid5 // RAID5噢:)
Array Size : 25165632 (24.00 GiB 25.77 GB) // 阵列可用大小
Used Dev Size : 8388544 (8.00 GiB 8.59 GB) // 组成阵列的每个设备容量
Raid Devices : 4 // 当前处于活动状态的设备数量
Total Devices : 5 // 全部设备数量
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Sun Jun 27 02:47:39 2010
State : clean
Active Devices : 4 // 激活的磁盘数量
Working Devices : 5 // 工作的磁盘数量[Working=Active+Spare]
Failed Devices : 0 // 出现错误的磁盘数量
Spare Devices : 1 // 备用磁盘数量

Layout : left-symmetric
Chunk Size : 64K // RAID划分的小区块大小

UUID : dd191942:a9381905:b6641343:7cc40f45 (local to host oracle)
Events : 0.24

Number Major Minor RaidDevice State
0 8 48 0 active sync /dev/sdd
1 8 64 1 active sync /dev/sde
2 8 80 2 active sync /dev/sdf
3 8 96 3 active sync /dev/sdg

4 8 112 - spare /dev/sdh

// 也可以基于/proc文件系统来检查RAID的建立情况
oracle:/dev# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdg[3] sdh[4](S) sdf[2] sde[1] sdd[0]
25165632 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

unused devices: <none>



// 格式化阵列为ext3文件系统
oracle:/dev# mkfs -t ext3 /dev/md0
mke2fs 1.41.3 (12-Oct-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1572864 inodes, 6291408 blocks
314570 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
192 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.



// 将/dev/md0并挂在到/raid
oracle:/# mkdir /raid
oracle:/# mount /dev/md0 /raid/
oracle:/# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/oracle-root
329233 135760 176475 44% /
tmpfs 258148 0 258148 0% /lib/init/rw
udev 10240 668 9572 7% /dev
tmpfs 258148 0 258148 0% /dev/shm
/dev/sda1 233335 26271 194616 12% /boot
/dev/mapper/oracle-home
2789856 69796 2578340 3% /home
/dev/mapper/oracle-tmp
238003 6177 219538 3% /tmp
/dev/mapper/oracle-usr
2822096 685372 1993364 26% /usr
/dev/mapper/oracle-var
1350552 123468 1158476 10% /var
/dev/mapper/optvg-optlv
8252856 2579504 5254128 33% /opt
/dev/mapper/oradatavg-oradatalv
8252856 149624 7684008 2% /oradata
/dev/md0 24770748 176196 23336272 1% /raid





/*
* 模拟RAID5阵列的自动恢复与救援。
* 设定/dev/sdd这块磁盘为Fail
*/
oracle:/raid# mdadm --manage /dev/md0 --fail /dev/sdd
mdadm: set /dev/sdd faulty in /dev/md0



/**
* 检查阵列/dev/md0状态,我们发现/dev/sdd已经标识为faulty spare了,而/dev/sdh
* 这块原先做Spare Disk的磁盘立马开始重建,正处于spare rebuilding状态。
*/
oracle:/raid# mdadm --detail /dev/md0
/dev/md0:
Version : 00.90
Creation Time : Sun Jun 27 02:42:33 2010
Raid Level : raid5
Array Size : 25165632 (24.00 GiB 25.77 GB)
Used Dev Size : 8388544 (8.00 GiB 8.59 GB)
Raid Devices : 4
Total Devices : 5
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Sun Jun 27 04:36:19 2010
State : clean, degraded, recovering
Active Devices : 3
Working Devices : 4
Failed Devices : 1
Spare Devices : 1

Layout : left-symmetric
Chunk Size : 64K

Rebuild Status : 2% complete

UUID : dd191942:a9381905:bc444e69:8a5dd25b
Events : 0.26

Number Major Minor RaidDevice State
5 8 112 0 spare rebuilding /dev/sdh
1 8 64 1 active sync /dev/sde
2 8 80 2 active sync /dev/sdf
3 8 96 3 active sync /dev/sdg

4 8 48 - faulty spare /dev/sdd



/**
* 等待重建完毕再次检查阵列状态,发现/dev/sdh重建完毕。
*/
oracle:/raid# mdadm --detail /dev/md0
/dev/md0:
Version : 00.90
Creation Time : Sun Jun 27 02:42:33 2010
Raid Level : raid5
Array Size : 25165632 (24.00 GiB 25.77 GB)
Used Dev Size : 8388544 (8.00 GiB 8.59 GB)
Raid Devices : 4
Total Devices : 5
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Sun Jun 27 04:41:25 2010
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 1
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 64K

UUID : dd191942:a9381905:bc444e69:8a5dd25b
Events : 0.34

Number Major Minor RaidDevice State
0 8 112 0 active sync /dev/sdh
1 8 64 1 active sync /dev/sde
2 8 80 2 active sync /dev/sdf
3 8 96 3 active sync /dev/sdg

4 8 48 - faulty spare /dev/sdd



// 加入新的磁盘,拔出有问题的磁盘
oracle:~# mdadm --manage /dev/md0 --add /dev/sdi --remove /dev/sdd
mdadm: added /dev/sdi
mdadm: hot removed /dev/sdd

/**
* 再次检查阵列,发现刚加入的/dev/sdi已成为了新的Spare Disk。
*/
oracle:~# mdadm --detail /dev/md0
/dev/md0:
Version : 00.90
Creation Time : Sun Jun 27 02:42:33 2010
Raid Level : raid5
Array Size : 25165632 (24.00 GiB 25.77 GB)
Used Dev Size : 8388544 (8.00 GiB 8.59 GB)
Raid Devices : 4
Total Devices : 5
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Sun Jun 27 04:47:30 2010
State : clean
Active Devices : 4
Working Devices : 5
Failed Devices : 0
Spare Devices : 1

Layout : left-symmetric
Chunk Size : 64K

UUID : dd191942:a9381905:bc444e69:8a5dd25b
Events : 0.36

Number Major Minor RaidDevice State
0 8 112 0 active sync /dev/sdh
1 8 64 1 active sync /dev/sde
2 8 80 2 active sync /dev/sdf
3 8 96 3 active sync /dev/sdg

4 8 128 - spare /dev/sdi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值