您的位置:首页 > 大数据 > 人工智能

linxu的RAID技术

2015-07-15 21:37 597 查看
raid简介
Redundant Arrays of Independent Disks,RAID,即独立磁盘冗余阵列,是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上,磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。

常用的RAID技术与特点

1)、RAID 0
RAID 0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID 0没有提供冗余或错误修复能力,但实现成本是最低的。 2)、RAID 1 RAID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。

3)、RAID 5

分布式奇偶校验的独立磁盘结构,它的奇偶校验码存在于所有磁盘上,其中的p0代表第0带区的奇偶校验值,其它的意思也相同。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。

3、实验环境:
配置和管理RAID需要安装软件包:mdadm

4、RAID 1 的实现过程(由于磁盘大小不同,同步时以最小的磁盘大小为基准同步)
1)、安装软件包

yum --disablerepo=\* --enablerepo=c6-media install mdadm -y
2)、创建RAID 1

[root@fcy ~]# mdadm -Cv /dev/md0 -l 1 -n 2 /dev/sdb /dev/sdc
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device.  If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
mdadm: size set to 5238720K
mdadm: largest drive (/dev/sdb) exceeds size (5238720K) by more than 1%
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
参数详解: -C 创建RAID -v 显示详细信息 -l 指定RAID的level -n 指定RAID的设备数量
3)、查看md的状态[root@fcy ~]# cat /proc/mdstat
Personalities : [raid1] #RAID等级
md0 : active raid1 sdc[1] sdb[0] #RAID中的设备
5238720 blocks super 1.2 [2/2] [UU] #状态

unused devices: <none>

4)、模拟磁盘损坏并查看

[root@fcy ~]# mdadm /dev/md0 -f /dev/sdb       #-f指定坏掉的磁盘
mdadm: set /dev/sdb faulty in /dev/md0
[root@fcy ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdc[1] sdb[0](F)            #显示sdb为损坏状态
5238720 blocks super 1.2 [2/1] [_U]

unused devices: <none>


5)、为RAID设备增加新成员

[root@fcy ~]# mdadm /dev/md0 -a /dev/sdd              #-a添加一块磁盘进RAID
mdadm: added /dev/sdd
[root@fcy ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdd[2] sdc[1] sdb[0](F)
5238720 blocks super 1.2 [2/1] [_U]
[==>..................]  recovery = 13.8% (725056/5238720) finish=0.6min speed=120842K/sec
#显示为同步状态
unused devices: <none>
同步完成后

[root@fcy ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdd[2] sdc[1] sdb[0](F)
5238720 blocks super 1.2 [2/2] [UU]

unused devices: <none>
移除坏掉的设备

[root@fcy ~]# mdadm /dev/md0 -r /dev/sdb
mdadm: hot removed /dev/sdb from /dev/md0
[root@fcy ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdd[2] sdc[1]
5238720 blocks super 1.2 [2/2] [UU]

unused devices: <none>


扫描并显示详细的RAID信息

[root@fcy ~]# mdadm --detail --scan
ARRAY /dev/md0 metadata=1.2 name=fcy.com.cn:0 UUID=e2e0ce5c:b5cc1ba0:80380a3b:f1d4fe67

创建RAID的配置文件(方便快速启动RAID)

[root@fcy ~]# mdadm --detail --scan  >/etc/mdadm.conf

停止正在运行的RAID

[root@fcy ~]# mdadm -S /dev/md0            #-S停止RAID
mdadm: stopped /dev/md0
[root@fcy ~]# cat /proc/mdstat
Personalities : [raid1]
unused devices: <none>

启动RAID(已经创建过配置文件)

[root@fcy ~]# mdadm -A /dev/md0                #-A 表示重新装配RAID
mdadm: /dev/md0 has been started with 2 drives.
[root@fcy ~]# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdd[2] sdc[1]
5238720 blocks super 1.2 [2/2] [UU]

unused devices: <none>


6)、为RAID 1添加s份磁盘
[root@fcy ~]# mdpare备adm -Cv /dev/md1 -l 1 -n 2 /dev/sdb /dev/sdc -x 1 /dev/sde
#-x添加备份磁盘
mdadm: /dev/sdb appears to be part of a raid array:
level=raid1 devices=2 ctime=Wed Jul 15 21:06:56 2015
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device.  If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
mdadm: /dev/sdc appears to be part of a raid array:
level=raid1 devices=2 ctime=Wed Jul 15 21:06:56 2015
mdadm: size set to 5238720K
mdadm: largest drive (/dev/sde) exceeds size (5238720K) by more than 1%
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.

[root@fcy ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sde[2](S) sdc[1] sdb[0]           #sde为备份的spare磁盘
5238720 blocks super 1.2 [2/2] [UU]

md0 : active raid1 sdd[2]
5238720 blocks super 1.2 [2/1] [U_]

unused devices: <none>
当设备在无人管理的时候,如果RAID 1中的某一块磁盘坏掉,则spare磁盘就自动接替

5、RAID 5的实现过程
基本过程与RAID 1相似

1)、创建RAID 5

[root@fcy ~]# mdadm -Cv /dev/md2 -l 5 -n 3 /dev/sdb /dev/sdc /dev/sdd -x 1 /dev/sde
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: size set to 5238272K
mdadm: largest drive (/dev/sde) exceeds size (5238272K) by more than 1%
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md2 started.
2)、查看RAID 5

[root@fcy ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md2 : active raid5 sdd[4] sde[3](S) sdc[1] sdb[0]
10476544 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
[===>.................]  recovery = 17.3% (907136/5238272) finish=0.7min speed=90713K/sec
#正在同步
unused devices: <none>
[root@fcy ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md2 : active raid5 sdd[4] sde[3](S) sdc[1] sdb[0]
10476544 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>


6、其他
其他常用的RAID还有RAID 10 ,RAID 01等

本文出自 “却邪水心泮” 博客,请务必保留此出处http://shmilyfl.blog.51cto.com/8897986/1675123
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: