RAID磁盘阵列详解.docx
《RAID磁盘阵列详解.docx》由会员分享,可在线阅读,更多相关《RAID磁盘阵列详解.docx(11页珍藏版)》请在冰点文库上搜索。
RAID磁盘阵列详解
RAID磁盘阵列详解
磁盘阵列(RedundantArraysofInexpensiveDisks,RAID),有“价格便宜具有冗余能力的磁盘阵列”之意。
原理是利用数组方式来
作磁盘组,配合数据分散排列的设计,提升数据的安全性。
磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个
别磁盘提供数据所产生加成效果提升整个磁盘系统效能。
利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
磁盘阵列还能
利用同位检查(ParityCheck)的观念,在数组中任一颗硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。
RAID0(条带(strping))
是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。
RAID0没有提供冗余或错误修复能力,但实现成本是最低的。
特点:
速度快,没有容错能力
RAID1:
镜像(mirroring)
ID1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,
在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的
硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。
虽然这
样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,以四块80GB容量的硬盘来讲,可利用的磁盘空间仅为160GB。
另外,出现
硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。
更换新盘后原有数据会需要
很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。
因此,RAID1多用在保存关键性的重要数据的场合。
RAID1示意图
RAID5:
条带+分布校验
3块以上,利用率为(n-1)/n,有容错功能,最多可以坏一块磁盘
RAID6:
条带+分布校验+分布校验
5块以上,利用率为(n-2)/n,有容错功能,最多可以坏二块磁盘
RAID10:
镜像+条带
利用率为50%
RAID配置总结:
mdadm命令:
mdadm-manageMD(mutipledisk)devicesakaLinuxSoftwareRAID
Currently,LinuxsupportsLINEARmddevices, RAID0 (striping), RAID1
(mirroring), RAID4, RAID5,RAID6,RAID10,MULTIPATH,FAULTY,andCON-
TAINER.
-C:
新建RAID设备
-l:
设定RAID级别
-n:
磁盘数目:
设定RAID成员设备数目
-x(sparedevice):
磁盘数目,设定备用磁盘数目
-s:
扫描配置文件/etc/madam.conf
-D:
查看RAID设备信息
-S:
停用RAID
-A:
激活RAID
[root@lvm~]#cat/proc/mdstat 查看RAID的配置信息
Personalities:
[raid6][raid5][raid4]
md5:
activeraid5sde[5]sdf[4](S)sdd[2]sdc[1]sdb[0]
3144192blockssuper1.2level5,512kchunk,algorithm2[4/4][UUUU]
unuseddevices:
[root@lvm~]#mdadm-Ds查看设备信息
ARRAY/dev/md5metadata=1.2spares=1name=lvm:
5UUID=e433a3d5:
94c67839:
5e66cae5:
e4976d17
创建RAID5
mdadm -C/dev/md5 -l5-n4-x1 /dev/sd[bcdef]
查看RAID的详细信息
mdadm-D/dev/md5
创建配置文件
mdadm-Ds>>/etc/mdadm.conf
停止RAID
mdadm -S/dev/md5
查看RAID信息
cat/proc/mdstat
格式化挂载RAID磁盘阵列
mkfs.ext4/dev/md5
自动挂载RAID阵列
修改/etc/fstab
注:
/boot分区用于存放引导文件,不用应用RAID机制
RAID5模拟故障
让失效的/dev/sdb1替换为/dev/sdg1
mdadm /dev/md5-a/dev/sdg1-r/dev/sdb1
配置共享的热备份磁盘
多个RAID共享备份磁盘节约空间
修改mdadm.conf文件添加spare-group\sparedisks
--monitor开启监控RAID
多种元数据格式
-Es查看成员设备上的元数据信息
--zero-superblock清空成员设备上的元数据信息
[root@localhost~]#mdadm-E/dev/sdb查看磁盘上的元数据
千万不要在没有关闭RAID的情况下删除分区
正确关闭RAID的步骤
1.umount卸载RAID文件系统
2.mdadm-S停用RAID
3.清空/etc/mdadm.conf文件
4.清除/etc/fstab中RAID的挂载记录
5.清除每块磁盘上的元数据
6.删除/dev/下所对应的raid设备
[root@lvm~]#cat/proc/mdstat 查看RAID的配置信息
Personalities:
[raid6][raid5][raid4]
md5:
activeraid5sde[5]sdf[4](S)sdd[2]sdc[1]sdb[0]
3144192blockssuper1.2level5,512kchunk,algorithm2[4/4][UUUU]
unuseddevices:
[root@lvm~]#mdadm-Ds
ARRAY/dev/md5metadata=1.2spares=1name=lvm:
5UUID=e433a3d5:
94c67839:
5e66cae5:
e4976d17
==========================================================================
练习:
1.新建raid5卷,使用4块磁盘作raid5,1块磁盘作热备
[root@localhostDesktop]#mdadm-C/dev/md5-l5-n4-x1/dev/sd[bcdef]
mdadm:
Defaultingtoversion1.2metadata
mdadm:
array/dev/md5started.
[root@localhostDesktop]#cat/proc/mdstat 查看RAID的配置信息
Personalities:
[raid6][raid5][raid4]
md5:
activeraid5sde[5]sdf[4](S)sdd[2]sdc[1]sdb[0]可知sdf[4]做了热备盘
3144192blockssuper1.2level5,512kchunk,algorithm2[4/4][UUUU]
[root@localhostDesktop]#mdadm-D/dev/md5 查看/dev/md5的设备信息
/dev/md5:
Version:
1.2
CreationTime:
SunJul2101:
19:
252013
RaidLevel:
raid5
ArraySize:
3144192(3.00GiB3.22GB)
UsedDevSize:
1048064(1023.67MiB1073.22MB)
RaidDevices:
4
TotalDevices:
5
Persistence:
Superblockispersistent
UpdateTime:
SunJul2101:
19:
332013
State:
clean
ActiveDevices:
4
WorkingDevices:
5
FailedDevices:
0
SpareDevices:
1
Layout:
left-symmetric
ChunkSize:
512K
Name:
lvm:
5 (localtohostlvm)
UUID:
e433a3d5:
94c67839:
5e66cae5:
e4976d17
Events:
18
[root@localhostDesktop]#mdadm-Ds>>/etc/mdadm.conf创建配置文件
[root@localhostDesktop]#mdadm-S /dev/md5停止RAID
mdadm:
stopped/dev/md5
[root@localhostDesktop]#mdadm-A /dev/md5 激活RAID
mdadm:
/dev/md5hasbeenstartedwith4drivesand1spare.
[root@localhostDesktop]#mkfs.ext4/dev/md5
2.格式化raid5设备
[root@localhostDesktop]#mkfs.ext4/dev/md5 格式化md5
3.挂载使用
[root@localhostDesktop]#mkdir/file
[root@localhostDesktop]#mount/dev/md5/file
4.自动挂载功能,修改/etc/fstab文件,添加
在/etc/fstab写入
/devsda5 /file ext4 defaults 00
[root@localhostDesktop]#mdadm-D/dev/md5 格式化及挂载后,再次查看md5设备信息
/dev/md5:
Number Major Minor RaidDeviceState
0 8 16 0 activesync /dev/sdb
1 8 32 1 activesync /dev/sdc
2 8 48 2 activesync /dev/sdd
5 8 64 3 activesync /dev/sde
4 8 80 - spare
5.让其中的一块失效,然后看raid5是否能够继续使用
[root@localhostDesktop]#mdadm/dev/md5 -f/dev/sdd(先失效一块)
[root@localhostDesktop]#mdadm/dev/md5 -f/dev/sde(后失效一块)
使用cat/proc/mdstat命令查看修复过程(需赶快查看,才能看到效果)
6.删除有问题的磁盘,添加一个好的磁盘作热备,要求磁盘>容量一致
mdadm /dev/md5-r/dev/sde[de] -a/dev/sd【gh】
[root@localhost~]#cat/proc/mdstat查看raid的构建过程
Personalities:
[raid6][raid5][raid4]
md5:
activeraid5sde[5]sdf[4](S)sdd[2]sdc[1]sdb[0]
3144192blockssuper1.2level5,512kchunk,algorithm2[4/3][UUU_]
[=============>.......] recovery=68.5%(719232/1048064)finish=0.0minspeed=143846K/sec
[root@localhostfile]#mdadm-D /dev/md5
/dev/md5:
Version:
1.2
CreationTime:
SunJul2101:
19:
252013
RaidLevel:
raid5
ArraySize:
3144192(3.00GiB3.22GB)
UsedDevSize:
1048064(1023.67MiB1073.22MB)
RaidDevices:
4
TotalDevices:
5
Persistence:
Superblockispersistent
UpdateTime:
SunJul2101:
44:
492013
State:
clean
ActiveDevices:
4
WorkingDevices:
5
FailedDevices:
0
SpareDevices:
1
Layout:
left-symmetric
ChunkSize:
512K
Name:
lvm:
5 (localtohostlvm)
UUID:
e433a3d5:
94c67839:
5e66cae5:
e4976d17
Events:
68
Number Major Minor RaidDeviceState
0 8 16 0 activesync /dev/sdb
1 8 32 1 activesync /dev/sdc
4 8 80 2 activesync /dev/sdf
6 8 112 3 activesync /dev/sdh
5 8 96 - spare /dev/sdg
[root@localhostfile]#mdadm/dev/md5-f/dev/sdh 再次破坏/dev/sdh
[root@localhostfile]#mdadm-D /dev/md5
ActiveDevices:
4
WorkingDevices:
4
FailedDevices:
1
Number Major Minor RaidDeviceState
0 8 16 0 activesync /dev/sdb
1 8 32 1 activesync /dev/sdc
4 8 80 2 activesync /dev/sdf
5 8 96 3 activesync /dev/sdg
6 8 112 - faultyspare /dev/sdh
[root@localhostfile]#mdadm/dev/md5-f/dev/sdh
[root@localhostfile]#mdadm-D/dev/md5
/dev/md5:
State:
clean,degraded,recovering
ActiveDevices:
3
WorkingDevices:
4
FailedDevices:
1
SpareDevices:
1
Number Major Minor RaidDeviceState
0 8 16 0 activesync /dev/sdb
1 8 32 1 activesync /dev/sdc
4 8 80 2 activesync /dev/sdf
5 8 96 3 sparerebuilding /dev/sdg
6 8 112 - faultyspare /dev/sdh
【root@localhostfile]#mdadm/dev/md5-f/dev/sdf破坏/sdf盘
ActiveDevices:
2
WorkingDevices:
2
FailedDevices:
3
Number Major Minor RaidDeviceState
0 8 16 0 activesync /dev/sdb
1 8 32 1 activesync /dev/sdc
2 0 0 2 removed
3 0 0 3 removed
4 8 80 - faultyspare /dev/sdf
5 8 96 - faultyspare /dev/sdg
[root@localhost/]#mount-a卸载再挂载
mount:
wrongfstype,badoption,badsuperblockon/dev/md5,
[root@localhost/]#mdadm-S/dev/md5
mdadm:
stopped/dev/md5
[root@localhost/]#mdadm-A /dev/md5
mdadm:
/dev/md5assembledfrom2drives-notenoughtostartthearray.
[root@localhost/]#mdadm-Es/dev/sdb 查看成员设备上的元数据信息
ARRAY/dev/md/5metadata=1.2UUID=e433a3d5:
94c67839:
5e66cae5:
e4976d17name=lvm:
5
[root@localhost/]#mdadm-E/dev/sdb
RaidLevel:
raid5
DeviceRole:
Activedevice0
ArrayState:
AA..('A'==active,'.'==missing)
=========
删除/dev/md5
1.卸载挂载点
[root@localhost/]#umount/dev/sda5
2.[root@localhost/]#mdadm-S停用RAID
3.清空/etc/mdadm.conf文件
4彻底清除/etc/fstab文件的挂载记录
5.清除每块磁盘的元数据
[root@localhost/]#mdadm--zero-superblock/dev/sd[bcdefg]
6.删除/dev/下所对应的raid设备